-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
56 lines (42 loc) · 1.69 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
51
52
53
54
55
56
project(EigenLgsm)
cmake_minimum_required(VERSION 2.8)
set(${PROJECT_NAME}_MAJOR_VERSION 3)
set(${PROJECT_NAME}_MINOR_VERSION 2)
set(${PROJECT_NAME}_PATCH_VERSION 0)
set(${PROJECT_NAME}_VERSION
${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}.${${PROJECT_NAME}_PATCH_VERSION})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
option(BUILD_TESTS "Build tests"
false)
if(BUILD_TESTS)
add_subdirectory(test)
endif()
include(CMakePackageConfigHelpers)
export(PACKAGE ${PROJECT_NAME})
set(INCLUDE_INSTALL_DIR "include/eigen_lgsm")
set(CMAKE_CONFIG_DEST "share/cmake/${PROJECT_NAME}")
# Needs INCLUDE_INSTALL_DIR
add_subdirectory(unsupported)
include(CMakePackageConfigHelpers)
configure_package_config_file(
${CMAKE_SOURCE_DIR}/EigenLgsmConfig.cmake.in
${CMAKE_BINARY_DIR}/EigenLgsmConfig.cmake
INSTALL_DESTINATION ${CMAKE_CONFIG_DEST}
PATH_VARS INCLUDE_INSTALL_DIR CMAKE_CONFIG_DEST)
configure_file(EigenLgsmConfigVersion.cmake.in
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @ONLY)
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION ${CMAKE_CONFIG_DEST})
# add a target to generate API documentation with Doxygen
if(GENERATE_DOCUMENTATION)
find_package(Doxygen REQUIRED)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(
doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(GENERATE_DOCUMENTATION)