From 2ef73a660a093b8350edea9474e887cd6792f8e8 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Fri, 1 Jul 2016 09:26:36 +0000 Subject: Eigen3 find_package factorization CGAL find package in root CMakeLists.txt for Witness complex git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/eigen3_cmake_factorization@1377 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 32137f7687837c63ecfab3a2d11114b27873a1f2 --- CMakeLists.txt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e85be8a..1d151455 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,9 +20,11 @@ else() find_package(GMP) if(GMP_FOUND) + message(STATUS "GMP_LIBRARIES = ${GMP_LIBRARIES}") INCLUDE_DIRECTORIES(${GMP_INCLUDE_DIR}) find_package(GMPXX) if(GMPXX_FOUND) + message(STATUS "GMPXX_LIBRARIES = ${GMPXX_LIBRARIES}") INCLUDE_DIRECTORIES(${GMPXX_INCLUDE_DIR}) endif() endif() @@ -40,6 +42,7 @@ else() unset(CGAL_FOUND) endif() if(CGAL_FOUND) + message(STATUS "CGAL version: ${CGAL_VERSION}.") include( ${CGAL_USE_FILE} ) endif() @@ -69,6 +72,13 @@ else() add_definitions(-DGUDHI_USE_TBB) endif() + find_package(Eigen3 3.1.0) + if (EIGEN3_FOUND) + message(STATUS "Eigen3 version: ${EIGEN3_VERSION}.") + include( ${EIGEN3_USE_FILE} ) + #include_directories (BEFORE "../../include") + endif (EIGEN3_FOUND) + # Required programs for unitary tests purpose FIND_PROGRAM( GCOVR_PATH gcovr ) if (GCOVR_PATH) @@ -79,10 +89,10 @@ else() if (GPROF_PATH) message("gprof found in ${GPROF_PATH}") endif() -FIND_PROGRAM( DIFF_PATH diff ) -if (DIFF_PATH) - message("diff found in ${DIFF_PATH}") -endif() + FIND_PROGRAM( DIFF_PATH diff ) + if (DIFF_PATH) + message("diff found in ${DIFF_PATH}") + endif() # BOOST ISSUE result_of vs C++11 add_definitions(-DBOOST_RESULT_OF_USE_DECLTYPE) -- cgit v1.2.3 From 7ee6f2b6dde473d7b54246980d61a6a7212cde19 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Wed, 7 Sep 2016 21:32:58 +0000 Subject: Add GUDHI user_version target to replace generate_version.sh git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/make_user_version@1479 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b41a86ec3bed234b8fa1988b48de058ab501c392 --- CMakeLists.txt | 3 + src/cmake/modules/GUDHI_user_version_target.txt | 80 +++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 src/cmake/modules/GUDHI_user_version_target.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d151455..f77adfa8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,9 @@ else() enable_testing() + # For "make user_version" + include(${CMAKE_MODULE_PATH}/GUDHI_user_version_target.txt) + find_package(GMP) if(GMP_FOUND) message(STATUS "GMP_LIBRARIES = ${GMP_LIBRARIES}") diff --git a/src/cmake/modules/GUDHI_user_version_target.txt b/src/cmake/modules/GUDHI_user_version_target.txt new file mode 100644 index 00000000..d799fced --- /dev/null +++ b/src/cmake/modules/GUDHI_user_version_target.txt @@ -0,0 +1,80 @@ +#cmake_minimum_required(VERSION 2.8.11) + +string(TIMESTAMP DATE_AND_TIME "%Y-%m-%d-%H-%M-%S") + +# Definition of the custom target user_version +add_custom_target(user_version) + +set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR}/${DATE_AND_TIME}_GUDHI_${GUDHI_VERSION}) +message("++ Directory creation : ${GUDHI_USER_VERSION_DIR}") +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + make_directory ${GUDHI_USER_VERSION_DIR}) + +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/README ${GUDHI_USER_VERSION_DIR}/README) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/COPYING ${GUDHI_USER_VERSION_DIR}/COPYING) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/src/CMakeLists.txt ${GUDHI_USER_VERSION_DIR}/CMakeLists.txt) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/src/Doxyfile ${GUDHI_USER_VERSION_DIR}/Doxyfile) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/src/GUDHIConfigVersion.cmake.in ${GUDHI_USER_VERSION_DIR}/GUDHIConfigVersion.cmake.in) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/src/GUDHIConfig.cmake.in ${GUDHI_USER_VERSION_DIR}/GUDHIConfig.cmake.in) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/CMakeGUDHIVersion.txt ${GUDHI_USER_VERSION_DIR}/CMakeGUDHIVersion.txt) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_SOURCE_DIR}/GUDHIVersion.cmake.in ${GUDHI_USER_VERSION_DIR}/GUDHIVersion.cmake.in) + +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy_directory ${CMAKE_SOURCE_DIR}/biblio ${GUDHI_USER_VERSION_DIR}/biblio) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy_directory ${CMAKE_SOURCE_DIR}/data ${GUDHI_USER_VERSION_DIR}/data) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy_directory ${CMAKE_SOURCE_DIR}/src/cmake ${GUDHI_USER_VERSION_DIR}/cmake) +add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy_directory ${CMAKE_SOURCE_DIR}/src/debian ${GUDHI_USER_VERSION_DIR}/debian) +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_MODULES "common;Alpha_complex;Bitmap_cubical_complex;Contraction;Hasse_complex;Persistent_cohomology;Simplex_tree;Skeleton_blocker;Witness_complex") + +foreach(GUDHI_MODULE ${GUDHI_MODULES}) + # doc files + file(GLOB GUDHI_DOC_FILES ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/doc/*) + + foreach(GUDHI_DOC_FILE ${GUDHI_DOC_FILES}) + get_filename_component(GUDHI_DOC_FILE_NAME ${GUDHI_DOC_FILE} NAME) + add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${GUDHI_DOC_FILE} ${GUDHI_USER_VERSION_DIR}/doc/${GUDHI_MODULE}/${GUDHI_DOC_FILE_NAME}) + endforeach() + + # example files + file(GLOB GUDHI_EXAMPLE_FILES ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/example/*) + + foreach(GUDHI_EXAMPLE_FILE ${GUDHI_EXAMPLE_FILES}) + get_filename_component(GUDHI_EXAMPLE_FILE_NAME ${GUDHI_EXAMPLE_FILE} NAME) + add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${GUDHI_EXAMPLE_FILE} ${GUDHI_USER_VERSION_DIR}/example/${GUDHI_MODULE}/${GUDHI_EXAMPLE_FILE_NAME}) + endforeach() + + # include files + file(GLOB GUDHI_INCLUDE_FILES ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/include/gudhi/*) + + foreach(GUDHI_INCLUDE_FILE ${GUDHI_INCLUDE_FILES}) + get_filename_component(GUDHI_INCLUDE_FILE_NAME ${GUDHI_INCLUDE_FILE} NAME) + add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${GUDHI_INCLUDE_FILE} ${GUDHI_USER_VERSION_DIR}/include/gudhi/${GUDHI_INCLUDE_FILE_NAME}) + message("oo copy ${GUDHI_INCLUDE_FILE} to ${GUDHI_USER_VERSION_DIR}/include/gudhi/${GUDHI_INCLUDE_FILE_NAME})") + endforeach() + + # concept files + file(GLOB GUDHI_CONCEPT_FILES ${CMAKE_SOURCE_DIR}/src/${GUDHI_MODULE}/concept/*.h) + + foreach(GUDHI_CONCEPT_FILE ${GUDHI_CONCEPT_FILES}) + get_filename_component(GUDHI_CONCEPT_FILE_NAME ${GUDHI_CONCEPT_FILE} NAME) + add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + copy ${GUDHI_CONCEPT_FILE} ${GUDHI_USER_VERSION_DIR}/concept/${GUDHI_MODULE}/${GUDHI_CONCEPT_FILE_NAME}) + endforeach() +endforeach() \ No newline at end of file -- cgit v1.2.3 From 6fac3d6c1cf3ef3f3d5a0f96854685606fcbf7af Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Thu, 8 Sep 2016 15:30:09 +0000 Subject: Add doxygen target for user and developper version. git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/make_user_version@1481 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b76661a6d3e91508ffa21f1e183a5e822f6a92bf --- CMakeLists.txt | 2 ++ src/CMakeLists.txt | 4 ++++ src/cmake/modules/GUDHI_doxygen_target.txt | 11 +++++++++++ src/cmake/modules/GUDHI_user_version_target.txt | 10 +++++++++- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/cmake/modules/GUDHI_doxygen_target.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index f77adfa8..4ce556b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,8 @@ else() # For "make user_version" include(${CMAKE_MODULE_PATH}/GUDHI_user_version_target.txt) + # For "make doxygen" + include(${CMAKE_MODULE_PATH}/GUDHI_doxygen_target.txt) find_package(GMP) if(GMP_FOUND) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c02f816d..cde949e1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,6 +15,10 @@ if(NOT Boost_FOUND) message(FATAL_ERROR "NOTICE: This demo requires Boost and will not be compiled.") else() + # For "make doxygen" + set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR}) + include(${CMAKE_MODULE_PATH}/GUDHI_doxygen_target.txt) + find_package(GMP) if(GMP_FOUND) message(STATUS "GMP_LIBRARIES = ${GMP_LIBRARIES}") diff --git a/src/cmake/modules/GUDHI_doxygen_target.txt b/src/cmake/modules/GUDHI_doxygen_target.txt new file mode 100644 index 00000000..d2cb952d --- /dev/null +++ b/src/cmake/modules/GUDHI_doxygen_target.txt @@ -0,0 +1,11 @@ +# add a target to generate API documentation with Doxygen +find_package(Doxygen) +if(DOXYGEN_FOUND) + # configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) + + add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} ${GUDHI_USER_VERSION_DIR}/Doxyfile + WORKING_DIRECTORY ${GUDHI_USER_VERSION_DIR} + DEPENDS ${GUDHI_USER_VERSION_DIR}/Doxyfile ${GUDHI_DOXYGEN_DEPENDENCY} + COMMENT "Generating API documentation with Doxygen in ${GUDHI_USER_VERSION_DIR}/doc/html/" VERBATIM) + +endif(DOXYGEN_FOUND) diff --git a/src/cmake/modules/GUDHI_user_version_target.txt b/src/cmake/modules/GUDHI_user_version_target.txt index 8d556a72..805f0a83 100644 --- a/src/cmake/modules/GUDHI_user_version_target.txt +++ b/src/cmake/modules/GUDHI_user_version_target.txt @@ -6,7 +6,15 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.11) # Definition of the custom target user_version add_custom_target(user_version) - set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR}/${DATE_AND_TIME}_GUDHI_${GUDHI_VERSION}) + if(DEFINED USER_VERSION_DIR) + # set the GUDHI_USER_VERSION_DIR with USER_VERSION_DIR defined by the user + set(GUDHI_USER_VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/${USER_VERSION_DIR}) + else() + # set the GUDHI_USER_VERSION_DIR with timestamp and Gudhi version number + set(GUDHI_USER_VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/${DATE_AND_TIME}_GUDHI_${GUDHI_VERSION}) + endif() + + set(GUDHI_DOXYGEN_DEPENDENCY user_version) add_custom_command(TARGET user_version PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${GUDHI_USER_VERSION_DIR} -- cgit v1.2.3 From 21eb395a9571d4b6df64b4972f6727b235369836 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Wed, 14 Sep 2016 05:56:34 +0000 Subject: -Wsign-compare is included into -Wall -pedantic is recognized by icpc (and also gcc and clang) unlike -Wpedantic git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@1494 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 6ad63e46a4e077bc4e16852eb0cb443db7c5197d --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ce556b2..42a56fdc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,7 +55,7 @@ else() # Turn off some VC++ warnings set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4668 /wd4311 /wd4800 /wd4820 /wd4503 /wd4244 /wd4345 /wd4996 /wd4396 /wd4018") else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wpedantic -Wsign-compare") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -pedantic") endif() if(CMAKE_BUILD_TYPE MATCHES Debug) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cde949e1..c7744c49 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,7 +53,7 @@ else() # Turn off some VC++ warnings set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4668 /wd4311 /wd4800 /wd4820 /wd4503 /wd4244 /wd4345 /wd4996 /wd4396 /wd4018") else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wpedantic -Wsign-compare") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -pedantic") endif() if(CMAKE_BUILD_TYPE MATCHES Debug) -- cgit v1.2.3