Skip to content

Commit fc54abc

Browse files
authored
Merge pull request #6008 from larshg/updateincludes
Remove global includes and use target include for all "common" modules.
2 parents 727fbe2 + 56487fd commit fc54abc

27 files changed

Lines changed: 45 additions & 73 deletions

File tree

2d/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ set(impl_incs
2929
"include/pcl/${SUBSYS_NAME}/impl/morphology.hpp"
3030
)
3131

32-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
33-
3432
set(LIB_NAME "pcl_${SUBSYS_NAME}")
33+
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME})
3534
PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} HEADER_ONLY)
3635

3736
#Install include files

cmake/pcl_targets.cmake

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -192,32 +192,48 @@ function(PCL_ADD_LIBRARY _name)
192192
message(FATAL_ERROR "PCL_ADD_LIBRARY requires parameter COMPONENT.")
193193
endif()
194194

195-
add_library(${_name} ${PCL_LIB_TYPE} ${ARGS_SOURCES})
196-
PCL_ADD_VERSION_INFO(${_name})
197-
target_compile_features(${_name} PUBLIC ${PCL_CXX_COMPILE_FEATURES})
195+
if(NOT ARGS_SOURCES)
196+
add_library(${_name} INTERFACE)
197+
198+
target_include_directories(${_name} INTERFACE
199+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
200+
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_ROOT}>
201+
)
198202

199-
target_link_libraries(${_name} Threads::Threads)
200-
if(TARGET OpenMP::OpenMP_CXX)
201-
target_link_libraries(${_name} OpenMP::OpenMP_CXX)
202-
endif()
203+
else()
204+
add_library(${_name} ${PCL_LIB_TYPE} ${ARGS_SOURCES})
205+
PCL_ADD_VERSION_INFO(${_name})
206+
target_compile_features(${_name} PUBLIC ${PCL_CXX_COMPILE_FEATURES})
207+
208+
target_include_directories(${_name} PUBLIC
209+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
210+
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_ROOT}>
211+
)
212+
213+
target_link_libraries(${_name} Threads::Threads)
214+
if(TARGET OpenMP::OpenMP_CXX)
215+
target_link_libraries(${_name} OpenMP::OpenMP_CXX)
216+
endif()
203217

204-
if((UNIX AND NOT ANDROID) OR MINGW)
205-
target_link_libraries(${_name} m ${ATOMIC_LIBRARY})
206-
endif()
218+
if((UNIX AND NOT ANDROID) OR MINGW)
219+
target_link_libraries(${_name} m ${ATOMIC_LIBRARY})
220+
endif()
207221

208-
if(MINGW)
209-
target_link_libraries(${_name} gomp)
210-
endif()
222+
if(MINGW)
223+
target_link_libraries(${_name} gomp)
224+
endif()
211225

212-
if(MSVC)
213-
target_link_libraries(${_name} delayimp.lib) # because delay load is enabled for openmp.dll
214-
endif()
226+
if(MSVC)
227+
target_link_libraries(${_name} delayimp.lib) # because delay load is enabled for openmp.dll
228+
endif()
229+
230+
set_target_properties(${_name} PROPERTIES
231+
VERSION ${PCL_VERSION}
232+
SOVERSION ${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}
233+
DEFINE_SYMBOL "PCLAPI_EXPORTS")
215234

216-
set_target_properties(${_name} PROPERTIES
217-
VERSION ${PCL_VERSION}
218-
SOVERSION ${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}
219-
DEFINE_SYMBOL "PCLAPI_EXPORTS")
220-
set_target_properties(${_name} PROPERTIES FOLDER "Libraries")
235+
set_target_properties(${_name} PROPERTIES FOLDER "Libraries")
236+
endif()
221237

222238
install(TARGETS ${_name}
223239
RUNTIME DESTINATION ${BIN_INSTALL_DIR} COMPONENT pcl_${ARGS_COMPONENT}
@@ -257,6 +273,11 @@ function(PCL_CUDA_ADD_LIBRARY _name)
257273

258274
target_compile_options(${_name} PRIVATE $<$<COMPILE_LANGUAGE:CUDA>: ${GEN_CODE} --expt-relaxed-constexpr>)
259275

276+
target_include_directories(${_name} PUBLIC
277+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
278+
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_ROOT}>
279+
)
280+
260281
target_include_directories(${_name} PRIVATE ${CUDA_TOOLKIT_INCLUDE})
261282

262283
if(MSVC)

common/CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,6 @@ set(kissfft_srcs
174174
set(LIB_NAME "pcl_${SUBSYS_NAME}")
175175
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${kissfft_srcs} ${incs} ${common_incs} ${impl_incs} ${tools_incs} ${kissfft_incs} ${common_incs_impl} ${range_image_incs} ${range_image_incs_impl})
176176

177-
target_include_directories(${LIB_NAME} PUBLIC
178-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
179-
$<INSTALL_INTERFACE:include>
180-
)
181-
182177
target_link_libraries(${LIB_NAME} Boost::boost Eigen3::Eigen)
183178

184179
if(MSVC AND NOT (MSVC_VERSION LESS 1915))

features/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ if(NOT build)
1111
return()
1212
endif()
1313

14-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
15-
1614
set(incs
1715
"include/pcl/${SUBSYS_NAME}/boost.h"
1816
"include/pcl/${SUBSYS_NAME}/eigen.h"

filters/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ set(impl_incs
131131
)
132132

133133
set(LIB_NAME "pcl_${SUBSYS_NAME}")
134-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
135134
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs})
136135
target_link_libraries("${LIB_NAME}" pcl_common pcl_sample_consensus pcl_search pcl_kdtree pcl_octree)
137136
PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS})

geometry/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ set(impl_incs
3737

3838

3939
set(LIB_NAME "pcl_${SUBSYS_NAME}")
40-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
41-
42-
add_library(${LIB_NAME} INTERFACE)
43-
target_include_directories(${LIB_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
40+
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME})
4441
target_link_libraries(${LIB_NAME} INTERFACE Boost::boost pcl_common)
4542

4643
PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} HEADER_ONLY)

io/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ if(MINGW)
209209
target_link_libraries(pcl_io_ply ws2_32)
210210
endif()
211211
PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/ply" ${PLY_INCLUDES})
212-
target_include_directories(pcl_io_ply PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
213212
target_link_libraries(pcl_io_ply pcl_common Boost::boost)
214213

215214
set(srcs
@@ -340,8 +339,6 @@ add_definitions(${VTK_DEFINES})
340339

341340
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${compression_incs} ${impl_incs} ${OPENNI_INCLUDES} ${OPENNI2_INCLUDES})
342341

343-
target_include_directories(${LIB_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
344-
345342
target_link_libraries("${LIB_NAME}" Boost::boost Boost::iostreams pcl_common pcl_io_ply)
346343
if(TARGET Boost::filesystem)
347344
target_link_libraries("${LIB_NAME}" Boost::filesystem)

kdtree/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ set(impl_incs
2727
)
2828

2929
set(LIB_NAME "pcl_${SUBSYS_NAME}")
30-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
3130
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs})
3231
target_link_libraries("${LIB_NAME}" pcl_common FLANN::FLANN)
3332
set(EXT_DEPS flann)

keypoints/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ set(impl_incs
5858
)
5959

6060
set(LIB_NAME "pcl_${SUBSYS_NAME}")
61-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
6261
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs})
6362
target_link_libraries("${LIB_NAME}" pcl_features pcl_filters)
6463
PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS})

ml/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ set(srcs
7474
)
7575

7676
set(LIB_NAME "pcl_${SUBSYS_NAME}")
77-
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
7877
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs})
7978
SET_TARGET_PROPERTIES("${LIB_NAME}" PROPERTIES LINKER_LANGUAGE CXX)
8079
target_link_libraries("${LIB_NAME}" pcl_common)

0 commit comments

Comments
 (0)