diff --git a/CMakeLists.txt b/CMakeLists.txt index 9addae60ce0d06a7bf154b7632bb26977b6875e6..04667dc9f8ed0707cfabe7f8420a6a47a00f76d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,11 @@ set(PROJECT_NAME hpp-fcl) set(PROJECT_DESCRIPTION "HPP fork of FCL -- The Flexible Collision Library" ) +SET(PROJECT_USE_CMAKE_EXPORT TRUE) + +# Do not support CMake older than 2.8.12 +CMAKE_POLICY(SET CMP0022 NEW) +SET(PROJECT_USE_KEYWORD_LINK_LIBRARIES TRUE) include(cmake/eigen.cmake) include(cmake/boost.cmake) @@ -73,16 +78,11 @@ search_for_boost() # Optional dependencies add_optional_dependency("octomap >= 1.6") if (OCTOMAP_FOUND) - link_directories(${OCTOMAP_LIBRARY_DIRS}) SET(HPP_FCL_HAVE_OCTOMAP TRUE) - add_definitions (-DHPP_FCL_HAVE_OCTOMAP) string(REPLACE "." ";" VERSION_LIST ${OCTOMAP_VERSION}) list(GET VERSION_LIST 0 OCTOMAP_MAJOR_VERSION) list(GET VERSION_LIST 1 OCTOMAP_MINOR_VERSION) list(GET VERSION_LIST 2 OCTOMAP_PATCH_VERSION) - add_definitions (-DOCTOMAP_MAJOR_VERSION=${OCTOMAP_MAJOR_VERSION} - -DOCTOMAP_MINOR_VERSION=${OCTOMAP_MINOR_VERSION} - -DOCTOMAP_PATCH_VERSION=${OCTOMAP_PATCH_VERSION}) message(STATUS "FCL uses Octomap") else() SET(HPP_FCL_HAVE_OCTOMAP FALSE) diff --git a/cmake b/cmake index 0bb61257d937d82593e372844c1013c2866562d5..8e87406799ea10cfeb90a56f84f3e1ef9c049753 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 0bb61257d937d82593e372844c1013c2866562d5 +Subproject commit 8e87406799ea10cfeb90a56f84f3e1ef9c049753 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 498332f12109bae7402d0a701a0ae25fc346f7c3..cbf9dd398ad5f98cce8adaaade82b72075501ae3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -93,7 +93,6 @@ TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES}) target_include_directories(${LIBRARY_NAME} SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} - $<$<BOOL:${HPP_FCL_HAVE_OCTOMAP}>:${OCTOMAP_INCLUDE_DIRS}> ) PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} assimp) @@ -105,6 +104,15 @@ else() endif() IF(OCTOMAP_FOUND) PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} octomap) + target_compile_definitions (${LIBRARY_NAME} PUBLIC + -DHPP_FCL_HAVE_OCTOMAP + -DOCTOMAP_MAJOR_VERSION=${OCTOMAP_MAJOR_VERSION} + -DOCTOMAP_MINOR_VERSION=${OCTOMAP_MINOR_VERSION} + -DOCTOMAP_PATCH_VERSION=${OCTOMAP_PATCH_VERSION}) ENDIF(OCTOMAP_FOUND) -install(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +target_include_directories(${LIBRARY_NAME} PUBLIC + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) +install(TARGETS ${LIBRARY_NAME} + EXPORT ${TARGETS_EXPORT_NAME} + DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 11618f7261a3547f77b7e228614dda392846547c..b9308e3bbba1f72dfc4c3066cb5f6d953d414bb9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -21,12 +21,12 @@ endmacro(add_fcl_test) include_directories(${CMAKE_CURRENT_BINARY_DIR}) -add_library(utility STATIC utility.cpp) -target_include_directories(utility SYSTEM PUBLIC - ${EIGEN3_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - $<$<BOOL:${HPP_FCL_HAVE_OCTOMAP}>:${OCTOMAP_INCLUDE_DIRS}> - ) +IF(RUN_TESTS) + add_library(utility STATIC utility.cpp) +ELSE() + add_library(utility STATIC EXCLUDE_FROM_ALL utility.cpp) +ENDIF() +target_link_libraries(utility hpp-fcl) add_fcl_test(math math.cpp)