Skip to content

Commit e284bd9

Browse files
committed
CTL: Use GNUInstallDirs and fix PkgConfig files
1 parent 57b48a2 commit e284bd9

File tree

15 files changed

+47
-91
lines changed

15 files changed

+47
-91
lines changed

CMakeLists.txt

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
11
cmake_minimum_required(VERSION 2.8)
22
project( CTL )
33

4+
INCLUDE ( GNUInstallDirs )
5+
46
set( CTL_MAJOR_VERSION 1 )
57
set( CTL_MINOR_VERSION 5 )
6-
set( CTL_PATCH_VERSION 0 )
8+
set( CTL_PATCH_VERSION 2 )
79
set( 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
2214
SET(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
2921
SET(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)
3224
IF("${isSystemDir}" STREQUAL "-1")
33-
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
25+
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
3426
ENDIF("${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-
4528
option(ENABLE_SHARED "Enable Shared Libraries" ON)
4629

4730
if ( ENABLE_SHARED )
@@ -70,20 +53,19 @@ export( TARGETS IlmCtl IlmCtlMath IlmCtlSimd FILE "${PROJECT_BINARY_DIR}/CTLLibr
7053
export(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}")
7457
configure_file(config/CTLBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/CTLBuildTreeSettings.cmake" @ONLY)
7558
configure_file(config/CTLConfig.cmake.in "${PROJECT_BINARY_DIR}/CTLConfig.cmake" @ONLY)
7659
configure_file(config/CTLConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/CTLConfigVersion.cmake" @ONLY)
7760

7861
if ( PKG_CONFIG_FOUND )
7962
configure_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 )
8164
endif()
8265

8366
install( 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

OpenEXR_CTL/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ add_custom_target( OpenEXR_CTL DEPENDS CtlModules exrdpx exr_ctl_exr )
1313

1414
if ( PKG_CONFIG_FOUND )
1515
configure_file(../config/OpenEXR_CTL.pc.in "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" @ONLY)
16-
install( FILES "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" DESTINATION lib/pkgconfig COMPONENT dev )
16+
install( FILES "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev )
1717
endif()
1818

1919
# TODO CMake config

OpenEXR_CTL/CtlModules/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ install(
22
FILES
33
utilities.ctl
44
DESTINATION
5-
${INSTALL_LIB_DIR}/CTL
5+
${CMAKE_INSTALL_LIBDIR}/CTL
66
)
77

OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ target_link_libraries( exr_ctl_exr IlmCtlSimd IlmCtlMath IlmCtl IlmImfCtl )
2020
target_link_libraries( exr_ctl_exr ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} )
2121
target_link_libraries( exr_ctl_exr ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} )
2222

23-
install( TARGETS exr_ctl_exr DESTINATION ${INSTALL_BIN_DIR} )
23+
install( TARGETS exr_ctl_exr DESTINATION ${CMAKE_INSTALL_BINDIR} )
2424

25-
install( FILES change_saturation.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL )
25+
install( FILES change_saturation.ctl DESTINATION ${CMAKE_INSTALL_LIBDIR}/CTL )

OpenEXR_CTL/exrdpx/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ target_link_libraries( exrdpx IlmCtlSimd IlmCtlMath IlmCtl IlmImfCtl )
2020
target_link_libraries( exrdpx ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} )
2121
target_link_libraries( exrdpx ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} )
2222

23-
install( TARGETS exrdpx DESTINATION ${INSTALL_BIN_DIR} )
23+
install( TARGETS exrdpx DESTINATION ${CMAKE_INSTALL_BINDIR} )
2424

25-
install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL )
25+
install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${CMAKE_INSTALL_LIBDIR}/CTL )
2626

2727

config/CTL.pc.in

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
prefix=@CMAKE_INSTALL_PREFIX@
2-
exec_prefix=@INSTALL_BIN_DIR@
3-
libdir=@INSTALL_LIB_DIR@
4-
includedir=@INSTALL_INCLUDE_DIR@
5-
CTL_includedir=@INSTALL_INCLUDE_DIR@/CTL
1+
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2+
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3+
CTL_includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/CTL
64

75
Name: CTL
86
Description: CTL interpreter library

config/OpenEXR_CTL.pc.in

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
prefix=@prefix@
2-
exec_prefix=@exec_prefix@
3-
libdir=@libdir@
4-
includedir=@includedir@
5-
OpenEXR_includedir=@includedir@/OpenEXR
1+
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
2+
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
3+
OpenEXR_includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/OpenEXR
64

75
Name: OpenEXR_CTL
86
Description: Simplified OpenEXR interface to CTL
9-
Version: @OPENEXR_CTL_VERSION@
10-
Libs: -L${libdir} -lIlmImfCtl @OPENEXR_LDFLAGS@ @CTL_LDFLAGS@
11-
Cflags: @CTL_CXXFLAGS_PC@ @OPENEXR_CXXFLAGS@ -I${OpenEXR_includedir}
7+
Version: @CTL_VERSION@
8+
Libs: -L${libdir} -lIlmImfCtl
9+
Cflags: -I${OpenEXR_includedir}
10+
Requires: CTL,OpenEXR

configure.cmake

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# Until we get some of these modules into the upstream packages, put them here
2-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
3-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_INSTALL_PREFIX}/share/CMake")
1+
# Make Pkg-Config required.
2+
find_package( PkgConfig )
43

5-
find_package( PkgConfig QUIET )
6-
7-
find_package( IlmBase QUIET )
4+
PKG_CHECK_MODULES ( IlmBase REQUIRED IlmBase )
85
if(IlmBase_FOUND)
96
message( STATUS "found IlmBase, version ${IlmBase_VERSION}" )
107
###
@@ -13,11 +10,11 @@ if(IlmBase_FOUND)
1310
###
1411
include_directories( ${IlmBase_INCLUDE_DIRS} )
1512
link_directories( ${IlmBase_LIBRARY_DIRS} )
16-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IlmBase_CFLAGS}" )
17-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IlmBase_CFLAGS}" )
18-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
19-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
20-
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
13+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IlmBase_CFLAGS_OTHER}" )
14+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IlmBase_CFLAGS_OTHER}" )
15+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
16+
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
17+
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
2118
else()
2219
message( SEND_ERROR "IlmBase not found, please set the include and library paths manually" )
2320
endif()
@@ -39,20 +36,9 @@ else()
3936
endif()
4037
endif()
4138

42-
find_package( OpenEXR QUIET )
39+
PKG_CHECK_MODULES ( OpenEXR REQUIRED OpenEXR )
4340
if (OpenEXR_FOUND)
4441
message( STATUS "Found OpenEXR, version ${OpenEXR_VERSION}" )
4542
else()
4643
message( WARNING "Unable to find OpenEXR libraries, disabling" )
4744
endif()
48-
49-
find_package( AcesContainer )
50-
if (AcesContainer_FOUND)
51-
message( STATUS "Found AcesContainer, version ${AcesContainer_VERSION}" )
52-
else()
53-
if ( PKG_CONFIG_FOUND )
54-
pkg_check_modules( AcesContainer AcesContainer )
55-
else()
56-
message( WARNING "Unable to find AcesContainer libraries, disabling" )
57-
endif()
58-
endif()

ctlrender/CMakeLists.txt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,6 @@ include_directories( ${OpenEXR_INCLUDE_DIRS} )
1111
link_directories( ${OpenEXR_LIBRARY_DIRS} )
1212
endif()
1313

14-
if ( AcesContainer_FOUND )
15-
add_definitions( -DHAVE_ACESFILE=1 )
16-
include_directories( ${AcesContainer_INCLUDE_DIRS} )
17-
link_directories( ${AcesContainer_LIBRARY_DIRS} )
18-
endif()
19-
2014
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}/lib/IlmCtl" "${PROJECT_SOURCE_DIR}/lib/IlmCtlMath" "${PROJECT_SOURCE_DIR}/lib/IlmCtlSimd" "${PROJECT_SOURCE_DIR}/lib/dpx" )
2115

2216
add_executable( ctlrender
@@ -41,9 +35,5 @@ if (OpenEXR_FOUND)
4135
target_link_libraries( ctlrender ${OpenEXR_LIBRARIES} )
4236
target_link_libraries( ctlrender ${OpenEXR_LDFLAGS_OTHER} )
4337
endif()
44-
if (AcesContainer_FOUND)
45-
target_link_libraries( ctlrender ${AcesContainer_LIBRARIES} )
46-
target_link_libraries( ctlrender ${AcesContainer_LDFLAGS_OTHER} )
47-
endif()
4838

49-
install( TARGETS ctlrender DESTINATION bin )
39+
install( TARGETS ctlrender DESTINATION ${CMAKE_INSTALL_BINDIR} )

doc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
install( FILES CtlManual.pdf CtlManual.doc DESTINATION doc/CTL )
1+
install( FILES CtlManual.pdf CtlManual.doc DESTINATION ${CMAKE_INSTALL_DOCDIR} )

0 commit comments

Comments
 (0)