diff --git a/CMakeLists.txt b/CMakeLists.txt index 68f1f6fd..e6d9ab30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.1) project(CTL VERSION 1.5.2) -enable_testing() include(GNUInstallDirs) +set(CMAKE_CXX_STANDARD 11) + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH} @@ -27,74 +28,22 @@ else() MESSAGE( STATUS "To use AddressSanitizer, use \"cmake .. -DCMAKE_BUILD_TYPE=asan\"" ) endif() -find_package(Imath CONFIG) - -if (NOT TARGET Imath::Imath) - message( STATUS " Couldn't find Imath::Imath, maybe it's older and has IlmBase?") - find_package(IlmBase CONFIG) - if(NOT IlmBase_FOUND) - message( STATUS " Couldn't find IlmBase with find_package(IlmBase CONFIG), trying find_package(IlmBase QUIET)") - find_package(IlmBase QUIET) - endif() - if( IlmBase_FOUND) - message( STATUS "found IlmBase, version ${IlmBase_VERSION}" ) - else() - message( SEND_ERROR "IlmBase not found, please set the include and library paths manually" ) - endif() -else() - message( STATUS "found Imath, version ${Imath_VERSION}" ) - message( STATUS " Imath_FOUND : ${Imath_FOUND}" ) - message( STATUS " Imath_LIBRARY : ${Imath_LIBRARY}" ) - message( STATUS " Imath_INCLUDE_DIR : ${Imath_INCLUDE_DIR}" ) - #find_package(IlmBase CONFIG) - #if(NOT IlmBase_FOUND) - # message( STATUS " Couldn't find IlmBase with find_package(IlmBase CONFIG), trying find_package(IlmBase QUIET)") - # find_package(IlmBase QUIET) - #endif() - #if( IlmBase_FOUND) - # message( STATUS "found IlmBase, version ${IlmBase_VERSION}" ) - #endif() -endif () - -if(IlmBase_FOUND) - message( STATUS "IlmBase_INCLUDE_DIR : ${IlmBase_INCLUDE_DIR}" ) - #find_package(OpenEXR QUIET CONFIG) - find_package(OpenEXR CONFIG) - if(NOT OpenEXR_FOUND) - message( STATUS " Couldn't find OpenEXR with find_package(OpenEXR CONFIG), trying find_package(OpenEXR QUIET)") - find_package(OpenEXR QUIET) - endif() -else() - find_package(OpenEXR QUIET CONFIG REQUIRED) - if(${OpenEXR_VERSION} VERSION_GREATER_EQUAL 3.0) - message( STATUS " IlmBase not found and OpenEXR_VERSION: ${OpenEXR_VERSION} is greater than or equal to 3.0, we don't need IlmBase") - else() - message( STATUS " IlmBase not found and OpenEXR_VERSION: ${OpenEXR_VERSION} is not greater than or equal to 3.0, we need IlmBase") - find_package(IlmBase CONFIG) - if(NOT IlmBase_FOUND) - message( STATUS " Couldn't find IlmBase with find_package(IlmBase CONFIG), trying find_package(IlmBase QUIET)") - find_package(IlmBase QUIET) - endif() - if( IlmBase_FOUND) - message( STATUS "found IlmBase, version ${IlmBase_VERSION}" ) - endif() - endif() -endif() - -if( OpenEXR_FOUND ) - message( STATUS "found OpenEXR, version ${OpenEXR_VERSION}" ) +find_package(OpenEXR 3 CONFIG QUIET) +if(OpenEXR_FOUND) + message(STATUS "Found OpenEXR ${OpenEXR_VERSION}") else() - message( SEND_ERROR "OpenEXR not found, this is a required dependency" ) + find_package(OpenEXR 2 CONFIG REQUIRED) endif() add_subdirectory(lib) add_subdirectory(doc) if (CTL_BUILD_TOOLS) - add_subdirectory(ctlrender) + add_subdirectory(ctlrender) add_subdirectory(OpenEXR_CTL) endif() if (CTL_BUILD_TESTS) - add_subdirectory(unittest) + enable_testing() + add_subdirectory(unittest) endif() diff --git a/OpenEXR_CTL/CMakeLists.txt b/OpenEXR_CTL/CMakeLists.txt index 9b7b5c22..c1720c9a 100644 --- a/OpenEXR_CTL/CMakeLists.txt +++ b/OpenEXR_CTL/CMakeLists.txt @@ -11,10 +11,6 @@ add_subdirectory( exr_ctl_exr ) add_custom_target( OpenEXR_CTL DEPENDS CtlModules exrdpx exr_ctl_exr ) -if ( PKG_CONFIG_FOUND ) - configure_file(../config/OpenEXR_CTL.pc.in "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" @ONLY) - install( FILES "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" DESTINATION lib/pkgconfig COMPONENT dev ) -endif() # TODO CMake config diff --git a/OpenEXR_CTL/CtlModules/CMakeLists.txt b/OpenEXR_CTL/CtlModules/CMakeLists.txt index c63c22e6..14054d11 100644 --- a/OpenEXR_CTL/CtlModules/CMakeLists.txt +++ b/OpenEXR_CTL/CtlModules/CMakeLists.txt @@ -1,7 +1,7 @@ -install( +install( FILES utilities.ctl - DESTINATION - ${INSTALL_LIB_DIR}/CTL + DESTINATION + ${CMAKE_INSTALL_DATADIR}/CTL ) diff --git a/OpenEXR_CTL/Makefile.am b/OpenEXR_CTL/Makefile.am deleted file mode 100644 index 0fa0ec8e..00000000 --- a/OpenEXR_CTL/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -## Process this file with automake to produce Makefile.in - -# tell autoconf to include the m4 macros in the /m4 directory -# (an alternative to the acinclude.m4 mechanism) -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = IlmImfCtl IlmImfCtlTest CtlModules exrdpx exr_ctl_exr - -DIST_SUBDIRS = \ - $(SUBDIRS) \ - vc - -EXTRA_DIST = \ - AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS \ - README README.CVS README.OSX README.win32 bootstrap - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = OpenEXR_CTL.pc - - diff --git a/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt b/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt index e4a414e3..6750a362 100644 --- a/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt +++ b/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt @@ -37,6 +37,6 @@ target_link_libraries (exr_ctl_exr #target_link_libraries( exr_ctl_exr ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} ) #target_link_libraries( exr_ctl_exr ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} ) -install( TARGETS exr_ctl_exr DESTINATION ${INSTALL_BIN_DIR} ) +install( TARGETS exr_ctl_exr DESTINATION ${CMAKE_INSTALL_BINDIR} ) -install( FILES change_saturation.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL ) +install( FILES change_saturation.ctl DESTINATION ${CMAKE_INSTALL_DATADIR}/CTL ) diff --git a/OpenEXR_CTL/exrdpx/CMakeLists.txt b/OpenEXR_CTL/exrdpx/CMakeLists.txt index 8099d4a4..ec3acf79 100644 --- a/OpenEXR_CTL/exrdpx/CMakeLists.txt +++ b/OpenEXR_CTL/exrdpx/CMakeLists.txt @@ -37,8 +37,8 @@ target_link_libraries (exrdpx #target_link_libraries( exrdpx ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} ) #target_link_libraries( exrdpx ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} ) -install( TARGETS exrdpx DESTINATION ${INSTALL_BIN_DIR} ) +install( TARGETS exrdpx DESTINATION ${CMAKE_INSTALL_BINDIR} ) -install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL ) +install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${CMAKE_INSTALL_DATADIR}/CTL ) diff --git a/config/CTL.pc.in b/config/CTL.pc.in deleted file mode 100644 index 6d6e7327..00000000 --- a/config/CTL.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=@INSTALL_BIN_DIR@ -libdir=@INSTALL_LIB_DIR@ -includedir=@INSTALL_INCLUDE_DIR@ -CTL_includedir=@INSTALL_INCLUDE_DIR@/CTL - -Name: CTL -Description: CTL interpreter library -Version: @CTL_VERSION@ -Libs: -L${libdir} -lIlmCtlSimd -lIlmCtlMath -lIlmCtl @IlmBase_LDFLAGS@ -Cflags: @IlmBase_CFLAGS@ -I${CTL_includedir} diff --git a/config/CTLBuildTreeSettings.cmake.in b/config/CTLBuildTreeSettings.cmake.in deleted file mode 100644 index 493f4e82..00000000 --- a/config/CTLBuildTreeSettings.cmake.in +++ /dev/null @@ -1,2 +0,0 @@ -set( CTL_INCLUDE_DIRS "@PROJECT_SOURCE_DIR@" "@PROJECT_BINARY_DIR@" ) - diff --git a/config/CTLConfig.cmake.in b/config/CTLConfig.cmake.in deleted file mode 100644 index 68856e66..00000000 --- a/config/CTLConfig.cmake.in +++ /dev/null @@ -1,21 +0,0 @@ -# CMake config file for CTL -# defines the following variables: -# -# CTL_INCLUDE_DIRS -# CTL_LIBRARIES -# CTL_EXECUTABLE - -# find paths -get_filename_component( CTL_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH ) -if( EXISTS "${CTL_CMAKE_DIR}/CMakeCache.txt" ) - # build tree... - include( "${CTL_CMAKE_DIR}/CTLBuildTreeSettings.cmake" ) -else() - set( CTL_INCLUDE_DIRS "${CTL_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@" ) -endif - -# setup our library dependencies (i.e. ilmbase) -include( "${CTL_CMAKE_DIR}/CTLLibraryDepends.cmake" ) - -set( CTL_LIBRARIES CTL ) -set( CTL_EXECUTABLE ctlrender ) diff --git a/config/CTLConfigVersion.cmake.in b/config/CTLConfigVersion.cmake.in deleted file mode 100644 index 87343334..00000000 --- a/config/CTLConfigVersion.cmake.in +++ /dev/null @@ -1,13 +0,0 @@ - -set(PACKAGE_VERSION "@CTL_VERSION@") - -#make sure we are compatible -if( "${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) - set( PACKAGE_VERSION_COMPATIBLE FALSE ) -else() - set( PACKAGE_VERSION_COMPATIBLE TRUE ) - if( "${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}" ) - set( PACKAGE_VERSION_EXACT TRUE ) - endif() -endif() - diff --git a/config/OpenEXR_CTL.pc.in b/config/OpenEXR_CTL.pc.in deleted file mode 100644 index 4cef5c65..00000000 --- a/config/OpenEXR_CTL.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -OpenEXR_includedir=@includedir@/OpenEXR - -Name: OpenEXR_CTL -Description: Simplified OpenEXR interface to CTL -Version: @OPENEXR_CTL_VERSION@ -Libs: -L${libdir} -lIlmImfCtl @OPENEXR_LDFLAGS@ @CTL_LDFLAGS@ -Cflags: @CTL_CXXFLAGS_PC@ @OPENEXR_CXXFLAGS@ -I${OpenEXR_includedir} diff --git a/lib/IlmCtlMath/CtlPointTree.h b/lib/IlmCtlMath/CtlPointTree.h index 4c143579..54bb4192 100644 --- a/lib/IlmCtlMath/CtlPointTree.h +++ b/lib/IlmCtlMath/CtlPointTree.h @@ -70,6 +70,7 @@ #include #include #include +#include // std::numeric_limits namespace Ctl { diff --git a/lib/IlmImfCtl/CMakeLists.txt b/lib/IlmImfCtl/CMakeLists.txt index ee70ec35..80f7a1a0 100644 --- a/lib/IlmImfCtl/CMakeLists.txt +++ b/lib/IlmImfCtl/CMakeLists.txt @@ -38,7 +38,7 @@ target_link_libraries (IlmImfCtl install(FILES ImfCtlApplyTransforms.h DESTINATION - ${CMAKE_INSTALL_LIBDIR}/OpenEXR + ${CMAKE_INSTALL_INCLUDEDIR}/OpenEXR ) install(TARGETS IlmImfCtl DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/lib/dpx/test.dpx.od b/lib/dpx/test.dpx.od deleted file mode 100644 index e69de29b..00000000