summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-05-19 16:13:50 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-05-19 16:13:50 +0000
commitec3f93103f5a1937d3f8bbf37af3837a1089bf03 (patch)
tree547e7e12aa74aa49a953c2d182f7c0a3fd03fd74
parentd6bb19de457fa74c84dbd6d8afa63074fefb4552 (diff)
Move src/common/utilities/hypergenerator.cpp in src/common/utilities
Management of Python distribution packages make install is now installing utilities and GUDHI python module git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/cmake_modules_for_gudhi@2453 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: a85576c7ae062718900f0db2bfb0dd3f26e87177
-rw-r--r--CMakeLists.txt19
-rw-r--r--src/CMakeLists.txt27
-rw-r--r--src/GudhUI/CMakeLists.txt2
-rw-r--r--src/cmake/modules/GUDHI_modules.cmake17
-rw-r--r--src/cmake/modules/GUDHI_third_party_libraries.cmake7
-rw-r--r--src/cmake/modules/GUDHI_user_version_target.cmake2
-rw-r--r--src/common/utilities/CMakeLists.txt15
-rw-r--r--src/common/utilities/README10
-rw-r--r--src/common/utilities/off_file_from_shape_generator.cpp (renamed from src/common/utilities/hypergenerator.cpp)0
-rw-r--r--src/cython/CMakeLists.txt10
10 files changed, 71 insertions, 38 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 360eb87a..c9ceb92b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,6 +37,23 @@ 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
+
+add_gudhi_module(common)
+add_gudhi_module(Alpha_complex)
+add_gudhi_module(Bitmap_cubical_complex)
+add_gudhi_module(Bottleneck_distance)
+add_gudhi_module(Contraction)
+add_gudhi_module(Hasse_complex)
+add_gudhi_module(Persistent_cohomology)
+add_gudhi_module(Rips_complex)
+add_gudhi_module(Simplex_tree)
+add_gudhi_module(Skeleton_blocker)
+add_gudhi_module(Spatial_searching)
+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/)
@@ -63,5 +80,5 @@ 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
+# For "make doxygen" - Requires GUDHI_USER_VERSION_DIR to be set - Done in GUDHI_user_version_target for dev version
include(GUDHI_doxygen_target)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 77a03c17..8abfcf44 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -10,7 +10,24 @@ 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)
-# For "make doxygen"
+# Add your new module in the list, order is not important
+
+add_gudhi_module(common)
+add_gudhi_module(Alpha_complex)
+add_gudhi_module(Bitmap_cubical_complex)
+add_gudhi_module(Bottleneck_distance)
+add_gudhi_module(Contraction)
+add_gudhi_module(Hasse_complex)
+add_gudhi_module(Persistent_cohomology)
+add_gudhi_module(Rips_complex)
+add_gudhi_module(Simplex_tree)
+add_gudhi_module(Skeleton_blocker)
+add_gudhi_module(Spatial_searching)
+add_gudhi_module(Subsampling)
+add_gudhi_module(Tangential_complex)
+add_gudhi_module(Witness_complex)
+
+# For "make doxygen" - Requires GUDHI_USER_VERSION_DIR to be set
set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR})
include(GUDHI_doxygen_target)
@@ -47,10 +64,10 @@ include_directories(include)
foreach(GUDHI_MODULE ${GUDHI_MODULES})
foreach(GUDHI_SUB_DIRECTORY ${GUDHI_SUB_DIRECTORIES})
if(EXISTS ${CMAKE_SOURCE_DIR}/${GUDHI_SUB_DIRECTORY}/${GUDHI_MODULE}/CMakeLists.txt)
- add_subdirectory(src/${GUDHI_MODULE}/${GUDHI_SUB_DIRECTORY}/)
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${GUDHI_SUB_DIRECTORY}/${GUDHI_MODULE}/CMakeLists.txt)
- endforeach(GUDHI_SUB_DIRECTORY ${GUDHI_SUB_DIRECTORIES})
-endforeach(GUDHI_MODULE ${GUDHI_MODULES})
+ add_subdirectory(${CMAKE_SOURCE_DIR}/${GUDHI_SUB_DIRECTORY}/${GUDHI_MODULE}/)
+ endif()
+ endforeach()
+endforeach()
add_subdirectory(GudhUI)
diff --git a/src/GudhUI/CMakeLists.txt b/src/GudhUI/CMakeLists.txt
index ca2e47c1..57861946 100644
--- a/src/GudhUI/CMakeLists.txt
+++ b/src/GudhUI/CMakeLists.txt
@@ -56,6 +56,8 @@ if (TBB_FOUND)
target_link_libraries( GudhUI ${TBB_LIBRARIES})
endif()
+ install(TARGETS GudhUI DESTINATION bin)
+
###############################################################################
else()
diff --git a/src/cmake/modules/GUDHI_modules.cmake b/src/cmake/modules/GUDHI_modules.cmake
index 6a26d7bf..20fc8d17 100644
--- a/src/cmake/modules/GUDHI_modules.cmake
+++ b/src/cmake/modules/GUDHI_modules.cmake
@@ -5,23 +5,6 @@ function(add_gudhi_module file_path)
set(GUDHI_MODULES ${GUDHI_MODULES} ${file_path} PARENT_SCOPE)
endfunction(add_gudhi_module)
-# Add your new module in the list, order is not important
-
-add_gudhi_module(common)
-add_gudhi_module(Alpha_complex)
-add_gudhi_module(Bitmap_cubical_complex)
-add_gudhi_module(Bottleneck_distance)
-add_gudhi_module(Contraction)
-add_gudhi_module(Hasse_complex)
-add_gudhi_module(Persistent_cohomology)
-add_gudhi_module(Rips_complex)
-add_gudhi_module(Simplex_tree)
-add_gudhi_module(Skeleton_blocker)
-add_gudhi_module(Spatial_searching)
-add_gudhi_module(Subsampling)
-add_gudhi_module(Tangential_complex)
-add_gudhi_module(Witness_complex)
-
# message("++ GUDHI_MODULES list is:\"${GUDHI_MODULES}\"")
if (WITH_GUDHI_BENCHMARK)
diff --git a/src/cmake/modules/GUDHI_third_party_libraries.cmake b/src/cmake/modules/GUDHI_third_party_libraries.cmake
index 5f84c602..8cb01d3c 100644
--- a/src/cmake/modules/GUDHI_third_party_libraries.cmake
+++ b/src/cmake/modules/GUDHI_third_party_libraries.cmake
@@ -135,10 +135,15 @@ if(PYTHONINTERP_FOUND AND CYTHON_FOUND)
# Documentation generation is available through sphinx
find_program( SPHINX_PATH sphinx-build )
elseif(PYTHON_VERSION_MAJOR EQUAL 3)
- # Documentation generation is available through sphinx
+ # No sphinx-build in Pyton3, just hack it
set(SPHINX_PATH "${CMAKE_SOURCE_DIR}/${GUDHI_CYTHON_PATH}/doc/python3-sphinx-build")
else()
message(FATAL_ERROR "ERROR: Try to compile the Cython interface. Python version ${PYTHON_VERSION_STRING} is not valid.")
endif(PYTHON_VERSION_MAJOR EQUAL 2)
+ # get PYTHON_SITE_PACKAGES relative path from a python command line
+ execute_process(
+ COMMAND "${PYTHON_EXECUTABLE}" -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='', plat_specific=True))"
+ OUTPUT_VARIABLE PYTHON_SITE_PACKAGES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
endif(PYTHONINTERP_FOUND AND CYTHON_FOUND)
diff --git a/src/cmake/modules/GUDHI_user_version_target.cmake b/src/cmake/modules/GUDHI_user_version_target.cmake
index a764e88a..8642d3bf 100644
--- a/src/cmake/modules/GUDHI_user_version_target.cmake
+++ b/src/cmake/modules/GUDHI_user_version_target.cmake
@@ -47,7 +47,7 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.11)
add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E
copy_directory ${CMAKE_SOURCE_DIR}/src/GudhUI ${GUDHI_USER_VERSION_DIR}/GudhUI)
- set(GUDHI_DIRECTORIES "doc;example;concept")
+ set(GUDHI_DIRECTORIES "doc;example;concept;utilities")
set(GUDHI_INCLUDE_DIRECTORIES "include/gudhi;include/gudhi_patches")
foreach(GUDHI_MODULE ${GUDHI_MODULES})
diff --git a/src/common/utilities/CMakeLists.txt b/src/common/utilities/CMakeLists.txt
index 88d377a7..c2e07e7e 100644
--- a/src/common/utilities/CMakeLists.txt
+++ b/src/common/utilities/CMakeLists.txt
@@ -1,15 +1,18 @@
cmake_minimum_required(VERSION 2.6)
-project(data_points_generator)
+project(off_file_from_shape_generator)
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
- add_executable ( data_points_generator hypergenerator.cpp )
- target_link_libraries(data_points_generator ${Boost_SYSTEM_LIBRARY})
- add_test(NAME data_points_generator_on_sphere_1000_3_15.2 COMMAND $<TARGET_FILE:data_points_generator>
+ add_executable ( off_file_from_shape_generator off_file_from_shape_generator.cpp )
+ target_link_libraries(off_file_from_shape_generator ${Boost_SYSTEM_LIBRARY})
+ add_test(NAME off_file_from_shape_generator_on_sphere_1000_3_15.2 COMMAND $<TARGET_FILE:off_file_from_shape_generator>
"on" "sphere" "onSphere.off" "1000" "3" "15.2")
- add_test(NAME data_points_generator_in_sphere_100_2 COMMAND $<TARGET_FILE:data_points_generator>
+ add_test(NAME off_file_from_shape_generator_in_sphere_100_2 COMMAND $<TARGET_FILE:off_file_from_shape_generator>
"in" "sphere" "inSphere.off" "100" "2")
# on cube is not available in CGAL
- add_test(NAME data_points_generator_in_cube_10000_3_5.8 COMMAND $<TARGET_FILE:data_points_generator>
+ add_test(NAME off_file_from_shape_generator_in_cube_10000_3_5.8 COMMAND $<TARGET_FILE:off_file_from_shape_generator>
"in" "cube" "inCube.off" "10000" "3" "5.8")
+
+ install(TARGETS off_file_from_shape_generator DESTINATION bin)
+
endif(NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
diff --git a/src/common/utilities/README b/src/common/utilities/README
index f2ece556..dc841521 100644
--- a/src/common/utilities/README
+++ b/src/common/utilities/README
@@ -1,18 +1,18 @@
-======================= data_points_generator ==================================
+======================= off_file_from_shape_generator ==================================
Example of use :
-*** Hyper sphere|cube generator
+*** on|in sphere|cube|curve|torus|klein generator
-./data_points_generator on sphere onSphere.off 1000 3 15.2
+./off_file_from_shape_generator on sphere onSphere.off 1000 3 15.2
=> generates a onSphere.off file with 1000 points randomized on a sphere of dimension 3 and radius 15.2
-./data_points_generator in sphere inSphere.off 100 2
+./off_file_from_shape_generator in sphere inSphere.off 100 2
=> generates a inSphere.off file with 100 points randomized in a sphere of dimension 2 (circle) and radius 1.0 (default)
-./data_points_generator in cube inCube.off 10000 3 5.8
+./off_file_from_shape_generator in cube inCube.off 10000 3 5.8
=> generates a inCube.off file with 10000 points randomized in a cube of dimension 3 and side 5.8
diff --git a/src/common/utilities/hypergenerator.cpp b/src/common/utilities/off_file_from_shape_generator.cpp
index 0f310a13..0f310a13 100644
--- a/src/common/utilities/hypergenerator.cpp
+++ b/src/common/utilities/off_file_from_shape_generator.cpp
diff --git a/src/cython/CMakeLists.txt b/src/cython/CMakeLists.txt
index 96c2acb3..62f8d368 100644
--- a/src/cython/CMakeLists.txt
+++ b/src/cython/CMakeLists.txt
@@ -168,17 +168,23 @@ if(CYTHON_FOUND)
configure_file(gudhi.pyx.in "${CMAKE_CURRENT_BINARY_DIR}/gudhi.pyx" @ONLY)
add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so"
+ OUTPUT gudhi.so
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/cythonize_gudhi.py" "build_ext" "--inplace")
- add_custom_target(cython ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so"
+ add_custom_target(cython ALL DEPENDS gudhi.so
COMMENT "Do not forget to add ${CMAKE_CURRENT_BINARY_DIR}/ to your PYTHONPATH before using examples or tests")
if(UNIX)
set( ENV{PYTHONPATH} $ENV{PYTHONPATH}:${CMAKE_CURRENT_BINARY_DIR}/ )
endif(UNIX)
+ # For installation purpose
+ install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" DESTINATION "${PYTHON_SITE_PACKAGES}/" FILES_MATCHING
+ PATTERN "*.so"
+ PATTERN "*.dylib"
+ PATTERN "*.pyd")
+
# Test examples
add_test(NAME alpha_complex_from_points_example_py_test
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}