1
1
# Copyright 2010, Olivier Stasse, JRL, CNRS/AIST
2
-
3
2
CMAKE_MINIMUM_REQUIRED (VERSION 2.6 )
4
3
5
-
6
4
SET (PROJECT_ORG stack-of-tasks )
7
5
SET (PROJECT_NAME dynamic-graph )
8
6
SET (PROJECT_DESCRIPTION "Dynamic graph library" )
9
7
SET (PROJECT_URL "http://github.com/${PROJECT_ORG} /${PROJECT_NAME} " )
10
8
SET (PROJECT_SUFFIX "-v3" )
11
9
12
-
13
10
# Export CMake Target
14
11
SET (PROJECT_USE_CMAKE_EXPORT TRUE )
15
12
# Make sure that every header is generated in dynamic-graph
16
13
SET (CUSTOM_HEADER_DIR ${PROJECT_NAME} )
17
14
18
15
INCLUDE (cmake/base.cmake )
19
- PROJECT (${PROJECT_NAME} CXX )
20
16
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
21
28
INCLUDE (cmake/header.cmake )
22
29
INCLUDE (cmake/boost.cmake )
23
30
INCLUDE (cmake/pthread.cmake )
24
31
add_project_dependency (Eigen3 REQUIRED NO_MODULE )
25
32
26
- SET (CUSTOM_HEADER_DIR "${PROJECT_NAME} " )
27
-
33
+ # Allows math in mathjax.
28
34
SET (DOXYGEN_USE_MATHJAX YES )
29
35
30
36
# Defines paths.
@@ -42,7 +48,7 @@ set(PACKAGE_EXTRA_MACROS
42
48
43
49
# Specific to PKG module
44
50
# 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.
46
52
SET (PLUGINDIR "${CMAKE_INSTALL_FULL_LIBDIR} /plugin" )
47
53
48
54
# 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)
57
63
SEARCH_FOR_BOOST ()
58
64
SEARCH_FOR_PTHREAD ()
59
65
#SEARCH_FOR_EIGEN()
66
+ #find_package(catkin
67
+ # REQUIRED COMPONENTS
68
+ # )
60
69
61
- # Copyright 2010, Olivier Stasse, JRL, CNRS/AIST
62
- #
63
70
64
71
####################################
65
72
### Main Library
@@ -98,7 +105,7 @@ ADD_LIBRARY(${LIBRARY_NAME}
98
105
99
106
src/command/value.cpp
100
107
src/command/command.cpp
101
-
108
+
102
109
)
103
110
104
111
SET(${PROJECT_NAME} _HEADERS
@@ -157,36 +164,31 @@ SET(PUBLIC_HEADER ${${PROJECT_NAME}_HEADERS})
157
164
158
165
INSTALL(TARGETS ${PROJECT_NAME}
159
166
EXPORT ${TARGETS_EXPORT_NAME}
160
- PUBLIC_HEADER
167
+ PUBLIC_HEADER
161
168
INCLUDES DESTINATION include
162
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
169
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
163
170
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
164
171
)
165
172
166
173
# We need to include Eigen3 because the CMakeFile at 16.04 LTS
167
174
# is not so modern.
168
175
target_include_directories(${PROJECT_NAME}
169
- PUBLIC
176
+ PUBLIC
177
+ $<BUILD_INTERFACE:${CMAKE_BUILD_DIR} /include>
170
178
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR} /include>
171
179
$<BUILD_INTERFACE:${EIGEN3_INCLUDE_DIR} >
172
- INTERFACE
173
- ${EIGEN3_INCLUDE_DIR}
180
+ INTERFACE ${EIGEN3_INCLUDE_DIR}
174
181
$<INSTALL_INTERFACE:include>
175
182
)
176
183
177
184
SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION} )
178
185
179
-
180
186
IF (UNIX)
181
187
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${CMAKE_DL_LIBS} pthread)
182
188
ENDIF (UNIX)
183
189
184
190
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES} )
185
191
186
- #IF (UNIX AND NOT APPLE)
187
- # TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${JRL_MAL_LDFLAGS_OTHER} )
188
- #ENDIF (UNIX AND NOT APPLE)
189
-
190
192
####################################
191
193
### Plugins
192
194
####################################
0 commit comments