diff --git a/cmake/pcl_find_boost.cmake b/cmake/pcl_find_boost.cmake index 908e7d0e45c..4ff4a79ad24 100644 --- a/cmake/pcl_find_boost.cmake +++ b/cmake/pcl_find_boost.cmake @@ -5,7 +5,14 @@ if(NOT PCL_SHARED_LIBS) endif(NOT PCL_SHARED_LIBS) find_package(Boost 1.44.0 COMPONENTS system filesystem thread) -# TODO: What should the minimum version number be? + include_directories(${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS}) +foreach(boost_component ${Boost_LIBRARIES}) + string(REGEX MATCH "boost_.*" component "${boost_component}") + if(NOT "${component}" EQUAL "") + string(REGEX REPLACE "(boost_.*)\\..*" "\\1" component "${component}") + list(APPEND boost_components ${component}) + endif(NOT "${component}" EQUAL "") +endforeach(boost_component) diff --git a/features/CMakeLists.txt b/features/CMakeLists.txt index 772a190b1ad..55c9a85f8e5 100644 --- a/features/CMakeLists.txt +++ b/features/CMakeLists.txt @@ -34,6 +34,7 @@ if(build) PCL_ADD_OPENMP_FLAGS(${LIB_NAME}) target_link_libraries(${LIB_NAME} pcl_range_image ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") + list(APPEND EXT_DEPS ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/filters/CMakeLists.txt b/filters/CMakeLists.txt index a87f6318481..7f283c07a3f 100644 --- a/filters/CMakeLists.txt +++ b/filters/CMakeLists.txt @@ -24,6 +24,7 @@ if(build) target_link_libraries(${LIB_NAME} pcl_common pcl_sample_consensus pcl_kdtree ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") + list(APPEND EXT_DEPS ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/io/CMakeLists.txt b/io/CMakeLists.txt index ee2dac73514..cd19b77d680 100644 --- a/io/CMakeLists.txt +++ b/io/CMakeLists.txt @@ -48,7 +48,7 @@ if(build) target_link_libraries(${LIB_NAME} ${OPENNI_LIBRARIES}) endif(OPENNI_FOUND) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") - list(APPEND EXT_DEPS ${Boost_FILESYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY}) + list(APPEND EXT_DEPS boost_filesystem boost_thread) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/kdtree/CMakeLists.txt b/kdtree/CMakeLists.txt index 03892e12cdb..73c0a6e5e5b 100644 --- a/kdtree/CMakeLists.txt +++ b/kdtree/CMakeLists.txt @@ -18,7 +18,7 @@ if(build) PCL_ADD_SSE_FLAGS(${LIB_NAME}) target_link_libraries(${LIB_NAME} ${FLANN_LIBRARIES} ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") - list(APPEND EXT_DEPS flann ${Boost_LIBRARIES}) + list(APPEND EXT_DEPS flann ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/registration/CMakeLists.txt b/registration/CMakeLists.txt index 31d9d2ff01c..066b41d921a 100644 --- a/registration/CMakeLists.txt +++ b/registration/CMakeLists.txt @@ -16,6 +16,7 @@ if(build) target_link_libraries(${LIB_NAME} pcl_kdtree pcl_sample_consensus ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") + list(APPEND EXT_DEPS ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/sample_consensus/CMakeLists.txt b/sample_consensus/CMakeLists.txt index dae59476476..929494513af 100644 --- a/sample_consensus/CMakeLists.txt +++ b/sample_consensus/CMakeLists.txt @@ -33,7 +33,7 @@ if(build) PCL_ADD_SSE_FLAGS(${LIB_NAME}) target_link_libraries(${LIB_NAME} ${Boost_LIBRARIES} ${CMINPACK_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") - list(APPEND EXT_DEPS ${Boost_LIBRARIES} cminpack) + list(APPEND EXT_DEPS ${boost_components} cminpack) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/segmentation/CMakeLists.txt b/segmentation/CMakeLists.txt index 95d936d0c66..0e0d32f74a6 100644 --- a/segmentation/CMakeLists.txt +++ b/segmentation/CMakeLists.txt @@ -20,6 +20,7 @@ if(build) target_link_libraries(${LIB_NAME} pcl_kdtree pcl_sample_consensus ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") + list(APPEND EXT_DEPS ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/surface/CMakeLists.txt b/surface/CMakeLists.txt index b68ec36b927..8b18bf880dc 100644 --- a/surface/CMakeLists.txt +++ b/surface/CMakeLists.txt @@ -24,6 +24,7 @@ if(build) PCL_ADD_SSE_FLAGS(${LIB_NAME}) target_link_libraries(${LIB_NAME} ${QHULL_LIBRARIES} ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") + list(APPEND EXT_DEPS qhull ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "") diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index 969b343f6af..7a8588e5488 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -45,8 +45,15 @@ if(build) target_link_libraries(${LIB_NAME} ${wxWidgets_LIBRARIES} vtkCommon vtkWidgets vtkHybrid ${Boost_LIBRARIES}) PREFIX_LIST(EXT_DEPS pcl_ "${SUBSYS_DEPS}") - list(APPEND EXT_DEPS ${wxWidgets_LIBRARIES} vtkCommon vtkWidgets - vtkHybrid ${Boost_LIBRARIES}) + foreach(wx_component ${wxWidgets_LIBRARIES}) + string(REGEX MATCH "wx.*" component "${wx_component}") + if(NOT "${component}" EQUAL "") + string(REGEX REPLACE "(wx.*)-[0-9\\.]+" "\\1" component "${component}") + list(APPEND wx_components ${component}) + endif(NOT "${component}" EQUAL "") + endforeach(wx_component) + list(APPEND EXT_DEPS ${wx_components} vtkCommon vtkWidgets + vtkHybrid ${boost_components}) PCL_MAKE_PKGCONFIG(${LIB_NAME} ${SUBSYS_NAME} "${SUBSYS_DESC}" "${EXT_DEPS}" "" "" "")