Skip to content

Commit c509b2b

Browse files
larshgemilieharschweitzer
authored
Enhance finding of qhull (#4923)
* Update how Qhull is found and used. Co-authored-by: Emilie Wernert <emilie.harquel@ihu-strasbourg.eu> Co-authored-by: Marc Schweitzer <marc.schweitzer@ircad.fr>
1 parent 9e57621 commit c509b2b

File tree

10 files changed

+173
-73
lines changed

10 files changed

+173
-73
lines changed

CMakeLists.txt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -351,12 +351,9 @@ endif()
351351
# Qhull
352352
option(WITH_QHULL "Include convex-hull operations" TRUE)
353353
if(WITH_QHULL)
354-
if(NOT PCL_SHARED_LIBS OR ((WIN32 AND NOT MINGW) AND NOT PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32))
355-
set(QHULL_USE_STATIC ON)
356-
endif()
357354
find_package(Qhull)
358-
if(QHULL_FOUND)
359-
include_directories(SYSTEM ${QHULL_INCLUDE_DIRS})
355+
if(NOT (${QHULL_LIBRARY_TYPE} MATCHES ${PCL_QHULL_REQUIRED_TYPE}) AND NOT (${PCL_QHULL_REQUIRED_TYPE} MATCHES "DONTCARE"))
356+
message(FATAL_ERROR "Qhull was selected with ${PCL_QHULL_REQUIRED_TYPE} but found as ${QHULL_LIBRARY_TYPE}")
360357
endif()
361358
endif()
362359

PCLConfig.cmake.in

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ macro(find_external_library _component _lib _is_optional)
318318
list(APPEND PCL_${COMPONENT}_LIBRARY_DIRS "${${LIB}_LIBRARY_DIRS}")
319319
endif()
320320
if(${LIB}_LIBRARIES)
321-
list(APPEND PCL_${COMPONENT}_LIBRARIES "${${LIB}_LIBRARIES}")
321+
list(APPEND PCL_${COMPONENT}_LINK_LIBRARIES "${${LIB}_LIBRARIES}")
322322
endif()
323323
if(${LIB}_DEFINITIONS AND NOT ${LIB} STREQUAL "VTK")
324324
list(APPEND PCL_${COMPONENT}_DEFINITIONS ${${LIB}_DEFINITIONS})
@@ -666,10 +666,14 @@ endif()
666666
pcl_remove_duplicate_libraries(PCL_COMPONENTS PCL_LIBRARIES)
667667

668668
# Add 3rd party libraries, as user code might include our .HPP implementations
669-
list(APPEND PCL_LIBRARIES ${BOOST_LIBRARIES} ${QHULL_LIBRARIES} ${OPENNI_LIBRARIES} ${OPENNI2_LIBRARIES} ${ENSENSO_LIBRARIES} ${davidSDK_LIBRARIES} ${DSSDK_LIBRARIES} ${RSSDK_LIBRARIES} ${RSSDK2_LIBRARIES} ${VTK_LIBRARIES})
669+
list(APPEND PCL_LIBRARIES ${BOOST_LIBRARIES} ${OPENNI_LIBRARIES} ${OPENNI2_LIBRARIES} ${ENSENSO_LIBRARIES} ${davidSDK_LIBRARIES} ${DSSDK_LIBRARIES} ${RSSDK_LIBRARIES} ${RSSDK2_LIBRARIES} ${VTK_LIBRARIES})
670670
if (TARGET FLANN::FLANN)
671671
list(APPEND PCL_LIBRARIES FLANN::FLANN)
672672
endif()
673673

674+
if(TARGET QHULL::QHULL)
675+
list(APPEND PCL_LIBRARIES QHULL::QHULL)
676+
endif()
677+
674678
find_package_handle_standard_args(PCL DEFAULT_MSG PCL_LIBRARIES PCL_INCLUDE_DIRS)
675679
mark_as_advanced(PCL_LIBRARIES PCL_INCLUDE_DIRS PCL_LIBRARY_DIRS)

cmake/Modules/FindQhull.cmake

100644100755
Lines changed: 139 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,182 @@
1-
###############################################################################
2-
# Find QHULL
1+
#.rst:
2+
# FindQhull
3+
# --------
4+
#
5+
# Try to find QHULL library and headers. This module supports both old released versions
6+
# of QHULL ≤ 7.3.2 and newer development versions that ship with a modern config file,
7+
# but its limited to only the reentrant version of Qhull.
8+
#
9+
# PCL_QHULL_REQUIRED_TYPE can be used to select if you want static or shared libraries, but it defaults to "don't care".
10+
#
11+
# IMPORTED Targets
12+
# ^^^^^^^^^^^^^^^^
13+
#
14+
# This module defines the :prop_tgt:`IMPORTED` targets:
15+
#
16+
# ``QHULL::QHULL``
17+
# Defined if the system has QHULL.
18+
#
19+
# Result Variables
20+
# ^^^^^^^^^^^^^^^^
21+
#
22+
# This module sets the following variables:
23+
#
24+
# ::
25+
#
26+
# QHULL_FOUND True in case QHULL is found, otherwise false
27+
#
28+
# Example usage
29+
# ^^^^^^^^^^^^^
30+
#
31+
# ::
32+
#
33+
# find_package(QHULL REQUIRED)
34+
#
35+
# add_executable(foo foo.cc)
36+
# target_link_libraries(foo QHULL::QHULL)
337
#
4-
# This sets the following variables:
5-
# QHULL_FOUND - True if QHULL was found.
6-
# QHULL_INCLUDE_DIRS - Directories containing the QHULL include files.
7-
# QHULL_LIBRARIES - Libraries needed to use QHULL.
8-
# QHULL_DEFINITIONS - Compiler flags for QHULL.
9-
# If QHULL_USE_STATIC is specified then look for static libraries ONLY else
10-
# look for shared ones
1138

12-
if(QHULL_USE_STATIC)
13-
set(QHULL_RELEASE_NAME qhullstatic_r)
14-
set(QHULL_DEBUG_NAME qhullstatic_rd)
15-
else()
16-
set(QHULL_RELEASE_NAME qhull_r qhull)
17-
set(QHULL_DEBUG_NAME qhull_rd qhull_d)
39+
# Skip if QHULL::QHULL is already defined
40+
if(TARGET QHULL::QHULL)
41+
return()
42+
endif()
43+
44+
# Try to locate QHull using modern cmake config (available on latest Qhull version).
45+
find_package(Qhull CONFIG QUIET)
46+
47+
if(Qhull_FOUND)
48+
unset(Qhull_FOUND)
49+
set(QHULL_FOUND ON)
50+
set(HAVE_QHULL ON)
51+
52+
message(STATUS "Found Qhull version ${Qhull_VERSION}")
53+
54+
# Create interface library that effectively becomes an alias for the appropriate (static/dynamic) imported QHULL target
55+
add_library(QHULL::QHULL INTERFACE IMPORTED)
56+
57+
if(TARGET Qhull::qhull_r AND TARGET Qhull::qhullstatic_r)
58+
if(PCL_QHULL_REQUIRED_TYPE MATCHES "DONTCARE")
59+
if(PCL_SHARED_LIBS)
60+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhull_r)
61+
set(QHULL_LIBRARY_TYPE SHARED)
62+
else()
63+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhullstatic_r)
64+
set(QHULL_LIBRARY_TYPE STATIC)
65+
endif()
66+
elseif(PCL_QHULL_REQUIRED_TYPE MATCHES "SHARED")
67+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhull_r)
68+
set(QHULL_LIBRARY_TYPE SHARED)
69+
else()
70+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhullstatic_r)
71+
set(QHULL_LIBRARY_TYPE STATIC)
72+
endif()
73+
elseif(TARGET Qhull::qhullstatic_r)
74+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhullstatic_r)
75+
set(QHULL_LIBRARY_TYPE STATIC)
76+
else()
77+
set_property(TARGET QHULL::QHULL APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qhull::qhull_r)
78+
set(QHULL_LIBRARY_TYPE SHARED)
79+
endif()
80+
81+
return()
1882
endif()
1983

2084
find_file(QHULL_HEADER
21-
NAMES libqhull/libqhull.h qhull.h
85+
NAMES libqhull_r.h
2286
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" "${QHULL_INCLUDE_DIR}"
2387
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
24-
PATH_SUFFIXES qhull src/libqhull libqhull include)
88+
PATH_SUFFIXES qhull_r src/libqhull_r libqhull_r include)
2589

2690
set(QHULL_HEADER "${QHULL_HEADER}" CACHE INTERNAL "QHull header" FORCE )
2791

2892
if(QHULL_HEADER)
2993
get_filename_component(qhull_header ${QHULL_HEADER} NAME_WE)
30-
if("${qhull_header}" STREQUAL "qhull")
94+
if("${qhull_header}" STREQUAL "qhull_r")
3195
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH)
32-
elseif("${qhull_header}" STREQUAL "libqhull")
96+
elseif("${qhull_header}" STREQUAL "libqhull_r")
3397
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH)
3498
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_INCLUDE_DIR} PATH)
3599
endif()
36100
else()
37101
set(QHULL_INCLUDE_DIR "QHULL_INCLUDE_DIR-NOTFOUND")
38102
endif()
39103

40-
find_library(QHULL_LIBRARY
41-
NAMES ${QHULL_RELEASE_NAME}
104+
find_library(QHULL_LIBRARY_SHARED
105+
NAMES qhull_r qhull
42106
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
43107
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
44108
PATH_SUFFIXES project build bin lib)
45109

46-
get_filename_component(QHULL_LIBRARY_NAME "${QHULL_LIBRARY}" NAME)
47-
48110
find_library(QHULL_LIBRARY_DEBUG
49-
NAMES ${QHULL_DEBUG_NAME} ${QHULL_RELEASE_NAME}
111+
NAMES qhull_rd qhull_d
50112
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
51113
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
52114
PATH_SUFFIXES project build bin lib debug/lib)
53115

54-
if(NOT QHULL_LIBRARY_DEBUG)
55-
set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY})
56-
endif()
57-
58-
get_filename_component(QHULL_LIBRARY_DEBUG_NAME "${QHULL_LIBRARY_DEBUG}" NAME)
59-
60-
if(QHULL_INCLUDE_DIR AND QHULL_LIBRARY)
61-
62-
# Include directories
63-
set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR})
64-
unset(QHULL_INCLUDE_DIR)
65-
mark_as_advanced(QHULL_INCLUDE_DIRS)
116+
find_library(QHULL_LIBRARY_STATIC
117+
NAMES qhullstatic_r
118+
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
119+
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
120+
PATH_SUFFIXES project build bin lib)
66121

67-
# Libraries
68-
set(QHULL_LIBRARIES optimized ${QHULL_LIBRARY} debug ${QHULL_LIBRARY_DEBUG})
69-
unset(QHULL_LIBRARY)
70-
unset(QHULL_LIBRARY_DEBUG)
71-
mark_as_advanced(QHULL_LIBRARIES)
122+
find_library(QHULL_LIBRARY_DEBUG_STATIC
123+
NAMES qhullstatic_rd
124+
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
125+
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
126+
PATH_SUFFIXES project build bin lib debug/lib)
72127

128+
if(QHULL_LIBRARY_SHARED AND QHULL_LIBRARY_STATIC)
129+
if(PCL_QHULL_REQUIRED_TYPE MATCHES "DONTCARE")
130+
if(PCL_SHARED_LIBS)
131+
set(QHULL_LIBRARY_TYPE SHARED)
132+
set(QHULL_LIBRARY ${QHULL_LIBRARY_SHARED})
133+
else()
134+
set(QHULL_LIBRARY_TYPE STATIC)
135+
set(QHULL_LIBRARY ${QHULL_LIBRARY_STATIC})
136+
endif()
137+
elseif(PCL_QHULL_REQUIRED_TYPE MATCHES "SHARED")
138+
set(QHULL_LIBRARY_TYPE SHARED)
139+
set(QHULL_LIBRARY ${QHULL_LIBRARY_SHARED})
140+
else()
141+
set(QHULL_LIBRARY_TYPE STATIC)
142+
set(QHULL_LIBRARY ${QHULL_LIBRARY_STATIC})
143+
endif()
144+
elseif(QHULL_LIBRARY_STATIC)
145+
set(QHULL_LIBRARY_TYPE STATIC)
146+
set(QHULL_LIBRARY ${QHULL_LIBRARY_STATIC})
147+
elseif(QHULL_LIBRARY_SHARED)
148+
set(QHULL_LIBRARY_TYPE SHARED)
149+
set(QHULL_LIBRARY ${QHULL_LIBRARY_SHARED})
73150
endif()
74151

75152
include(FindPackageHandleStandardArgs)
76153
find_package_handle_standard_args(Qhull
77154
FOUND_VAR QHULL_FOUND
78-
REQUIRED_VARS QHULL_LIBRARIES QHULL_INCLUDE_DIRS
155+
REQUIRED_VARS QHULL_LIBRARY QHULL_INCLUDE_DIR
79156
)
80157

81158
if(QHULL_FOUND)
82159
set(HAVE_QHULL ON)
83-
if(NOT QHULL_USE_STATIC)
84-
add_definitions("-Dqh_QHpointer")
85-
if(MSVC)
86-
add_definitions("-Dqh_QHpointer_dllimport")
160+
add_library(QHULL::QHULL ${QHULL_LIBRARY_TYPE} IMPORTED)
161+
set_target_properties(QHULL::QHULL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${QHULL_INCLUDE_DIR}")
162+
set_property(TARGET QHULL::QHULL APPEND PROPERTY IMPORTED_CONFIGURATIONS "RELEASE")
163+
set_target_properties(QHULL::QHULL PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
164+
set_target_properties(QHULL::QHULL PROPERTIES INTERFACE_COMPILE_DEFINITIONS "qh_QHpointer")
165+
if(MSVC)
166+
set_target_properties(QHULL::QHULL PROPERTIES INTERFACE_COMPILE_DEFINITIONS "qh_QHpointer_dllimport")
167+
endif()
168+
if(WIN32 AND NOT (PCL_QHULL_REQUIRED_TYPE MATCHES "STATIC"))
169+
set_target_properties(QHULL::QHULL PROPERTIES IMPORTED_IMPLIB_RELEASE "${QHULL_LIBRARY}")
170+
else()
171+
set_target_properties(QHULL::QHULL PROPERTIES IMPORTED_LOCATION_RELEASE "${QHULL_LIBRARY}")
172+
endif()
173+
if(QHULL_LIBRARY_DEBUG)
174+
set_property(TARGET QHULL::QHULL APPEND PROPERTY IMPORTED_CONFIGURATIONS "DEBUG")
175+
if(WIN32 AND NOT (PCL_QHULL_REQUIRED_TYPE MATCHES "STATIC"))
176+
set_target_properties(QHULL::QHULL PROPERTIES IMPORTED_IMPLIB_DEBUG "${QHULL_LIBRARY_DEBUG}")
177+
else()
178+
set_target_properties(QHULL::QHULL PROPERTIES IMPORTED_LOCATION_DEBUG "${QHULL_LIBRARY_DEBUG}")
87179
endif()
88180
endif()
89-
message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIRS}, lib: ${QHULL_LIBRARIES})")
181+
message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIR}, lib: ${QHULL_LIBRARY})")
90182
endif()

cmake/pcl_options.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ option(PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32 "Build against a dynamically l
3636
mark_as_advanced(PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32)
3737

3838
# Build with shared/static linking for FLANN (advanced users)
39-
set(PCL_FLANN_REQUIRED_TYPE "DONTCARE" CACHE STRING "Select build type to use (STATIC/SHARED).")
39+
set(PCL_FLANN_REQUIRED_TYPE "DONTCARE" CACHE STRING "Select build type to use STATIC or SHARED.")
4040
set_property(CACHE PCL_FLANN_REQUIRED_TYPE PROPERTY STRINGS DONTCARE SHARED STATIC)
41-
42-
mark_as_advanced(PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32)
41+
mark_as_advanced(PCL_FLANN_REQUIRED_TYPE)
4342

4443
# Build with dynamic linking for QHull (advanced users)
45-
option(PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 "Build against a dynamically linked QHull on Win32 platforms." OFF)
46-
mark_as_advanced(PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32)
44+
set(PCL_QHULL_REQUIRED_TYPE "DONTCARE" CACHE STRING "Select build type to use STATIC or SHARED.")
45+
set_property(CACHE PCL_QHULL_REQUIRED_TYPE PROPERTY STRINGS DONTCARE SHARED STATIC)
46+
mark_as_advanced(PCL_QHULL_REQUIRED_TYPE)
4747

4848
# Precompile for a minimal set of point types instead of all.
4949
option(PCL_ONLY_CORE_POINT_TYPES "Compile explicitly only for a small subset of point types (e.g., pcl::PointXYZ instead of PCL_XYZ_POINT_TYPES)." OFF)

common/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ set(LIB_NAME "pcl_${SUBSYS_NAME}")
175175
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
176176
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})
177177

178+
target_link_libraries(${LIB_NAME} Boost::boost)
179+
178180
if(MSVC AND NOT (MSVC_VERSION LESS 1915))
179181
# MSVC resolved a byte alignment issue in compiler version 15.9
180182
# We get this due to using Eigen objects and allocating those objects with make_shared

geometry/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ set(impl_incs
3939

4040
set(LIB_NAME "pcl_${SUBSYS_NAME}")
4141
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
42+
43+
add_library(${LIB_NAME} INTERFACE)
44+
target_include_directories(${LIB_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
45+
target_link_libraries(${LIB_NAME} INTERFACE Boost::boost pcl_common)
46+
4247
PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} HEADER_ONLY)
4348

4449
# Install include files

surface/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ if(VTK_FOUND)
193193
endif()
194194

195195
if(QHULL_FOUND)
196-
target_link_libraries("${LIB_NAME}" ${QHULL_LIBRARIES})
196+
target_link_libraries("${LIB_NAME}" QHULL::QHULL)
197197
endif()
198198

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

test/common/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ endif()
1515
# Args: name, executable_name
1616
PCL_ADD_TEST(common_test_wrappers test_wrappers FILES test_wrappers.cpp LINK_WITH pcl_gtest pcl_common)
1717
PCL_ADD_TEST(common_test_macros test_macros FILES test_macros.cpp LINK_WITH pcl_gtest pcl_common)
18-
PCL_ADD_TEST(common_vector_average test_vector_average FILES test_vector_average.cpp LINK_WITH pcl_gtest)
18+
PCL_ADD_TEST(common_vector_average test_vector_average FILES test_vector_average.cpp LINK_WITH pcl_gtest pcl_common)
1919
PCL_ADD_TEST(common_common test_common FILES test_common.cpp LINK_WITH pcl_gtest pcl_common)
2020
PCL_ADD_TEST(common_pointcloud test_pointcloud FILES test_pointcloud.cpp LINK_WITH pcl_gtest pcl_common)
2121
PCL_ADD_TEST(common_parse test_parse FILES test_parse.cpp LINK_WITH pcl_gtest pcl_common)

test/geometry/CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,45 +13,45 @@ endif()
1313

1414
PCL_ADD_TEST(geometry_iterator test_iterator
1515
FILES test_iterator.cpp
16-
LINK_WITH pcl_gtest pcl_common)
16+
LINK_WITH pcl_gtest pcl_geometry)
1717

1818
PCL_ADD_TEST(geometry_mesh_circulators test_mesh_circulators
1919
FILES test_mesh_circulators.cpp
20-
LINK_WITH pcl_gtest)
20+
LINK_WITH pcl_gtest pcl_geometry)
2121

2222
PCL_ADD_TEST(geometry_mesh_conversion test_mesh_conversion
2323
FILES test_mesh_conversion.cpp
24-
LINK_WITH pcl_gtest pcl_common)
24+
LINK_WITH pcl_gtest pcl_geometry)
2525

2626
PCL_ADD_TEST(geometry_mesh_data test_mesh_data
2727
FILES test_mesh_data.cpp
28-
LINK_WITH pcl_gtest)
28+
LINK_WITH pcl_gtest pcl_geometry)
2929

3030
PCL_ADD_TEST(geometry_mesh_get_boundary test_mesh_get_boundary
3131
FILES test_mesh_get_boundary.cpp
32-
LINK_WITH pcl_gtest)
32+
LINK_WITH pcl_gtest pcl_geometry)
3333

3434
PCL_ADD_TEST(geometry_mesh_indices test_mesh_indices
3535
FILES test_mesh_indices.cpp
36-
LINK_WITH pcl_gtest)
36+
LINK_WITH pcl_gtest pcl_geometry)
3737

3838
add_definitions(-DPCL_TEST_GEOMETRY_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}")
3939
PCL_ADD_TEST(geometry_mesh_io test_mesh_io
4040
FILES test_mesh_io.cpp
41-
LINK_WITH pcl_gtest)
41+
LINK_WITH pcl_gtest pcl_geometry)
4242

4343
PCL_ADD_TEST(geometry_mesh test_mesh
4444
FILES test_mesh.cpp test_mesh_common_functions.h
45-
LINK_WITH pcl_gtest)
45+
LINK_WITH pcl_gtest pcl_geometry)
4646

4747
PCL_ADD_TEST(geometry_polygon_mesh test_polygon_mesh
4848
FILES test_polygon_mesh.cpp
49-
LINK_WITH pcl_gtest)
49+
LINK_WITH pcl_gtest pcl_geometry)
5050

5151
PCL_ADD_TEST(geometry_quad_mesh test_quad_mesh
5252
FILES test_quad_mesh.cpp
53-
LINK_WITH pcl_gtest)
53+
LINK_WITH pcl_gtest pcl_geometry)
5454

5555
PCL_ADD_TEST(geometry_triangle_mesh test_triangle_mesh
5656
FILES test_triangle_mesh.cpp
57-
LINK_WITH pcl_gtest)
57+
LINK_WITH pcl_gtest pcl_geometry)

test/segmentation/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ endif()
1414

1515
PCL_ADD_TEST(random_walker test_random_walker
1616
FILES test_random_walker.cpp
17-
LINK_WITH pcl_gtest
17+
LINK_WITH pcl_gtest pcl_segmentation
1818
ARGUMENTS "${PCL_SOURCE_DIR}/test/segmentation/data")
1919

2020
PCL_ADD_TEST(a_segmentation_test test_segmentation

0 commit comments

Comments
 (0)