summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt76
1 files changed, 26 insertions, 50 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 324f8648..360eb87a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,10 +10,6 @@ message("CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}")
enable_testing()
-# For "make user_version"
-include("${CMAKE_MODULE_PATH}/GUDHI_user_version_target.txt")
-# For "make doxygen"
-include(GUDHI_doxygen_target)
# This variable is used by Cython CMakeLists.txt to know its path
set(GUDHI_CYTHON_PATH "src/cython")
# For third parties libraries management - To be done last as CGAL updates CMAKE_MODULE_PATH
@@ -38,54 +34,34 @@ if (DEBUG_TRACES)
add_definitions(-DDEBUG_TRACES)
endif()
-include_directories(src/common/include/)
-include_directories(src/Alpha_complex/include/)
-include_directories(src/Bitmap_cubical_complex/include/)
-include_directories(src/Bottleneck_distance/include/)
-include_directories(src/Contraction/include/)
-include_directories(src/Hasse_complex/include/)
-include_directories(src/Persistent_cohomology/include/)
-include_directories(src/Rips_complex/include/)
-include_directories(src/Simplex_tree/include/)
-include_directories(src/Skeleton_blocker/include/)
-include_directories(src/Spatial_searching/include/)
-include_directories(src/Subsampling/include/)
-include_directories(src/Tangential_complex/include/)
-include_directories(src/Witness_complex/include/)
+# Modules list can be found in CMAKE_MODULE_PATH/GUDHI_modules.cmake
+include(GUDHI_modules)
-add_subdirectory(src/common/example)
-add_subdirectory(src/common/test)
-add_subdirectory(src/Simplex_tree/test)
-add_subdirectory(src/Simplex_tree/example)
-add_subdirectory(src/Persistent_cohomology/test)
-add_subdirectory(src/Persistent_cohomology/example)
-add_subdirectory(src/Persistent_cohomology/benchmark)
-add_subdirectory(src/Skeleton_blocker/test)
-add_subdirectory(src/Skeleton_blocker/example)
-add_subdirectory(src/Contraction/example)
-add_subdirectory(src/Witness_complex/test)
-add_subdirectory(src/Witness_complex/example)
-add_subdirectory(src/Bitmap_cubical_complex/test)
-add_subdirectory(src/Bitmap_cubical_complex/example)
-add_subdirectory(src/Alpha_complex/example)
-add_subdirectory(src/Alpha_complex/test)
-add_subdirectory(src/Spatial_searching/example)
-add_subdirectory(src/Spatial_searching/test)
-add_subdirectory(src/Subsampling/example)
-add_subdirectory(src/Subsampling/test)
-add_subdirectory(src/Tangential_complex/example)
-add_subdirectory(src/Tangential_complex/test)
-add_subdirectory(src/Tangential_complex/benchmark)
-add_subdirectory(src/Bottleneck_distance/example)
-add_subdirectory(src/Bottleneck_distance/test)
-add_subdirectory(src/Bottleneck_distance/benchmark)
-add_subdirectory(src/Rips_complex/example)
-add_subdirectory(src/Rips_complex/test)
+# Include module headers
+foreach(GUDHI_MODULE ${GUDHI_MODULES})
+ if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/include/)
+ include_directories(src/${GUDHI_MODULE}/include/)
+ endif()
+endforeach()
-# data points generator
-add_subdirectory(data/points/generator)
+# Include module CMake subdirectories
+# GUDHI_SUB_DIRECTORIES is managed in CMAKE_MODULE_PATH/GUDHI_modules.cmake
+foreach(GUDHI_MODULE ${GUDHI_MODULES})
+ foreach(GUDHI_SUB_DIRECTORY ${GUDHI_SUB_DIRECTORIES})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/${GUDHI_SUB_DIRECTORY}/CMakeLists.txt)
+ add_subdirectory(src/${GUDHI_MODULE}/${GUDHI_SUB_DIRECTORY}/)
+ endif()
+ endforeach()
+endforeach()
add_subdirectory(src/GudhUI)
-# specific for cython module
-add_subdirectory(${GUDHI_CYTHON_PATH})
+if (NOT WITHOUT_GUDHI_PYTHON)
+ # specific for cython module
+ add_subdirectory(${GUDHI_CYTHON_PATH})
+endif()
+
+# For "make user_version" - Requires GUDHI_modules to be performed
+include(GUDHI_user_version_target)
+# For "make doxygen" - Requires GUDHI_user_version_target to be performed
+include(GUDHI_doxygen_target)