11cmake_minimum_required (VERSION 2.8)
22project ( CTL )
33
4+ INCLUDE ( GNUInstallDirs )
5+
46set ( CTL_MAJOR_VERSION 1 )
57set ( CTL_MINOR_VERSION 5 )
6- set ( CTL_PATCH_VERSION 0 )
8+ set ( CTL_PATCH_VERSION 2 )
79set ( CTL_VERSION ${CTL_MAJOR_VERSION} .${CTL_MINOR_VERSION} .${CTL_PATCH_VERSION} )
810
9- ## Make install directories overrideable
10- set ( INSTALL_LIB_DIR lib CACHE PATH "Install directory for libraries" )
11- set ( INSTALL_BIN_DIR bin CACHE PATH "Install directory for executable binaries" )
12- set ( INSTALL_INCLUDE_DIR include CACHE PATH "Install directory for public header files" )
13- set ( INSTALL_DOC_DIR doc CACHE PATH "Install directory for documentation" )
14- if ( WIN32 AND NOT CYGWIN )
15- set (DEF_INSTALL_CMAKE_DIR CMake)
16- else ()
17- set (DEF_INSTALL_CMAKE_DIR lib/CMake/CTL)
18- endif ()
19- set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install directory for project CMake files" )
11+ set (INSTALL_CMAKE_DIR ${CMAKE_INSTALL_FULL_LIBDIR} /CMake/CTL CACHE PATH "Install directory for project CMake files" )
2012
2113# use, i.e. don't skip the full RPATH for the build tree
2214SET (CMAKE_SKIP_BUILD_RPATH FALSE )
@@ -28,20 +20,11 @@ SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
2820# which point to directories outside the build tree to the install RPATH
2921SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
3022# the RPATH to be used when installing, but only if it's not a system directory
31- LIST (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX} /lib " isSystemDir)
23+ LIST (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_FULL_LIBDIR} " isSystemDir)
3224IF ("${isSystemDir} " STREQUAL "-1" )
33- SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX} /lib " )
25+ SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR} " )
3426ENDIF ("${isSystemDir} " STREQUAL "-1" )
3527
36-
37- ## convert install paths to absolute
38- foreach ( p LIB BIN INCLUDE CMAKE DOC )
39- set ( var INSTALL_${p} _DIR )
40- if ( NOT IS_ABSOLUTE "${${var} }" )
41- set ( ${var} "${CMAKE_INSTALL_PREFIX} /${${var} }" )
42- endif ()
43- endforeach ()
44-
4528option (ENABLE_SHARED "Enable Shared Libraries" ON )
4629
4730if ( ENABLE_SHARED )
@@ -70,20 +53,19 @@ export( TARGETS IlmCtl IlmCtlMath IlmCtlSimd FILE "${PROJECT_BINARY_DIR}/CTLLibr
7053export (PACKAGE CTL)
7154
7255# Create a CTLBuildTreeSettings.cmake file for the use from the build tree
73- file (RELATIVE_PATH CONF_REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR} " "${INSTALL_INCLUDE_DIR } " )
56+ file (RELATIVE_PATH CONF_REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR} " "${CMAKE_INSTALL_FULL_INCLUDEDIR } " )
7457configure_file (config/CTLBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR} /CTLBuildTreeSettings.cmake" @ONLY)
7558configure_file (config/CTLConfig.cmake.in "${PROJECT_BINARY_DIR} /CTLConfig.cmake" @ONLY)
7659configure_file (config/CTLConfigVersion.cmake.in "${PROJECT_BINARY_DIR} /CTLConfigVersion.cmake" @ONLY)
7760
7861if ( PKG_CONFIG_FOUND )
7962configure_file (config/CTL.pc.in "${PROJECT_BINARY_DIR} /CTL.pc" @ONLY)
80- install ( FILES "${PROJECT_BINARY_DIR} /CTL.pc" DESTINATION lib /pkgconfig COMPONENT dev )
63+ install ( FILES "${PROJECT_BINARY_DIR} /CTL.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig COMPONENT dev )
8164endif ()
8265
8366install ( FILES
8467 "${PROJECT_BINARY_DIR} /CTLConfig.cmake"
8568 "${PROJECT_BINARY_DIR} /CTLConfigVersion.cmake"
69+ "${PROJECT_BINARY_DIR} /CTLLibraryDepends.cmake"
8670 DESTINATION "${INSTALL_CMAKE_DIR} " COMPONENT dev)
87- install (FILES "${PROJECT_BINARY_DIR} /CTLLibraryDepends.cmake" DESTINATION
88- "${INSTALL_CMAKE_DIR} " COMPONENT dev)
8971
0 commit comments