From ff1b38a397fe03c85953442c016fe65c6d2e1cda Mon Sep 17 00:00:00 2001
From: Mark Moll <mmoll@rice.edu>
Date: Wed, 19 Sep 2012 19:40:31 -0500
Subject: [PATCH] "add option for static lib; simplify cmake file"

---
 CMakeLists.txt     |  2 ++
 src/CMakeLists.txt | 60 +++++-----------------------------------------
 2 files changed, 8 insertions(+), 54 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ef49d27..bc4226a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,6 +11,8 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
 
 include(FCLVersion)
 
+option(FCL_STATIC_LIBRARY "Whether the FCL library should be static rather than shared" OFF)
+
 # Whether to enable SSE
 option(FCL_USE_SSE "Whether FCL should SSE instructions" ON)
 set(FCL_HAVE_SSE 0)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4f69c9a1..33cb7fa1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,57 +1,9 @@
-add_library(${PROJECT_NAME} SHARED
-  BV/AABB.cpp
-  BV/OBB.cpp
-  BV/RSS.cpp
-  BV/kIOS.cpp
-  BV/OBBRSS.cpp
-  BV/kDOP.cpp
-  traversal/traversal_node_base.cpp
-  traversal/traversal_node_bvhs.cpp
-  intersect.cpp
-  ccd/motion.cpp
-  BVH/BV_fitter.cpp
-  BVH/BV_splitter.cpp
-  BVH/BVH_model.cpp
-  BVH/BVH_utility.cpp
-  math/transform.cpp
-  traversal/traversal_node_setup.cpp
-  shape/geometric_shapes.cpp
-  shape/geometric_shapes_utility.cpp
-  collision_node.cpp
-  traversal/traversal_recurse.cpp
-  broadphase/broadphase_bruteforce.cpp
-  broadphase/broadphase_spatialhash.cpp
-  broadphase/broadphase_SaP.cpp
-  broadphase/broadphase_SSaP.cpp
-  broadphase/broadphase_interval_tree.cpp
-  broadphase/broadphase_dynamic_AABB_tree.cpp
-  broadphase/broadphase_dynamic_AABB_tree_array.cpp 
-  collision.cpp
-  collision_func_matrix.cpp
-  broadphase/interval_tree.cpp
-  ccd/conservative_advancement.cpp
-  ccd/interval.cpp
-  ccd/interval_vector.cpp
-  ccd/interval_matrix.cpp
-  ccd/taylor_model.cpp
-  ccd/taylor_vector.cpp
-  ccd/taylor_matrix.cpp
-  distance_func_matrix.cpp
-  distance.cpp
-  narrowphase/gjk.cpp
-  narrowphase/gjk_libccd.cpp
-  narrowphase/narrowphase.cpp
-  broadphase/hierarchy_tree.cpp
-  articulated_model/joint_config.cpp
-  articulated_model/joint.cpp
-  articulated_model/link.cpp
-  articulated_model/model_config.cpp
-  articulated_model/model.cpp
-  ccd/interpolation/interpolation.cpp
-  ccd/interpolation/interpolation_factory.cpp
-  ccd/interpolation/interpolation_linear.cpp
-  profile.cpp
-  collision_data.cpp)
+file(GLOB_RECURSE FCL_SOURCE_CODE ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
+if(FCL_STATIC_LIBRARY)
+  add_library(${PROJECT_NAME} STATIC ${FCL_SOURCE_CODE})
+else()
+  add_library(${PROJECT_NAME} SHARED ${FCL_SOURCE_CODE})
+endif()
 
 target_link_libraries(${PROJECT_NAME} ${CCD_LIBRARIES} ${OCTOMAP_LIBRARIES} ${Boost_LIBRARIES})
 
-- 
GitLab