From 2a0033aa1fe2f6178004a251d083bd715bb8d61d Mon Sep 17 00:00:00 2001 From: Olivier Prat Date: Wed, 27 Mar 2019 12:08:06 +0100 Subject: [PATCH 1/3] Another try at building on Ubuntu & Mac --- cmake/modules/FindOpenEXR.new.cmake | 162 ++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 cmake/modules/FindOpenEXR.new.cmake diff --git a/cmake/modules/FindOpenEXR.new.cmake b/cmake/modules/FindOpenEXR.new.cmake new file mode 100644 index 0000000000..556946899e --- /dev/null +++ b/cmake/modules/FindOpenEXR.new.cmake @@ -0,0 +1,162 @@ + +# adapted from FindOpenEXR.cmake in Pixar's USD distro. +# +# The original license is as follows: +# +# Copyright 2016 Pixar +# +# Licensed under the Apache License, Version 2.0 (the "Apache License") +# with the following modification; you may not use this file except in +# compliance with the Apache License and the following modification to it: +# Section 6. Trademarks. is deleted and replaced with: +# +# 6. Trademarks. This License does not grant permission to use the trade +# names, trademarks, service marks, or product names of the Licensor +# and its affiliates, except as required to comply with Section 4(c) of +# the License and to reproduce the content of the NOTICE file. +# +# You may obtain a copy of the Apache License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the Apache License with the above modification is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the Apache License for the specific +# language governing permissions and limitations under the Apache License. +# + +find_path(OPENEXR_INCLUDE_DIR + OpenEXR/ImfHeader.h + +PATH_SUFFIXES + include/ + +NO_DEFAULT_PATH +NO_SYSTEM_ENVIRONMENT_PATH + +DOC + "OpenEXR headers path" +) + +if(OPENEXR_INCLUDE_DIR) + set(openexr_config_file "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h") + if(EXISTS ${openexr_config_file}) + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_STRING.*$") + string(REGEX MATCHALL "[0-9.]+" OPENEXR_VERSION ${TMP}) + + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_MAJOR.*$") + string(REGEX MATCHALL "[0-9]" OPENEXR_MAJOR_VERSION ${TMP}) + + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_MINOR.*$") + string(REGEX MATCHALL "[0-9]" OPENEXR_MINOR_VERSION ${TMP}) + endif() +else() + message(WARNING, " OpenEXR headers not found") +endif() + +foreach(OPENEXR_LIB + IlmImf + IlmImfUtil) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION} + ${OPENEXR_LIB} + HINTS + "${OPENEXR_LOCATION}" + "$ENV{OPENEXR_LOCATION}" + PATH_SUFFIXES + lib/ + NO_DEFAULT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + DOC + "OPENEXR's ${OPENEXR_LIB} library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_LIBRARY) + + if(OPENEXR_${OPENEXR_LIB}_LIBRARY) + list(APPEND OPENEXR_LIBRARIES ${OPENEXR_${OPENEXR_LIB}_LIBRARY}) + endif() + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_d + ${OPENEXR_LIB}_d + HINTS + "${OPENEXR_LOCATION}" + "$ENV{OPENEXR_LOCATION}" + PATH_SUFFIXES + lib/ + debug/lib/ + NO_DEFAULT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + DOC + "OPENEXR's ${OPENEXR_LIB} debug library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s + ${OPENEXR_LIB}_s + HINTS + "${OPENEXR_LOCATION}" + "$ENV{OPENEXR_LOCATION}" + PATH_SUFFIXES + lib/ + NO_DEFAULT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + DOC + "OPENEXR's ${OPENEXR_LIB} static library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s_d + ${OPENEXR_LIB}_s_d + HINTS + "${OPENEXR_LOCATION}" + "$ENV{OPENEXR_LOCATION}" + PATH_SUFFIXES + lib/ + debug/lib/ + NO_DEFAULT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + DOC + "OPENEXR's ${OPENEXR_LIB} static debug library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY) + +endforeach(OPENEXR_LIB) + +# So #include works +list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}) +list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/OpenEXR) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(OpenEXR + REQUIRED_VARS + OPENEXR_INCLUDE_DIRS + OPENEXR_LIBRARIES + VERSION_VAR + OPENEXR_VERSION +) From 89fbe131c24a47a684144e976b2eda3f6ab25164 Mon Sep 17 00:00:00 2001 From: Olivier Prat Date: Wed, 27 Mar 2019 13:56:11 +0100 Subject: [PATCH 2/3] Yet another try at fixing compilation --- cmake/macros/TargetOpenEXR.cmake | 4 +- cmake/modules/FindOpenEXR.cmake | 218 +++++++++++++++++----------- cmake/modules/FindOpenEXR.new.cmake | 162 --------------------- 3 files changed, 135 insertions(+), 249 deletions(-) delete mode 100644 cmake/modules/FindOpenEXR.new.cmake diff --git a/cmake/macros/TargetOpenEXR.cmake b/cmake/macros/TargetOpenEXR.cmake index 03c6fed33d..e085f33224 100644 --- a/cmake/macros/TargetOpenEXR.cmake +++ b/cmake/macros/TargetOpenEXR.cmake @@ -11,8 +11,8 @@ if (NOT ANDROID) # using VCPKG for OPENEXR find_package(OpenEXR REQUIRED) - include_directories(SYSTEM "${OpenEXR_INCLUDE_DIRS}") - target_link_libraries(${TARGET_NAME} ${OpenEXR_LIBRARIES}) + include_directories(SYSTEM "${OPENEXR_INCLUDE_DIRS}") + target_link_libraries(${TARGET_NAME} ${OPENEXR_LIBRARIES}) target_compile_definitions(${TARGET_NAME} PUBLIC OPENEXR_DLL) endif() diff --git a/cmake/modules/FindOpenEXR.cmake b/cmake/modules/FindOpenEXR.cmake index a381c6db9a..e43d2ac0d3 100644 --- a/cmake/modules/FindOpenEXR.cmake +++ b/cmake/modules/FindOpenEXR.cmake @@ -1,87 +1,135 @@ + +# adapted from FindOpenEXR.cmake in Pixar's USD distro. +# +# The original license is as follows: +# +# Copyright 2016 Pixar +# +# Licensed under the Apache License, Version 2.0 (the "Apache License") +# with the following modification; you may not use this file except in +# compliance with the Apache License and the following modification to it: +# Section 6. Trademarks. is deleted and replaced with: +# +# 6. Trademarks. This License does not grant permission to use the trade +# names, trademarks, service marks, or product names of the Licensor +# and its affiliates, except as required to comply with Section 4(c) of +# the License and to reproduce the content of the NOTICE file. +# +# You may obtain a copy of the Apache License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the Apache License with the above modification is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the Apache License for the specific +# language governing permissions and limitations under the Apache License. +# + +find_path(OPENEXR_INCLUDE_DIR + OpenEXR/ImfHeader.h + +DOC + "OpenEXR headers path" +) + +if(OPENEXR_INCLUDE_DIR) + set(openexr_config_file "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h") + if(EXISTS ${openexr_config_file}) + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_STRING.*$") + string(REGEX MATCHALL "[0-9.]+" OPENEXR_VERSION ${TMP}) + + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_MAJOR.*$") + string(REGEX MATCHALL "[0-9]" OPENEXR_MAJOR_VERSION ${TMP}) + + file(STRINGS + ${openexr_config_file} + TMP + REGEX "#define OPENEXR_VERSION_MINOR.*$") + string(REGEX MATCHALL "[0-9]" OPENEXR_MINOR_VERSION ${TMP}) + endif() +else() + message(WARNING, " OpenEXR headers not found") +endif() + +foreach(OPENEXR_LIB + IlmImf + IlmImfUtil + Half + Iex + IexMath + Imath + IlmThread) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION} + ${OPENEXR_LIB} + + DOC + "OPENEXR's ${OPENEXR_LIB} library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_LIBRARY) + + if(OPENEXR_${OPENEXR_LIB}_LIBRARY) + list(APPEND OPENEXR_LIBRARIES ${OPENEXR_${OPENEXR_LIB}_LIBRARY}) + endif() + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_d + ${OPENEXR_LIB}_d + + DOC + "OPENEXR's ${OPENEXR_LIB} debug library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s + ${OPENEXR_LIB}_s + + DOC + "OPENEXR's ${OPENEXR_LIB} static library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY) + + # OpenEXR libraries may be suffixed with the version number, so we search + # using both versioned and unversioned names. + find_library(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY + NAMES + ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s_d + ${OPENEXR_LIB}_s_d + + DOC + "OPENEXR's ${OPENEXR_LIB} static debug library path" + ) + #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY) + +endforeach(OPENEXR_LIB) + +# So #include works +list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}) +list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/OpenEXR) + include(FindPackageHandleStandardArgs) - -find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) -find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) - -file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) - -string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}") -string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}") -set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}") - -include(SelectLibraryConfigurations) - -if(NOT OpenEXR_BASE_LIBRARY) - find_library(OpenEXR_BASE_LIBRARY_RELEASE NAMES IlmImf-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_BASE_LIBRARY_DEBUG NAMES IlmImf-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_BASE) -endif() - -if(NOT OpenEXR_UTIL_LIBRARY) - find_library(OpenEXR_UTIL_LIBRARY_RELEASE NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_UTIL_LIBRARY_DEBUG NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_UTIL) -endif() - -if(NOT OpenEXR_HALF_LIBRARY) - find_library(OpenEXR_HALF_LIBRARY_RELEASE NAMES Half-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_HALF_LIBRARY_DEBUG NAMES Half-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_HALF) -endif() - -if(NOT OpenEXR_IEX_LIBRARY) - find_library(OpenEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_IEX) -endif() - -if(NOT OpenEXR_MATH_LIBRARY) - find_library(OpenEXR_MATH_LIBRARY_RELEASE NAMES Imath-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_MATH_LIBRARY_DEBUG NAMES Imath-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_MATH) -endif() - -if(NOT OpenEXR_THREAD_LIBRARY) - find_library(OpenEXR_THREAD_LIBRARY_RELEASE NAMES IlmThread-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_THREAD_LIBRARY_DEBUG NAMES IlmThread-${OpenEXR_LIB_SUFFIX}_d) - select_library_configurations(OpenEXR_THREAD) -endif() - -if(NOT OpenEXR_IEXMATH_LIBRARY) - find_library(OpenEXR_IEXMATH_LIBRARY_RELEASE NAMES IexMath-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}d) - select_library_configurations(OpenEXR_IEXMATH) -endif() - -set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") -set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") -set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") -set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") -set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") -set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") - -set(OpenEXR_LIBRARY "${OpenEXR_BASE_LIBRARY}") - -set(OpenEXR_LIBRARIES - ${OpenEXR_LIBRARY} - ${OpenEXR_MATH_LIBRARY} - ${OpenEXR_IEXMATH_LIBRARY} - ${OpenEXR_UTIL_LIBRARY} - ${OpenEXR_HALF_LIBRARY} - ${OpenEXR_IEX_LIBRARY} - ${OpenEXR_THREAD_LIBRARY} +find_package_handle_standard_args(OpenEXR + REQUIRED_VARS + OPENEXR_INCLUDE_DIRS + OPENEXR_LIBRARIES + VERSION_VAR + OPENEXR_VERSION ) - -set(OPENEXR_LIBRARIES - ${OPENEXR_HALF_LIBRARY} - ${OPENEXR_IEX_LIBRARY} - ${OPENEXR_IMATH_LIBRARY} - ${OPENEXR_ILMIMF_LIBRARY} - ${OPENEXR_ILMTHREAD_LIBRARY} -) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) - -if(OpenEXR_FOUND) - set(OPENEXR_FOUND 1) -endif() diff --git a/cmake/modules/FindOpenEXR.new.cmake b/cmake/modules/FindOpenEXR.new.cmake deleted file mode 100644 index 556946899e..0000000000 --- a/cmake/modules/FindOpenEXR.new.cmake +++ /dev/null @@ -1,162 +0,0 @@ - -# adapted from FindOpenEXR.cmake in Pixar's USD distro. -# -# The original license is as follows: -# -# Copyright 2016 Pixar -# -# Licensed under the Apache License, Version 2.0 (the "Apache License") -# with the following modification; you may not use this file except in -# compliance with the Apache License and the following modification to it: -# Section 6. Trademarks. is deleted and replaced with: -# -# 6. Trademarks. This License does not grant permission to use the trade -# names, trademarks, service marks, or product names of the Licensor -# and its affiliates, except as required to comply with Section 4(c) of -# the License and to reproduce the content of the NOTICE file. -# -# You may obtain a copy of the Apache License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the Apache License with the above modification is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the Apache License for the specific -# language governing permissions and limitations under the Apache License. -# - -find_path(OPENEXR_INCLUDE_DIR - OpenEXR/ImfHeader.h - -PATH_SUFFIXES - include/ - -NO_DEFAULT_PATH -NO_SYSTEM_ENVIRONMENT_PATH - -DOC - "OpenEXR headers path" -) - -if(OPENEXR_INCLUDE_DIR) - set(openexr_config_file "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h") - if(EXISTS ${openexr_config_file}) - file(STRINGS - ${openexr_config_file} - TMP - REGEX "#define OPENEXR_VERSION_STRING.*$") - string(REGEX MATCHALL "[0-9.]+" OPENEXR_VERSION ${TMP}) - - file(STRINGS - ${openexr_config_file} - TMP - REGEX "#define OPENEXR_VERSION_MAJOR.*$") - string(REGEX MATCHALL "[0-9]" OPENEXR_MAJOR_VERSION ${TMP}) - - file(STRINGS - ${openexr_config_file} - TMP - REGEX "#define OPENEXR_VERSION_MINOR.*$") - string(REGEX MATCHALL "[0-9]" OPENEXR_MINOR_VERSION ${TMP}) - endif() -else() - message(WARNING, " OpenEXR headers not found") -endif() - -foreach(OPENEXR_LIB - IlmImf - IlmImfUtil) - - # OpenEXR libraries may be suffixed with the version number, so we search - # using both versioned and unversioned names. - find_library(OPENEXR_${OPENEXR_LIB}_LIBRARY - NAMES - ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION} - ${OPENEXR_LIB} - HINTS - "${OPENEXR_LOCATION}" - "$ENV{OPENEXR_LOCATION}" - PATH_SUFFIXES - lib/ - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - DOC - "OPENEXR's ${OPENEXR_LIB} library path" - ) - #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_LIBRARY) - - if(OPENEXR_${OPENEXR_LIB}_LIBRARY) - list(APPEND OPENEXR_LIBRARIES ${OPENEXR_${OPENEXR_LIB}_LIBRARY}) - endif() - - # OpenEXR libraries may be suffixed with the version number, so we search - # using both versioned and unversioned names. - find_library(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY - NAMES - ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_d - ${OPENEXR_LIB}_d - HINTS - "${OPENEXR_LOCATION}" - "$ENV{OPENEXR_LOCATION}" - PATH_SUFFIXES - lib/ - debug/lib/ - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - DOC - "OPENEXR's ${OPENEXR_LIB} debug library path" - ) - #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_DEBUG_LIBRARY) - - # OpenEXR libraries may be suffixed with the version number, so we search - # using both versioned and unversioned names. - find_library(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY - NAMES - ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s - ${OPENEXR_LIB}_s - HINTS - "${OPENEXR_LOCATION}" - "$ENV{OPENEXR_LOCATION}" - PATH_SUFFIXES - lib/ - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - DOC - "OPENEXR's ${OPENEXR_LIB} static library path" - ) - #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_LIBRARY) - - # OpenEXR libraries may be suffixed with the version number, so we search - # using both versioned and unversioned names. - find_library(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY - NAMES - ${OPENEXR_LIB}-${OPENEXR_MAJOR_VERSION}_${OPENEXR_MINOR_VERSION}_s_d - ${OPENEXR_LIB}_s_d - HINTS - "${OPENEXR_LOCATION}" - "$ENV{OPENEXR_LOCATION}" - PATH_SUFFIXES - lib/ - debug/lib/ - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - DOC - "OPENEXR's ${OPENEXR_LIB} static debug library path" - ) - #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY) - -endforeach(OPENEXR_LIB) - -# So #include works -list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}) -list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/OpenEXR) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(OpenEXR - REQUIRED_VARS - OPENEXR_INCLUDE_DIRS - OPENEXR_LIBRARIES - VERSION_VAR - OPENEXR_VERSION -) From 809b1694ffeb8785437d77251715cb3449ad9559 Mon Sep 17 00:00:00 2001 From: Olivier Prat Date: Wed, 27 Mar 2019 14:41:48 +0100 Subject: [PATCH 3/3] Added cmake find library suffixes --- cmake/modules/FindOpenEXR.cmake | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cmake/modules/FindOpenEXR.cmake b/cmake/modules/FindOpenEXR.cmake index e43d2ac0d3..ba3c335a84 100644 --- a/cmake/modules/FindOpenEXR.cmake +++ b/cmake/modules/FindOpenEXR.cmake @@ -58,6 +58,13 @@ else() message(WARNING, " OpenEXR headers not found") endif() +set( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) +if (APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib") +elseif (UNIX) + set(CMAKE_FIND_LIBRARY_SUFFIXES ".so") +endif() + foreach(OPENEXR_LIB IlmImf IlmImfUtil @@ -120,6 +127,8 @@ foreach(OPENEXR_LIB #mark_as_advanced(OPENEXR_${OPENEXR_LIB}_STATIC_DEBUG_LIBRARY) endforeach(OPENEXR_LIB) +# MUST reset +set(CMAKE_FIND_LIBRARY_SUFFIXES ${ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES}) # So #include works list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR})