Skip to content

Commit 427afb1

Browse files
committed
avoid GLOB_RECURSE in CMakeLists
- glog with CONFIGURE_DEPENDS is not recommended since proper support is not guaranteed for all generators - performance can be really awful depending on OS (Windows for example) or hardware - all globs are evaluated again for each rebuild of any target
1 parent df2702c commit 427afb1

File tree

2 files changed

+456
-40
lines changed

2 files changed

+456
-40
lines changed

include/fcl/CMakeLists.txt

Lines changed: 342 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -39,40 +39,326 @@ generate_export_header(${PROJECT_NAME}
3939
EXPORT_FILE_NAME export.h
4040
)
4141

42-
get_filename_component(PARENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}"
43-
DIRECTORY
42+
set(HEADERS_GEN
43+
fcl/config.h
44+
fcl/export.h
4445
)
4546

46-
file(RELATIVE_PATH FCL_CONFIG_H_RELATIVE_PATH
47-
"${PARENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/config.h"
47+
set(HEADERS_FIX
48+
fcl/broadphase/broadphase_SSaP-inl.h
49+
fcl/broadphase/broadphase_SSaP.h
50+
fcl/broadphase/broadphase_SaP-inl.h
51+
fcl/broadphase/broadphase_SaP.h
52+
fcl/broadphase/broadphase_bruteforce-inl.h
53+
fcl/broadphase/broadphase_bruteforce.h
54+
fcl/broadphase/broadphase_collision_manager-inl.h
55+
fcl/broadphase/broadphase_collision_manager.h
56+
fcl/broadphase/broadphase_continuous_collision_manager-inl.h
57+
fcl/broadphase/broadphase_continuous_collision_manager.h
58+
fcl/broadphase/broadphase_dynamic_AABB_tree-inl.h
59+
fcl/broadphase/broadphase_dynamic_AABB_tree.h
60+
fcl/broadphase/broadphase_dynamic_AABB_tree_array-inl.h
61+
fcl/broadphase/broadphase_dynamic_AABB_tree_array.h
62+
fcl/broadphase/broadphase_interval_tree-inl.h
63+
fcl/broadphase/broadphase_interval_tree.h
64+
fcl/broadphase/broadphase_spatialhash-inl.h
65+
fcl/broadphase/broadphase_spatialhash.h
66+
fcl/broadphase/default_broadphase_callbacks.h
67+
fcl/broadphase/detail/hierarchy_tree-inl.h
68+
fcl/broadphase/detail/hierarchy_tree.h
69+
fcl/broadphase/detail/hierarchy_tree_array-inl.h
70+
fcl/broadphase/detail/hierarchy_tree_array.h
71+
fcl/broadphase/detail/interval_tree-inl.h
72+
fcl/broadphase/detail/interval_tree.h
73+
fcl/broadphase/detail/interval_tree_node-inl.h
74+
fcl/broadphase/detail/interval_tree_node.h
75+
fcl/broadphase/detail/morton-inl.h
76+
fcl/broadphase/detail/morton.h
77+
fcl/broadphase/detail/node_base-inl.h
78+
fcl/broadphase/detail/node_base.h
79+
fcl/broadphase/detail/node_base_array-inl.h
80+
fcl/broadphase/detail/node_base_array.h
81+
fcl/broadphase/detail/simple_hash_table-inl.h
82+
fcl/broadphase/detail/simple_hash_table.h
83+
fcl/broadphase/detail/simple_interval-inl.h
84+
fcl/broadphase/detail/simple_interval.h
85+
fcl/broadphase/detail/sparse_hash_table-inl.h
86+
fcl/broadphase/detail/sparse_hash_table.h
87+
fcl/broadphase/detail/spatial_hash-inl.h
88+
fcl/broadphase/detail/spatial_hash.h
89+
fcl/common/detail/profiler.h
90+
fcl/common/exception.h
91+
fcl/common/profiler.h
92+
fcl/common/time.h
93+
fcl/common/types.h
94+
fcl/common/unused.h
95+
fcl/common/warning.h
96+
fcl/geometry/bvh/BVH_internal.h
97+
fcl/geometry/bvh/BVH_model-inl.h
98+
fcl/geometry/bvh/BVH_model.h
99+
fcl/geometry/bvh/BVH_utility-inl.h
100+
fcl/geometry/bvh/BVH_utility.h
101+
fcl/geometry/bvh/BV_node-inl.h
102+
fcl/geometry/bvh/BV_node.h
103+
fcl/geometry/bvh/BV_node_base.h
104+
fcl/geometry/bvh/detail/BVH_front.h
105+
fcl/geometry/bvh/detail/BV_fitter-inl.h
106+
fcl/geometry/bvh/detail/BV_fitter.h
107+
fcl/geometry/bvh/detail/BV_fitter_base.h
108+
fcl/geometry/bvh/detail/BV_splitter-inl.h
109+
fcl/geometry/bvh/detail/BV_splitter.h
110+
fcl/geometry/bvh/detail/BV_splitter_base.h
111+
fcl/geometry/collision_geometry-inl.h
112+
fcl/geometry/collision_geometry.h
113+
fcl/geometry/geometric_shape_to_BVH_model-inl.h
114+
fcl/geometry/geometric_shape_to_BVH_model.h
115+
fcl/geometry/octree/octree-inl.h
116+
fcl/geometry/octree/octree.h
117+
fcl/geometry/shape/box-inl.h
118+
fcl/geometry/shape/box.h
119+
fcl/geometry/shape/capsule-inl.h
120+
fcl/geometry/shape/capsule.h
121+
fcl/geometry/shape/cone-inl.h
122+
fcl/geometry/shape/cone.h
123+
fcl/geometry/shape/convex-inl.h
124+
fcl/geometry/shape/convex.h
125+
fcl/geometry/shape/cylinder-inl.h
126+
fcl/geometry/shape/cylinder.h
127+
fcl/geometry/shape/ellipsoid-inl.h
128+
fcl/geometry/shape/ellipsoid.h
129+
fcl/geometry/shape/halfspace-inl.h
130+
fcl/geometry/shape/halfspace.h
131+
fcl/geometry/shape/plane-inl.h
132+
fcl/geometry/shape/plane.h
133+
fcl/geometry/shape/shape_base-inl.h
134+
fcl/geometry/shape/shape_base.h
135+
fcl/geometry/shape/sphere-inl.h
136+
fcl/geometry/shape/sphere.h
137+
fcl/geometry/shape/triangle_p-inl.h
138+
fcl/geometry/shape/triangle_p.h
139+
fcl/geometry/shape/utility-inl.h
140+
fcl/geometry/shape/utility.h
141+
fcl/math/bv/AABB-inl.h
142+
fcl/math/bv/AABB.h
143+
fcl/math/bv/OBB-inl.h
144+
fcl/math/bv/OBB.h
145+
fcl/math/bv/OBBRSS-inl.h
146+
fcl/math/bv/OBBRSS.h
147+
fcl/math/bv/RSS-inl.h
148+
fcl/math/bv/RSS.h
149+
fcl/math/bv/kDOP-inl.h
150+
fcl/math/bv/kDOP.h
151+
fcl/math/bv/kIOS-inl.h
152+
fcl/math/bv/kIOS.h
153+
fcl/math/bv/utility-inl.h
154+
fcl/math/bv/utility.h
155+
fcl/math/constants.h
156+
fcl/math/detail/polysolver-inl.h
157+
fcl/math/detail/polysolver.h
158+
fcl/math/detail/project-inl.h
159+
fcl/math/detail/project.h
160+
fcl/math/detail/seed.h
161+
fcl/math/geometry-inl.h
162+
fcl/math/geometry.h
163+
fcl/math/motion/bv_motion_bound_visitor.h
164+
fcl/math/motion/interp_motion-inl.h
165+
fcl/math/motion/interp_motion.h
166+
fcl/math/motion/motion_base-inl.h
167+
fcl/math/motion/motion_base.h
168+
fcl/math/motion/screw_motion-inl.h
169+
fcl/math/motion/screw_motion.h
170+
fcl/math/motion/spline_motion-inl.h
171+
fcl/math/motion/spline_motion.h
172+
fcl/math/motion/taylor_model/interval-inl.h
173+
fcl/math/motion/taylor_model/interval.h
174+
fcl/math/motion/taylor_model/interval_matrix-inl.h
175+
fcl/math/motion/taylor_model/interval_matrix.h
176+
fcl/math/motion/taylor_model/interval_vector-inl.h
177+
fcl/math/motion/taylor_model/interval_vector.h
178+
fcl/math/motion/taylor_model/taylor_matrix-inl.h
179+
fcl/math/motion/taylor_model/taylor_matrix.h
180+
fcl/math/motion/taylor_model/taylor_model-inl.h
181+
fcl/math/motion/taylor_model/taylor_model.h
182+
fcl/math/motion/taylor_model/taylor_vector-inl.h
183+
fcl/math/motion/taylor_model/taylor_vector.h
184+
fcl/math/motion/taylor_model/time_interval-inl.h
185+
fcl/math/motion/taylor_model/time_interval.h
186+
fcl/math/motion/tbv_motion_bound_visitor-inl.h
187+
fcl/math/motion/tbv_motion_bound_visitor.h
188+
fcl/math/motion/translation_motion-inl.h
189+
fcl/math/motion/translation_motion.h
190+
fcl/math/motion/triangle_motion_bound_visitor-inl.h
191+
fcl/math/motion/triangle_motion_bound_visitor.h
192+
fcl/math/rng-inl.h
193+
fcl/math/rng.h
194+
fcl/math/sampler/sampler_base.h
195+
fcl/math/sampler/sampler_r-inl.h
196+
fcl/math/sampler/sampler_r.h
197+
fcl/math/sampler/sampler_se2-inl.h
198+
fcl/math/sampler/sampler_se2.h
199+
fcl/math/sampler/sampler_se2_disk-inl.h
200+
fcl/math/sampler/sampler_se2_disk.h
201+
fcl/math/sampler/sampler_se3_euler-inl.h
202+
fcl/math/sampler/sampler_se3_euler.h
203+
fcl/math/sampler/sampler_se3_euler_ball-inl.h
204+
fcl/math/sampler/sampler_se3_euler_ball.h
205+
fcl/math/sampler/sampler_se3_quat-inl.h
206+
fcl/math/sampler/sampler_se3_quat.h
207+
fcl/math/sampler/sampler_se3_quat_ball-inl.h
208+
fcl/math/sampler/sampler_se3_quat_ball.h
209+
fcl/math/triangle.h
210+
fcl/math/variance3-inl.h
211+
fcl/math/variance3.h
212+
fcl/narrowphase/collision-inl.h
213+
fcl/narrowphase/collision.h
214+
fcl/narrowphase/collision_object-inl.h
215+
fcl/narrowphase/collision_object.h
216+
fcl/narrowphase/collision_request-inl.h
217+
fcl/narrowphase/collision_request.h
218+
fcl/narrowphase/collision_result-inl.h
219+
fcl/narrowphase/collision_result.h
220+
fcl/narrowphase/contact-inl.h
221+
fcl/narrowphase/contact.h
222+
fcl/narrowphase/contact_point-inl.h
223+
fcl/narrowphase/contact_point.h
224+
fcl/narrowphase/continuous_collision-inl.h
225+
fcl/narrowphase/continuous_collision.h
226+
fcl/narrowphase/continuous_collision_object-inl.h
227+
fcl/narrowphase/continuous_collision_object.h
228+
fcl/narrowphase/continuous_collision_request-inl.h
229+
fcl/narrowphase/continuous_collision_request.h
230+
fcl/narrowphase/continuous_collision_result-inl.h
231+
fcl/narrowphase/continuous_collision_result.h
232+
fcl/narrowphase/cost_source-inl.h
233+
fcl/narrowphase/cost_source.h
234+
fcl/narrowphase/detail/collision_func_matrix-inl.h
235+
fcl/narrowphase/detail/collision_func_matrix.h
236+
fcl/narrowphase/detail/conservative_advancement_func_matrix-inl.h
237+
fcl/narrowphase/detail/conservative_advancement_func_matrix.h
238+
fcl/narrowphase/detail/convexity_based_algorithm/alloc.h
239+
fcl/narrowphase/detail/convexity_based_algorithm/epa-inl.h
240+
fcl/narrowphase/detail/convexity_based_algorithm/epa.h
241+
fcl/narrowphase/detail/convexity_based_algorithm/gjk-inl.h
242+
fcl/narrowphase/detail/convexity_based_algorithm/gjk.h
243+
fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h
244+
fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h
245+
fcl/narrowphase/detail/convexity_based_algorithm/list.h
246+
fcl/narrowphase/detail/convexity_based_algorithm/minkowski_diff-inl.h
247+
fcl/narrowphase/detail/convexity_based_algorithm/minkowski_diff.h
248+
fcl/narrowphase/detail/convexity_based_algorithm/polytope.h
249+
fcl/narrowphase/detail/convexity_based_algorithm/simplex.h
250+
fcl/narrowphase/detail/convexity_based_algorithm/support.h
251+
fcl/narrowphase/detail/distance_func_matrix-inl.h
252+
fcl/narrowphase/detail/distance_func_matrix.h
253+
fcl/narrowphase/detail/failed_at_this_configuration.h
254+
fcl/narrowphase/detail/gjk_solver_indep-inl.h
255+
fcl/narrowphase/detail/gjk_solver_indep.h
256+
fcl/narrowphase/detail/gjk_solver_libccd-inl.h
257+
fcl/narrowphase/detail/gjk_solver_libccd.h
258+
fcl/narrowphase/detail/primitive_shape_algorithm/box_box-inl.h
259+
fcl/narrowphase/detail/primitive_shape_algorithm/box_box.h
260+
fcl/narrowphase/detail/primitive_shape_algorithm/capsule_capsule-inl.h
261+
fcl/narrowphase/detail/primitive_shape_algorithm/capsule_capsule.h
262+
fcl/narrowphase/detail/primitive_shape_algorithm/halfspace-inl.h
263+
fcl/narrowphase/detail/primitive_shape_algorithm/halfspace.h
264+
fcl/narrowphase/detail/primitive_shape_algorithm/plane-inl.h
265+
fcl/narrowphase/detail/primitive_shape_algorithm/plane.h
266+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_box-inl.h
267+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_box.h
268+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_capsule-inl.h
269+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_capsule.h
270+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_cylinder-inl.h
271+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_cylinder.h
272+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_sphere-inl.h
273+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_sphere.h
274+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_triangle-inl.h
275+
fcl/narrowphase/detail/primitive_shape_algorithm/sphere_triangle.h
276+
fcl/narrowphase/detail/primitive_shape_algorithm/triangle_distance-inl.h
277+
fcl/narrowphase/detail/primitive_shape_algorithm/triangle_distance.h
278+
fcl/narrowphase/detail/traversal/collision/bvh_collision_traversal_node-inl.h
279+
fcl/narrowphase/detail/traversal/collision/bvh_collision_traversal_node.h
280+
fcl/narrowphase/detail/traversal/collision/bvh_shape_collision_traversal_node-inl.h
281+
fcl/narrowphase/detail/traversal/collision/bvh_shape_collision_traversal_node.h
282+
fcl/narrowphase/detail/traversal/collision/collision_traversal_node_base-inl.h
283+
fcl/narrowphase/detail/traversal/collision/collision_traversal_node_base.h
284+
fcl/narrowphase/detail/traversal/collision/intersect-inl.h
285+
fcl/narrowphase/detail/traversal/collision/intersect.h
286+
fcl/narrowphase/detail/traversal/collision/mesh_collision_traversal_node-inl.h
287+
fcl/narrowphase/detail/traversal/collision/mesh_collision_traversal_node.h
288+
fcl/narrowphase/detail/traversal/collision/mesh_continuous_collision_traversal_node-inl.h
289+
fcl/narrowphase/detail/traversal/collision/mesh_continuous_collision_traversal_node.h
290+
fcl/narrowphase/detail/traversal/collision/mesh_shape_collision_traversal_node-inl.h
291+
fcl/narrowphase/detail/traversal/collision/mesh_shape_collision_traversal_node.h
292+
fcl/narrowphase/detail/traversal/collision/shape_bvh_collision_traversal_node-inl.h
293+
fcl/narrowphase/detail/traversal/collision/shape_bvh_collision_traversal_node.h
294+
fcl/narrowphase/detail/traversal/collision/shape_collision_traversal_node-inl.h
295+
fcl/narrowphase/detail/traversal/collision/shape_collision_traversal_node.h
296+
fcl/narrowphase/detail/traversal/collision/shape_mesh_collision_traversal_node-inl.h
297+
fcl/narrowphase/detail/traversal/collision/shape_mesh_collision_traversal_node.h
298+
fcl/narrowphase/detail/traversal/collision_node-inl.h
299+
fcl/narrowphase/detail/traversal/collision_node.h
300+
fcl/narrowphase/detail/traversal/distance/bvh_distance_traversal_node-inl.h
301+
fcl/narrowphase/detail/traversal/distance/bvh_distance_traversal_node.h
302+
fcl/narrowphase/detail/traversal/distance/bvh_shape_distance_traversal_node-inl.h
303+
fcl/narrowphase/detail/traversal/distance/bvh_shape_distance_traversal_node.h
304+
fcl/narrowphase/detail/traversal/distance/conservative_advancement_stack_data-inl.h
305+
fcl/narrowphase/detail/traversal/distance/conservative_advancement_stack_data.h
306+
fcl/narrowphase/detail/traversal/distance/distance_traversal_node_base-inl.h
307+
fcl/narrowphase/detail/traversal/distance/distance_traversal_node_base.h
308+
fcl/narrowphase/detail/traversal/distance/mesh_conservative_advancement_traversal_node-inl.h
309+
fcl/narrowphase/detail/traversal/distance/mesh_conservative_advancement_traversal_node.h
310+
fcl/narrowphase/detail/traversal/distance/mesh_distance_traversal_node-inl.h
311+
fcl/narrowphase/detail/traversal/distance/mesh_distance_traversal_node.h
312+
fcl/narrowphase/detail/traversal/distance/mesh_shape_conservative_advancement_traversal_node-inl.h
313+
fcl/narrowphase/detail/traversal/distance/mesh_shape_conservative_advancement_traversal_node.h
314+
fcl/narrowphase/detail/traversal/distance/mesh_shape_distance_traversal_node-inl.h
315+
fcl/narrowphase/detail/traversal/distance/mesh_shape_distance_traversal_node.h
316+
fcl/narrowphase/detail/traversal/distance/shape_bvh_distance_traversal_node-inl.h
317+
fcl/narrowphase/detail/traversal/distance/shape_bvh_distance_traversal_node.h
318+
fcl/narrowphase/detail/traversal/distance/shape_conservative_advancement_traversal_node-inl.h
319+
fcl/narrowphase/detail/traversal/distance/shape_conservative_advancement_traversal_node.h
320+
fcl/narrowphase/detail/traversal/distance/shape_distance_traversal_node-inl.h
321+
fcl/narrowphase/detail/traversal/distance/shape_distance_traversal_node.h
322+
fcl/narrowphase/detail/traversal/distance/shape_mesh_conservative_advancement_traversal_node-inl.h
323+
fcl/narrowphase/detail/traversal/distance/shape_mesh_conservative_advancement_traversal_node.h
324+
fcl/narrowphase/detail/traversal/distance/shape_mesh_distance_traversal_node-inl.h
325+
fcl/narrowphase/detail/traversal/distance/shape_mesh_distance_traversal_node.h
326+
fcl/narrowphase/detail/traversal/octree/collision/mesh_octree_collision_traversal_node-inl.h
327+
fcl/narrowphase/detail/traversal/octree/collision/mesh_octree_collision_traversal_node.h
328+
fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node-inl.h
329+
fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h
330+
fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node-inl.h
331+
fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h
332+
fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node-inl.h
333+
fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h
334+
fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node-inl.h
335+
fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h
336+
fcl/narrowphase/detail/traversal/octree/distance/mesh_octree_distance_traversal_node-inl.h
337+
fcl/narrowphase/detail/traversal/octree/distance/mesh_octree_distance_traversal_node.h
338+
fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node-inl.h
339+
fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h
340+
fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node-inl.h
341+
fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h
342+
fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node-inl.h
343+
fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h
344+
fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node-inl.h
345+
fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h
346+
fcl/narrowphase/detail/traversal/octree/octree_solver-inl.h
347+
fcl/narrowphase/detail/traversal/octree/octree_solver.h
348+
fcl/narrowphase/detail/traversal/traversal_node_base-inl.h
349+
fcl/narrowphase/detail/traversal/traversal_node_base.h
350+
fcl/narrowphase/detail/traversal/traversal_recurse-inl.h
351+
fcl/narrowphase/detail/traversal/traversal_recurse.h
352+
fcl/narrowphase/distance-inl.h
353+
fcl/narrowphase/distance.h
354+
fcl/narrowphase/distance_request-inl.h
355+
fcl/narrowphase/distance_request.h
356+
fcl/narrowphase/distance_result-inl.h
357+
fcl/narrowphase/distance_result.h
358+
fcl/narrowphase/gjk_solver_type.h
48359
)
49360

50-
file(RELATIVE_PATH FCL_EXPORT_H_RELATIVE_PATH
51-
"${PARENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/export.h"
52-
)
53-
54-
set(BINARY_DIR_HEADERS
55-
${FCL_CONFIG_H_RELATIVE_PATH} ${FCL_EXPORT_H_RELATIVE_PATH}
56-
)
57-
58-
if(CMAKE_VERSION VERSION_LESS 3.12)
59-
set(CONFIGURE_DEPENDS_OPTION)
60-
else()
61-
set(CONFIGURE_DEPENDS_OPTION CONFIGURE_DEPENDS)
62-
endif()
63-
64-
get_filename_component(PARENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
65-
DIRECTORY
66-
)
67-
68-
file(GLOB_RECURSE SOURCE_DIR_HEADERS RELATIVE "${PARENT_SOURCE_DIR}"
69-
${CONFIGURE_DEPENDS_OPTION} "${CMAKE_CURRENT_SOURCE_DIR}/*.h"
70-
)
71-
72-
set(HEADERS ${BINARY_DIR_HEADERS} ${SOURCE_DIR_HEADERS})
73-
set(INCLUDE_DIRECTIVES)
74-
75-
foreach(HEADER ${HEADERS})
361+
foreach(HEADER ${HEADERS_GEN} ${HEADERS_FIX})
76362
if(NOT HEADER MATCHES "(/detail/|-inl.h$)")
77363
set(INCLUDE_DIRECTIVES
78364
"${INCLUDE_DIRECTIVES}\n#include \"${HEADER}\""
@@ -83,15 +369,35 @@ endforeach()
83369
string(STRIP "${INCLUDE_DIRECTIVES}" INCLUDE_DIRECTIVES)
84370
configure_file(fcl.h.in fcl.h @ONLY)
85371

86-
install(DIRECTORY "${PARENT_BINARY_DIR}/" "${PARENT_SOURCE_DIR}/"
87-
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
372+
install(
373+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
374+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fcl
88375
COMPONENT Development
89376
FILES_MATCHING PATTERN "*.h"
90377
PATTERN "CMakeFiles" EXCLUDE
91378
)
92379

93-
file(GLOB_RECURSE FCL_HEADERS ${CONFIGURE_DEPENDS_OPTION}
94-
"${CMAKE_CURRENT_BINARY_DIR}/*.h"
95-
"${CMAKE_CURRENT_SOURCE_DIR}/*.h"
380+
install(
381+
FILES
382+
${CMAKE_CURRENT_BINARY_DIR}/config.h
383+
${CMAKE_CURRENT_BINARY_DIR}/export.h
384+
${CMAKE_CURRENT_BINARY_DIR}/fcl.h
385+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fcl
386+
COMPONENT Development
96387
)
97-
set(FCL_HEADERS ${FCL_HEADERS} PARENT_SCOPE)
388+
389+
if(FCL_COVERALLS)
390+
get_filename_component(PARENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}"
391+
DIRECTORY
392+
)
393+
394+
foreach(HEADER ${HEADERS_GEN})
395+
set(FCL_HEADERS "${PARENT_BINARY_DIR}/${HEADERS_GEN}")
396+
endforeach()
397+
398+
foreach(HEADER ${HEADERS_FIX})
399+
set(FCL_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/${HEADER}")
400+
endforeach()
401+
402+
set(FCL_HEADERS ${FCL_HEADERS} PARENT_SCOPE)
403+
endif()

0 commit comments

Comments
 (0)