-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
51 lines (37 loc) · 1.4 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
cmake_minimum_required(VERSION 2.6)
enable_testing()
project(planningToCalibrate CXX C)
# Mac ONLY. Define Relative Path on Mac OS
if(NOT DEFINED CMAKE_MACOSX_RPATH)
set(CMAKE_MACOSX_RPATH 0)
endif()
# Find GTSAM components
find_package(GTSAM REQUIRED) # Uses installed package
include_directories(${GTSAM_INCLUDE_DIR})
link_directories(${GTSAM_LIBRARY_DIRS})
message("GTSAM Libraries: ${GTSAM_LIBRARIES}")
find_package(GTSAMCMakeTools)
include(GtsamMakeConfigFile)
include(GtsamBuildTypes)
include(GtsamTesting)
include(GtsamMatlabWrap)
# for unittest scripts
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${GTSAM_DIR}/../GTSAMCMakeTools")
# Boost
find_package(Boost 1.50 REQUIRED)
find_package(Boost COMPONENTS filesystem system thread serialization REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
# include current source folder, at the very beginning
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
# Include factors
file(GLOB srcs "src/*.cpp" "src/*.h")
include_directories(src)
add_library (planningToCalibrate SHARED ${srcs} ${GTSAM_LIBRARIES})
target_link_libraries(planningToCalibrate ${Boost_LIBRARIES} gtsam)
# Compile wrapper
wrap_and_install_library(planningToCalibrate.h ${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}" "")
# Unit tests
add_subdirectory(tests)
# Install config and export files
#GtsamMakeConfigFile(gpmp2)
#export(TARGETS ${gpmp2_EXPORTED_TARGETS} FILE gpmp2-exports.cmake)