From 3d759d35c5cbc393d1848b0476fe6bccb1866ae5 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Wed, 18 Jul 2018 11:08:04 +0200
Subject: [PATCH 1/2] Switch to CMAKE default variables
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
---
CMakeLists.txt | 31 ++++++-----------------------
config/AcesContainer.pc.in | 6 +++---
config/AcesContainerConfig.cmake.in | 4 ++--
3 files changed, 11 insertions(+), 30 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 314d42c..f5fa059 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,35 +48,20 @@ cmake_minimum_required (VERSION 2.6)
project (AcesContainer)
include (GenerateExportHeader)
+include (GNUInstallDirs)
set( AcesContainer_MAJOR_VERSION 1 )
set( AcesContainer_MINOR_VERSION 0 )
set( AcesContainer_PATCH_VERSION 2 )
set( AcesContainer_VERSION ${AcesContainer_MAJOR_VERSION}.${AcesContainer_MINOR_VERSION}.${AcesContainer_PATCH_VERSION} )
-set( INSTALL_LIB_DIR lib CACHE PATH "Install directory for libraries" )
-set( INSTALL_INCLUDE_DIR include CACHE PATH "Install directory for public header files" )
-
-
if(APPLE)
set( CMAKE_MACOSX_RPATH 1 )
endif()
if( WIN32 AND NOT CYGWIN )
- set(DEF_INSTALL_CMAKE_DIR CMake)
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0" )
-else()
- set(DEF_INSTALL_CMAKE_DIR lib/CMake/AcesContainer)
endif()
-set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install directory for project CMake files" )
-
-## convert install paths to absolute
-foreach( p LIB INCLUDE CMAKE )
- set( var INSTALL_${p}_DIR )
- if( NOT IS_ABSOLUTE "${${var}}" )
- set( ${var} "${CMAKE_INSTALL_PREFIX}/${${var}}" )
- endif()
-endforeach()
OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
IF ( BUILD_SHARED_LIBS )
@@ -103,7 +88,7 @@ GENERATE_EXPORT_HEADER( AcesContainer
STATIC_DEFINE AcesContainer_BUILT_AS_STATIC
)
-install (TARGETS AcesContainer EXPORT AcesContainerTargets DESTINATION ${INSTALL_LIB_DIR})
+install (TARGETS AcesContainer EXPORT AcesContainerTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
install (FILES
aces_errors.h
aces_genericWriter.h
@@ -118,14 +103,14 @@ install (FILES
aces_types.h
aces_writeattributes.h
DESTINATION
- ${INSTALL_INCLUDE_DIR}/aces
+ ${CMAKE_INSTALL_INCLUDEDIR}/aces
)
find_package( PkgConfig )
if ( PKG_CONFIG_FOUND )
configure_file(config/AcesContainer.pc.in "${PROJECT_BINARY_DIR}/AcesContainer.pc" @ONLY)
-install( FILES "${PROJECT_BINARY_DIR}/AcesContainer.pc" DESTINATION lib/pkgconfig COMPONENT dev )
+install( FILES "${PROJECT_BINARY_DIR}/AcesContainer.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev )
endif()
include_directories(
@@ -143,10 +128,6 @@ export(TARGETS AcesContainer
export(PACKAGE AcesContainer)
# export(PACKAGE AcesContainer_lib)
-# Create the FooBarConfig.cmake and FooBarConfigVersion files
-file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
- "${INSTALL_INCLUDE_DIR}")
-
# ... for the build tree
set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
set(CONF_LIB_DIRS "${PROJECT_BINARY_DIR}")
@@ -166,10 +147,10 @@ configure_file(config/AcesContainerConfigVersion.cmake.in
install(FILES
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/AcesContainerConfig.cmake"
"${PROJECT_BINARY_DIR}/AcesContainerConfigVersion.cmake"
- DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/AcesContainer" COMPONENT dev)
# Install the export set for use with the install-tree
install(EXPORT AcesContainerTargets DESTINATION
- "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+ "${CMAKE_INSTALL_LIBDIR}/cmake/AcesContainer" COMPONENT dev)
diff --git a/config/AcesContainer.pc.in b/config/AcesContainer.pc.in
index 838a1d9..a186346 100644
--- a/config/AcesContainer.pc.in
+++ b/config/AcesContainer.pc.in
@@ -45,9 +45,9 @@
# A.M.P.A.S., WHETHER DISCLOSED OR UNDISCLOSED.
prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@INSTALL_LIB_DIR@
-includedir=@INSTALL_INCLUDE_DIR@
-AcesContainer_includedir=@INSTALL_INCLUDE_DIR@/aces
+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+includedir=@CMAKE_INSTALL_PREFIX@@CMAKE_INSTALL_INCLUDEDIR@
+AcesContainer_includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/aces
Name: AcesContainer
Description: A library containing an implementation of ACES Image Container File
diff --git a/config/AcesContainerConfig.cmake.in b/config/AcesContainerConfig.cmake.in
index f5e6392..c35e145 100644
--- a/config/AcesContainerConfig.cmake.in
+++ b/config/AcesContainerConfig.cmake.in
@@ -53,10 +53,10 @@
# find paths
get_filename_component( AcesContainer_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
-set(AcesContainer_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
+set(AcesContainer_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/aces")
set(AcesContainer_LIBRARIES AcesContainer )
-set(AcesContainer_LIBRARY_DIRS "@CONF_LIB_DIRS@" )
+set(AcesContainer_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" )
set(AcesContainer_VERSION "@AcesContainer_VERSION@" )
set(AcesContainer_FOUND 1 )
--
2.17.1