Skip to content
Snippets Groups Projects
Commit 12938474 authored by jlaura's avatar jlaura Committed by Makayla Shepherd
Browse files

Adds travis for linux (#53)

* Adds travis for linux

* Adds libcsm dep.

* Fixes a bad merge on find_path

* adds GTest to the repo for CI

* Removed commented code from tests/CMakeList.txt
parent 1a6af764
No related branches found
No related tags found
No related merge requests found
[submodule "gtest"]
path = gtest
url = git@github.com:google/googletest.git
language: cpp
os: linux
env:
- CSM_LIBRARY_PATH="$HOME/miniconda/lib"
- CSM_INCLUDE_PATH="$HOME/miniconda/include"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
else
curl -o miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh;
fi
- conda install -c usgs-astrogeology libcsm
script:
- CXX=/usr/bin/g++-6 CC=/usr/bin/gcc-6 cmake .
- cmake --build .
cmake_minimum_required(VERSION 3.10)
project(usgscsm VERSION 0.0.1 DESCRIPTION "usgscsm library")
include(cmake/gtest.cmake)
include(GNUInstallDirs)
include(GoogleTest)
set(CMAKE_CXX_STANDARD 11)
include(GNUInstallDirs)
add_library(usgscsm SHARED
src/UsgsAstroFramePlugin.cpp
src/UsgsAstroFrameSensorModel.cpp
......@@ -22,8 +25,8 @@ set_target_properties(usgscsm PROPERTIES
UsgsAstroLsStateData.h
)
find_library(CSM_LIBRARY csmapi REQUIRED)
find_path(CSM_INCLUDE_DIR PATH_SUFFIXES csm NAMES csm.h)
find_library(CSM_LIBRARY csmapi REQUIRED HINTS $ENV{CSM_LIBRARY_PATH})
find_path(CSM_INCLUDE_DIR PATH_SUFFIXES csm NAMES csm.h HINTS $ENV{CSM_INCLUDE_PATH})
target_include_directories(usgscsm
PUBLIC
......@@ -32,12 +35,20 @@ target_include_directories(usgscsm
${CSM_INCLUDE_DIR}
)
target_link_libraries(usgscsm ${CSM_LIBRARY})
# Setup for GoogleTest
find_package (Threads)
target_link_libraries(usgscsm
${CSM_LIBRARY}
gtest ${CMAKE_THREAD_LIBS_INIT})
install(TARGETS usgscsm
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
include(CTest)
enable_testing()
......
set(GOOGLETEST_ROOT gtest/googletest CACHE STRING "Google Test source root")
include_directories(SYSTEM
${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}
${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/include
)
set(GOOGLETEST_SOURCES
${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/src/gtest-all.cc
${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/src/gtest_main.cc
)
foreach(_source ${GOOGLETEST_SOURCES})
set_source_files_properties(${_source} PROPERTIES GENERATED 1)
endforeach()
add_library(gtest ${GOOGLETEST_SOURCES})
\ No newline at end of file
Subproject commit e5e2ef7cd27cc089c1d8302a11970ef870554294
cmake_minimum_required(VERSION 3.10)
# Locate GTest
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
# Link runTests with what we want to test and the GTest and pthread library
add_executable(runTests TestyMcTestFace.cpp)
target_link_libraries(runTests usgscsm ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment