aboutsummaryrefslogtreecommitdiff
path: root/cmake/Proj4InstallPath.cmake
diff options
context:
space:
mode:
authorNicolas David <nicolas.david@ign.fr>2017-09-25 21:05:46 +0200
committerHoward Butler <howard@hobu.co>2017-09-25 14:05:46 -0500
commit6ea5a3cbe601bc14cb18614fdaa97092abf96f3c (patch)
tree6a5c424cd836b617354b9222b4396548d9a232e4 /cmake/Proj4InstallPath.cmake
parent03750c1961d2978773ac0b4a0423b1cdcc2c6453 (diff)
downloadPROJ-6ea5a3cbe601bc14cb18614fdaa97092abf96f3c.tar.gz
PROJ-6ea5a3cbe601bc14cb18614fdaa97092abf96f3c.zip
fix #560 install cmake config file to lib and use GNUInstallDirs on Unix (#561)
* fix #560 install proj4-config.cmake to defaut path * add some variable and cmake option to specify where the cmake config file should be installed. * change project_root_dir use in project-config.cmake.in variable from hard coded path to computed path with file(RELATIVE_PATH) function. * Still use the old project-config.cmake/configure_file way of generate config file. A cleaner way could be to use the modern cmake export(target ..) * use GNUInstallDirs for default unix install path
Diffstat (limited to 'cmake/Proj4InstallPath.cmake')
-rw-r--r--cmake/Proj4InstallPath.cmake24
1 files changed, 20 insertions, 4 deletions
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}")