summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt18
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/cmake/modules/GUDHI_modules.cmake23
-rw-r--r--src/cmake/modules/GUDHI_user_version_target.cmake4
4 files changed, 29 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c9ceb92b..fbb359e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,10 +3,7 @@ project(GUDHIdev)
include(CMakeGUDHIVersion.txt)
-set(CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/src/cmake/modules/")
-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/cmake/modules/")
-message("CMAKE_PREFIX_PATH = ${CMAKE_PREFIX_PATH}")
-message("CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}")
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/cmake/modules/")
enable_testing()
@@ -34,10 +31,8 @@ if (DEBUG_TRACES)
add_definitions(-DDEBUG_TRACES)
endif()
-# Modules list can be found in CMAKE_MODULE_PATH/GUDHI_modules.cmake
-include(GUDHI_modules)
-
# Add your new module in the list, order is not important
+include(GUDHI_modules)
add_gudhi_module(common)
add_gudhi_module(Alpha_complex)
@@ -54,12 +49,7 @@ add_gudhi_module(Subsampling)
add_gudhi_module(Tangential_complex)
add_gudhi_module(Witness_complex)
-# 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()
+message("++ GUDHI_MODULES list is:\"${GUDHI_MODULES}\"")
# Include module CMake subdirectories
# GUDHI_SUB_DIRECTORIES is managed in CMAKE_MODULE_PATH/GUDHI_modules.cmake
@@ -73,7 +63,7 @@ endforeach()
add_subdirectory(src/GudhUI)
-if (NOT WITHOUT_GUDHI_PYTHON)
+if (WITH_GUDHI_PYTHON)
# specific for cython module
add_subdirectory(${GUDHI_CYTHON_PATH})
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8abfcf44..795005b1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -7,10 +7,8 @@ enable_testing()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
-# To be done first - Modules list can be found in CMAKE_MODULE_PATH/GUDHI_modules.cmake
-include(GUDHI_modules)
-
# Add your new module in the list, order is not important
+include(GUDHI_modules)
add_gudhi_module(common)
add_gudhi_module(Alpha_complex)
@@ -27,6 +25,8 @@ add_gudhi_module(Subsampling)
add_gudhi_module(Tangential_complex)
add_gudhi_module(Witness_complex)
+message("++ GUDHI_MODULES list is:\"${GUDHI_MODULES}\"")
+
# For "make doxygen" - Requires GUDHI_USER_VERSION_DIR to be set
set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR})
include(GUDHI_doxygen_target)
@@ -71,7 +71,7 @@ endforeach()
add_subdirectory(GudhUI)
-if (NOT WITHOUT_GUDHI_PYTHON)
+if (WITH_GUDHI_PYTHON)
# specific for cython module
add_subdirectory(${GUDHI_CYTHON_PATH})
endif()
diff --git a/src/cmake/modules/GUDHI_modules.cmake b/src/cmake/modules/GUDHI_modules.cmake
index 20fc8d17..f95d0c34 100644
--- a/src/cmake/modules/GUDHI_modules.cmake
+++ b/src/cmake/modules/GUDHI_modules.cmake
@@ -1,11 +1,26 @@
# A function to add a new module in GUDHI
set(GUDHI_MODULES "")
+set(GUDHI_MODULES_FULL_LIST "")
function(add_gudhi_module file_path)
+ option("WITH_MODULE_GUDHI_${file_path}" "Activate/desactivate ${file_path} compilation and installation" ON)
+ if (WITH_MODULE_GUDHI_${file_path})
set(GUDHI_MODULES ${GUDHI_MODULES} ${file_path} PARENT_SCOPE)
+ endif()
+ # Required by user_version
+ set(GUDHI_MODULES_FULL_LIST ${GUDHI_MODULES_FULL_LIST} ${file_path} PARENT_SCOPE)
+ # Include module headers is independant - You may ask for no Alpha complex module but Python interface i.e.
+ if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/src/${file_path}/include/)
+ include_directories(src/${file_path}/include/)
+ endif()
+
endfunction(add_gudhi_module)
-# message("++ GUDHI_MODULES list is:\"${GUDHI_MODULES}\"")
+option(WITH_GUDHI_BENCHMARK "Activate/desactivate benchmark compilation" OFF)
+option(WITH_GUDHI_EXAMPLE "Activate/desactivate examples compilation and installation" OFF)
+option(WITH_GUDHI_PYTHON "Activate/desactivate python module compilation and installation" ON)
+option(WITH_GUDHI_TEST "Activate/desactivate examples compilation and installation" ON)
+option(WITH_GUDHI_UTILITIES "Activate/desactivate utilities compilation and installation" ON)
if (WITH_GUDHI_BENCHMARK)
set(GUDHI_SUB_DIRECTORIES "${GUDHI_SUB_DIRECTORIES};benchmark")
@@ -13,10 +28,10 @@ endif()
if (WITH_GUDHI_EXAMPLE)
set(GUDHI_SUB_DIRECTORIES "${GUDHI_SUB_DIRECTORIES};example")
endif()
-if (NOT WITHOUT_GUDHI_TEST)
- set(GUDHI_SUB_DIRECTORIES "${GUDHI_SUB_DIRECTORIES};test")
+if (WITH_GUDHI_TEST)
+ set(GUDHI_SUB_DIRECTORIES "${GUDHI_SUB_DIRECTORIES};test")
endif()
-if (NOT WITHOUT_GUDHI_UTILITIES)
+if (WITH_GUDHI_UTILITIES)
set(GUDHI_SUB_DIRECTORIES "${GUDHI_SUB_DIRECTORIES};utilities")
endif()
diff --git a/src/cmake/modules/GUDHI_user_version_target.cmake b/src/cmake/modules/GUDHI_user_version_target.cmake
index 8642d3bf..cff64ad2 100644
--- a/src/cmake/modules/GUDHI_user_version_target.cmake
+++ b/src/cmake/modules/GUDHI_user_version_target.cmake
@@ -50,7 +50,7 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.11)
set(GUDHI_DIRECTORIES "doc;example;concept;utilities")
set(GUDHI_INCLUDE_DIRECTORIES "include/gudhi;include/gudhi_patches")
- foreach(GUDHI_MODULE ${GUDHI_MODULES})
+ foreach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
foreach(GUDHI_DIRECTORY ${GUDHI_DIRECTORIES})
# Find files
file(GLOB GUDHI_FILES ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/${GUDHI_DIRECTORY}/*)
@@ -85,6 +85,6 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.11)
endforeach()
endforeach(GUDHI_INCLUDE_DIRECTORY ${GUDHI_INCLUDE_DIRECTORIES})
- endforeach(GUDHI_MODULE ${GUDHI_MODULES})
+ endforeach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
endif()