11# Copyright 2010, Olivier Stasse, JRL, CNRS/AIST
2-
32CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
43
5-
64SET (PROJECT_ORG stack-of-tasks)
75SET (PROJECT_NAME dynamic-graph)
86SET (PROJECT_DESCRIPTION "Dynamic graph library" )
97SET (PROJECT_URL "http://github.com/${PROJECT_ORG} /${PROJECT_NAME} " )
108SET (PROJECT_SUFFIX "-v3" )
119
12-
1310# Export CMake Target
1411SET (PROJECT_USE_CMAKE_EXPORT TRUE )
1512# Make sure that every header is generated in dynamic-graph
1613SET (CUSTOM_HEADER_DIR ${PROJECT_NAME} )
1714
1815INCLUDE (cmake/base.cmake)
19- PROJECT (${PROJECT_NAME} CXX)
2016
17+ # Specify the project.
18+ cmake_policy (SET CMP0048 NEW)
19+ PROJECT (${PROJECT_NAME}
20+ LANGUAGES
21+ CXX
22+ VERSION
23+ ${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH}
24+ )
25+
26+
27+ # jrl-cmakemodules handling of usual modules
2128INCLUDE (cmake/header.cmake)
2229INCLUDE (cmake/boost.cmake)
2330INCLUDE (cmake/pthread.cmake)
2431add_project_dependency(Eigen3 REQUIRED NO_MODULE)
2532
26- SET (CUSTOM_HEADER_DIR "${PROJECT_NAME} " )
27-
33+ # Allows math in mathjax.
2834SET (DOXYGEN_USE_MATHJAX YES )
2935
3036# Defines paths.
@@ -42,7 +48,7 @@ set(PACKAGE_EXTRA_MACROS
4248
4349# Specific to PKG module
4450# FIXME: to be changed into lib/dynamic-graph
45- # to avoid name collision when installing dynamic-graph in /usr.
51+ # to avoid name collision whenX installing dynamic-graph in /usr.
4652SET (PLUGINDIR "${CMAKE_INSTALL_FULL_LIBDIR} /plugin" )
4753
4854# Add extra keys to pkg-config file to export the location of the
@@ -57,9 +63,10 @@ SET(BOOST_COMPONENTS serialization system unit_test_framework thread)
5763SEARCH_FOR_BOOST()
5864SEARCH_FOR_PTHREAD()
5965#SEARCH_FOR_EIGEN()
66+ #find_package(catkin
67+ # REQUIRED COMPONENTS
68+ # )
6069
61- # Copyright 2010, Olivier Stasse, JRL, CNRS/AIST
62- #
6370
6471####################################
6572### Main Library
@@ -98,7 +105,7 @@ ADD_LIBRARY(${LIBRARY_NAME}
98105
99106 src/command /value .cpp
100107 src/command /command .cpp
101-
108+
102109 )
103110
104111SET (${PROJECT_NAME} _HEADERS
@@ -157,36 +164,31 @@ SET(PUBLIC_HEADER ${${PROJECT_NAME}_HEADERS})
157164
158165INSTALL (TARGETS ${PROJECT_NAME}
159166 EXPORT ${TARGETS_EXPORT_NAME}
160- PUBLIC_HEADER
167+ PUBLIC_HEADER
161168 INCLUDES DESTINATION include
162- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
169+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
163170 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
164171 )
165172
166173# We need to include Eigen3 because the CMakeFile at 16.04 LTS
167174# is not so modern.
168175target_include_directories (${PROJECT_NAME}
169- PUBLIC
176+ PUBLIC
177+ $<BUILD_INTERFACE:${CMAKE_BUILD_DIR} /include >
170178 $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR} /include >
171179 $<BUILD_INTERFACE:${EIGEN3_INCLUDE_DIR} >
172- INTERFACE
173- ${EIGEN3_INCLUDE_DIR}
180+ INTERFACE ${EIGEN3_INCLUDE_DIR}
174181 $<INSTALL_INTERFACE:include >
175182 )
176183
177184SET_TARGET_PROPERTIES (${LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION} )
178185
179-
180186IF (UNIX )
181187 TARGET_LINK_LIBRARIES (${LIBRARY_NAME} ${CMAKE_DL_LIBS} pthread)
182188ENDIF (UNIX )
183189
184190TARGET_LINK_LIBRARIES (${LIBRARY_NAME} ${Boost_LIBRARIES} )
185191
186- #IF (UNIX AND NOT APPLE)
187- # TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${JRL_MAL_LDFLAGS_OTHER})
188- #ENDIF (UNIX AND NOT APPLE)
189-
190192####################################
191193### Plugins
192194####################################
0 commit comments