From 5f62ba7ffa4322a16c811f59fbf206a3b41ff7f7 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Tue, 6 Oct 2015 15:33:33 +0000 Subject: Cmake fixes git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@834 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b11aad4d7984b2f156fac8df298516c7780b0df4 --- scripts/generate_version.sh | 1 + src/CMakeLists.txt | 44 +++++++---------------------------------- src/GUDHIConfig.cmake.in | 8 -------- src/GUDHIConfigVersion.cmake.in | 11 +++++++++++ 4 files changed, 19 insertions(+), 45 deletions(-) create mode 100644 src/GUDHIConfigVersion.cmake.in diff --git a/scripts/generate_version.sh b/scripts/generate_version.sh index 533f51ed..43a54c1c 100755 --- a/scripts/generate_version.sh +++ b/scripts/generate_version.sh @@ -55,6 +55,7 @@ cp $ROOT_DIR/src/Doxyfile $VERSION_DIR cp -R $ROOT_DIR/biblio $VERSION_DIR cp $ROOT_DIR/src/GUDHIConfigVersion.cmake.in $VERSION_DIR cp $ROOT_DIR/src/GUDHIConfig.cmake.in $VERSION_DIR +cp $ROOT_DIR/GUDHIVersion.cmake.in $VERSION_DIR # PACKAGE LEVEL COPY PACKAGE_INC_DIR="/include" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e8297aa8..010bd995 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -38,29 +38,6 @@ else() INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) - #--------------------------------------------------------------------------------------- - # GUDHIConfig.cmake 1st part - - # Offer the user the choice of overriding the installation directories - i.e. "cmake -DGUDHI_DIR=~/gudhi/GUDHI_1.2.0 ." - set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") - set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") - set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") - if(WIN32 AND NOT CYGWIN) - set(DEF_INSTALL_CMAKE_DIR CMake) - else() - set(DEF_INSTALL_CMAKE_DIR lib/CMake/GUDHI) - endif() - set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") - - # Make relative paths absolute (needed later on) - foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() - endforeach() - #--------------------------------------------------------------------------------------- - #--------------------------------------------------------------------------------------- # Gudhi compilation part include_directories(include) @@ -80,33 +57,26 @@ else() #--------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------- - # GUDHIConfig.cmake 2nd part + # GUDHIConfig.cmake # Export the package for use from the build-tree # (this registers the build-tree with a global CMake-registry) export(PACKAGE GUDHI) # Create the GUDHIConfig.cmake and GUDHIConfigVersion files - file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INSTALL_INCLUDE_DIR}") - # ... for the build tree - set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") + set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include") configure_file(GUDHIConfig.cmake.in "${PROJECT_BINARY_DIR}/GUDHIConfig.cmake" @ONLY) - # ... for the install tree - set(CONF_INCLUDE_DIRS "\${GUDHI_CMAKE_DIR}/${REL_INCLUDE_DIR}") - configure_file(GUDHIConfig.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/GUDHIConfig.cmake" @ONLY) - # ... for both configure_file(GUDHIConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/GUDHIConfigVersion.cmake" @ONLY) - configure_file(GUDHIVersion.cmake.in "${PROJECT_BINARY_DIR}/GUDHIVersion.cmake" @ONLY) + #--------------------------------------------------------------------------------------- + + #--------------------------------------------------------------------------------------- + # Gudhi installation part # Install the GUDHIConfig.cmake and GUDHIConfigVersion.cmake install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/GUDHIConfig.cmake" "${PROJECT_BINARY_DIR}/GUDHIConfigVersion.cmake" - DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev) - #--------------------------------------------------------------------------------------- - - #--------------------------------------------------------------------------------------- - # Gudhi installation part + DESTINATION share/gudhi) # install the include file on "make install" install(DIRECTORY include/gudhi DESTINATION include) diff --git a/src/GUDHIConfig.cmake.in b/src/GUDHIConfig.cmake.in index 83aa61e7..02b540dc 100644 --- a/src/GUDHIConfig.cmake.in +++ b/src/GUDHIConfig.cmake.in @@ -1,15 +1,7 @@ # - Config file for the GUDHI package # It defines the following variables # GUDHI_INCLUDE_DIRS - include directories for GUDHI -# GUDHI_LIBRARIES - libraries to link against -# GUDHI_EXECUTABLE - the executables # Compute paths -get_filename_component(GUDHI_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(GUDHI_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") -# Our library dependencies (contains definitions for IMPORTED targets) -include("${GUDHI_CMAKE_DIR}/GUDHITargets.cmake") - -# These are IMPORTED targets created by GUDHITargets.cmake -set(GUDHI_EXECUTABLE mini_simplex_tree) diff --git a/src/GUDHIConfigVersion.cmake.in b/src/GUDHIConfigVersion.cmake.in new file mode 100644 index 00000000..6d443ef6 --- /dev/null +++ b/src/GUDHIConfigVersion.cmake.in @@ -0,0 +1,11 @@ +set(PACKAGE_VERSION "@GUDHI_VERSION@") + +# Check whether the requested PACKAGE_FIND_VERSION is compatible +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() -- cgit v1.2.3