Skip to content

Commit b0b44b5

Browse files
olivier-stasseOlivier Stasse
authored andcommitted
[cmake] Add target_include_directories.
1 parent d02f514 commit b0b44b5

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

CMakeLists.txt

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
# Copyright 2010, Olivier Stasse, JRL, CNRS/AIST
2-
32
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
43

5-
64
SET(PROJECT_ORG stack-of-tasks)
75
SET(PROJECT_NAME dynamic-graph)
86
SET(PROJECT_DESCRIPTION "Dynamic graph library")
97
SET(PROJECT_URL "http://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
108
SET(PROJECT_SUFFIX "-v3")
119

12-
1310
# Export CMake Target
1411
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
1512
# Make sure that every header is generated in dynamic-graph
1613
SET(CUSTOM_HEADER_DIR ${PROJECT_NAME})
1714

1815
INCLUDE(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
2128
INCLUDE(cmake/header.cmake)
2229
INCLUDE(cmake/boost.cmake)
2330
INCLUDE(cmake/pthread.cmake)
2431
add_project_dependency(Eigen3 REQUIRED NO_MODULE)
2532

26-
SET(CUSTOM_HEADER_DIR "${PROJECT_NAME}")
27-
33+
# Allows math in mathjax.
2834
SET(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.
4652
SET(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)
5763
SEARCH_FOR_BOOST()
5864
SEARCH_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
104111
SET(${PROJECT_NAME}_HEADERS
@@ -157,36 +164,31 @@ SET(PUBLIC_HEADER ${${PROJECT_NAME}_HEADERS})
157164
158165
INSTALL(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.
168175
target_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
177184
SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
178185
179-
180186
IF (UNIX)
181187
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${CMAKE_DL_LIBS} pthread)
182188
ENDIF (UNIX)
183189
184190
TARGET_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

Comments
 (0)