diff options
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | cmake/CMakeLists.txt | 14 | ||||
| -rw-r--r-- | cmake/Proj4InstallPath.cmake | 24 |
3 files changed, 25 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 702eafaf..d6bbe8ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,6 +128,7 @@ set(LIBDIR "${DEFAULT_LIBDIR}" CACHE PATH "The directory to install libraries in set(DATADIR "${DEFAULT_DATADIR}" CACHE PATH "The directory to install data files into.") set(DOCDIR "${DEFAULT_DOCDIR}" CACHE PATH "The directory to install doc files into.") set(INCLUDEDIR "${DEFAULT_INCLUDEDIR}" CACHE PATH "The directory to install includes into.") +set(CMAKECONFIGDIR "${DEFAULT_CMAKEDIR}" CACHE PATH "The directory to install cmake config files into.") ################################################################################# # Build configured components diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 742da0e9..0fcde0ca 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -2,13 +2,7 @@ # ${INSTALL_CMAKE_DIR} and @PROJECT_ROOT_DIR@ is the relative # path to the root from there. (Note that the whole install tree can # be relocated.) -if (NOT WIN32) - set (INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") - set (PROJECT_ROOT_DIR "../../..") -else () - set (INSTALL_CMAKE_DIR "cmake") - set (PROJECT_ROOT_DIR "..") -endif () +file(RELATIVE_PATH PROJECT_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKECONFIGDIR} ${CMAKE_INSTALL_PREFIX}) string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) configure_file (project-config.cmake.in project-config.cmake @ONLY) @@ -16,14 +10,14 @@ configure_file (project-config-version.cmake.in project-config-version.cmake @ONLY) install (FILES "${CMAKE_CURRENT_BINARY_DIR}/project-config.cmake" - DESTINATION "${INSTALL_CMAKE_DIR}" + DESTINATION "${CMAKECONFIGDIR}" RENAME "${PROJECT_NAME_LOWER}-config.cmake") install (FILES "${CMAKE_CURRENT_BINARY_DIR}/project-config-version.cmake" - DESTINATION "${INSTALL_CMAKE_DIR}" + DESTINATION "${CMAKECONFIGDIR}" RENAME "${PROJECT_NAME_LOWER}-config-version.cmake") # Make information about the cmake targets (the library and the tools) # available. install (EXPORT targets FILE ${PROJECT_NAME_LOWER}-targets.cmake - DESTINATION "${INSTALL_CMAKE_DIR}") + DESTINATION "${CMAKECONFIGDIR}") diff --git a/cmake/Proj4InstallPath.cmake b/cmake/Proj4InstallPath.cmake index da1491c0..04f24670 100644 --- a/cmake/Proj4InstallPath.cmake +++ b/cmake/Proj4InstallPath.cmake @@ -15,19 +15,29 @@ endif(UNIX) IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - SET(CMAKE_INSTALL_PREFIX ${DEFAULT_PROJ_ROOT_DIR} CACHE PATH "Foo install + SET(CMAKE_INSTALL_PREFIX ${DEFAULT_PROJ_ROOT_DIR} CACHE PATH "Proj.4 install prefix" FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) #TODO # for data install testing the PROJ_LIB envVar +string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) if(WIN32) set(DEFAULT_BIN_SUBDIR bin) set(DEFAULT_LIB_SUBDIR local/lib) set(DEFAULT_DATA_SUBDIR share) set(DEFAULT_INCLUDE_SUBDIR local/include) set(DEFAULT_DOC_SUBDIR share/doc/proj) + set(DEFAULT_CMAKE_SUBDIR local/lib/cmake/${PROJECT_NAME_LOWER}) +elseif(UNIX) + include(GNUInstallDirs) + set(DEFAULT_BIN_SUBDIR ${CMAKE_INSTALL_BINDIR}) + set(DEFAULT_LIB_SUBDIR ${CMAKE_INSTALL_LIBDIR}) + set(DEFAULT_DATA_SUBDIR ${CMAKE_INSTALL_DATADIR}) + set(DEFAULT_INCLUDE_SUBDIR ${CMAKE_INSTALL_INCLUDEDIR}) + set(DEFAULT_DOC_SUBDIR ${CMAKE_INSTALL_DOCDIR}) + set(DEFAULT_CMAKE_SUBDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME_LOWER}) else() # Common locatoins for Unix and Mac OS X set(DEFAULT_BIN_SUBDIR bin) @@ -35,9 +45,11 @@ else() set(DEFAULT_DATA_SUBDIR share/proj) set(DEFAULT_DOC_SUBDIR doc/proj) set(DEFAULT_INCLUDE_SUBDIR include) + set(DEFAULT_DOC_SUBDIR share/doc/proj) + set(DEFAULT_CMAKE_SUBDIR lib/cmake/${PROJECT_NAME_LOWER}) endif() -# Locations are changeable by user to customize layout of PDAL installation +# Locations are changeable by user to customize layout of Proj.4 installation # (default values are platform-specific) set(PROJ_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING "Subdirectory where executables will be installed") @@ -48,7 +60,9 @@ set(PROJ_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING set(PROJ_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING "Subdirectory where data will be installed") set(PROJ_DOC_SUBDIR ${DEFAULT_DOC_SUBDIR} CACHE STRING - "Subdirectory where data will be installed") + "Subdirectory where doc will be installed") +set(PROJ_CMAKE_SUBDIR ${DEFAULT_CMAKE_SUBDIR} CACHE STRING + "Subdirectory where cmake proj4-config file will be installed") # Mark *DIR variables as advanced and dedicated to use by power-users only. mark_as_advanced(PROJ_ROOT_DIR @@ -56,12 +70,14 @@ mark_as_advanced(PROJ_ROOT_DIR PROJ_LIB_SUBDIR PROJ_INCLUDE_SUBDIR PROJ_DATA_SUBDIR - PROJ_DOC_SUBDIR ) + PROJ_DOC_SUBDIR + PROJ_CMAKE_SUBDIR ) set(DEFAULT_BINDIR "${PROJ_BIN_SUBDIR}") set(DEFAULT_LIBDIR "${PROJ_LIB_SUBDIR}") set(DEFAULT_DATADIR "${PROJ_DATA_SUBDIR}") set(DEFAULT_DOCDIR "${PROJ_DOC_SUBDIR}") set(DEFAULT_INCLUDEDIR "${PROJ_INCLUDE_SUBDIR}") +set(DEFAULT_CMAKEDIR "${PROJ_CMAKE_SUBDIR}") |
