Date: Thursday, November 24, 2022 @ 00:05:38
  Author: svenstaro
Revision: 1352087

archrelease: copy trunk to community-x86_64

Added:
  alice-vision/repos/community-x86_64/
  alice-vision/repos/community-x86_64/PKGBUILD
    (from rev 1352086, alice-vision/trunk/PKGBUILD)
  alice-vision/repos/community-x86_64/cmake_cxx_std_14.patch
    (from rev 1352086, alice-vision/trunk/cmake_cxx_std_14.patch)
  alice-vision/repos/community-x86_64/iomanip.patch
    (from rev 1352086, alice-vision/trunk/iomanip.patch)
  alice-vision/repos/community-x86_64/isnormal.patch
    (from rev 1352086, alice-vision/trunk/isnormal.patch)
  alice-vision/repos/community-x86_64/openexr3.patch
    (from rev 1352086, alice-vision/trunk/openexr3.patch)

------------------------+
 PKGBUILD               |  108 ++++++++++++++++
 cmake_cxx_std_14.patch |   12 +
 iomanip.patch          |   48 +++++++
 isnormal.patch         |   32 ++++
 openexr3.patch         |  309 +++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 509 insertions(+)

Copied: alice-vision/repos/community-x86_64/PKGBUILD (from rev 1352086, 
alice-vision/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD                           (rev 0)
+++ community-x86_64/PKGBUILD   2022-11-24 00:05:38 UTC (rev 1352087)
@@ -0,0 +1,108 @@
+# Maintainer: Sven-Hendrik Haase <[email protected]>
+# Contributor: bartus <arch-user-repoᘓbartus.33mail.com>
+pkgname=alice-vision
+pkgver=2.4.0
+pkgrel=6
+pkgdesc="Photogrammetric Computer Vision Framework which provides a 3D 
Reconstruction and Camera Tracking algorithms"
+arch=('x86_64')
+url="https://alicevision.github.io/";
+options=('!lto')
+license=('MPL2' 'MIT')
+depends=('boost-libs' 'openimageio' 'flann' 'geogram' 'coin-or-clp' 
'ceres-solver' 'cctag'
+         'alembic' 'cuda' 'opengv' 'opencv' 'popsift' 'uncertainty-framework')
+makedepends=('boost' 'ninja' 'eigen' 'freetype2' 'coin-or-coinutils' 
'coin-or-lemon'
+             'git' 'cmake' 'doxygen' 'python-sphinx')
+source=("git+https://github.com/alicevision/AliceVision#tag=v${pkgver}";
+        
"MeshSDFilter::git+https://github.com/alicevision/MeshSDFilter.git#branch=av_develop";
+        "nanoflann::git+https://github.com/alicevision/nanoflann.git";
+        "cmake_cxx_std_14.patch"
+        "openexr3.patch"
+        
"iomanip.patch::https://github.com/alicevision/AliceVision/commit/711eda620449c080b642fc7cb6118758535ab614.patch";
+        
"isnormal.patch::https://github.com/alicevision/AliceVision/commit/22fd9d4ba3f8b5344261cedfd9bc3cd4cb58eece.patch";
+)
+sha256sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'caf2bf06bd7c6a2387f01f312d94b649ef3e4363b18fcdf95986cd71a0d6c275'
+            'de9def936b143b6a95d8afc93e4673e8f8b0e434785b65c557353549efd95c1b'
+            '8403ad7fc41c86dc771f0b1c986d22831ed7c4fee8520f8aa96171f20387bc2d'
+            '29440da035b36e3b0e4b94645551ae1bb6041c31b337136894a158217946135f')
+
+prepare() {
+  cd AliceVision
+
+  git submodule init
+  git config submodule."src/dependencies/MeshSDFilter".url 
"${srcdir}/MeshSDFilter"
+  git config submodule."src/dependencies/nanoflann".url "${srcdir}/nanoflann"
+  git -c protocol.file.allow=always submodule update
+
+  patch -Np1 -i"${srcdir}"/cmake_cxx_std_14.patch
+
+  # fix FindOpenEXR.cmake against openexr:3
+  patch -Np1 -i"${srcdir}"/openexr3.patch
+
+  # fix header relocation against openexr:3
+  grep -lR "#include.*OpenEXR/half.h"|xargs sed -i 's|OpenEXR/half|Imath/half|'
+
+  # fix gcc:11 headers regression
+  grep -lR "std::numeric_limits"|xargs sed -i '1 i\#include <limits>'
+
+  # fix doc build
+  sed -i '/^ *install.*doc/s/doc/htmlDoc/' src/CMakeLists.txt
+
+  # fix CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON preserve target name capitalisation
+  sed 's/OPENEXR_FOUND/OpenEXR_FOUND/g' -i src/CMakeLists.txt
+
+  # fix openimageio:2 target library
+  sed 's/${OPENIMAGEIO_LIBRARIES};dl/OpenImageIO::OpenImageIO/g' -i 
src/CMakeLists.txt
+
+  # fix [io]fstream(path) initializer
+  sed '1 i#include <fstream>' -i $(grep -Rl std::[io]fstream src)
+
+  # fix missing <iomanip> header (setw,setfill,etc.)
+  git apply -v "${srcdir}"/iomanip.patch
+
+  # fix missing isnormal() from std namespace
+  git apply -v "${srcdir}"/isnormal.patch
+}
+
+build() {
+  cd AliceVision
+
+  cmake \
+    -Bbuild \
+    -GNinja \
+    -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_LIBDIR=lib \
+    -DCOINUTILS_INCLUDE_DIR_HINTS=/usr/include/coin \
+    -DCLP_INCLUDE_DIR_HINTS=/usr/include/coin \
+    -DOSI_INCLUDE_DIR_HINTS=/usr/include/coin \
+    -DLEMON_INCLUDE_DIR_HINTS=/usr/include/lemon \
+    -DPopSift_DIR=/usr \
+    -DCCTag_DIR=/usr/lib/cmake/CCTag \
+    -DUNCERTAINTYTE_DIR=/usr \
+    -DMAGMA_ROOT=/usr \
+    -DALICEVISION_CUDA_CC_LIST="52;53;60;61;62;70;72;75;80;86;87;89;90" \
+    -DALICEVISION_BUILD_EXAMPLES=OFF \
+    -DALICEVISION_USE_CUDA=ON \
+    -DALICEVISION_USE_CCTAG=ON \
+    -DALICEVISION_USE_POPSIFT=ON \
+    -DALICEVISION_USE_UNCERTAINTYTE=ON \
+    -DALICEVISION_USE_ALEMBIC=ON \
+    -DALICEVISION_USE_OPENGV=ON \
+    -DALICEVISION_USE_OPENCV=ON
+  ninja -C build
+}
+
+package() {
+  cd AliceVision
+
+  ninja -C build doc_doxygen
+  DESTDIR="${pkgdir}" ninja -C build install
+
+  install -Dm755 COPYING.md 
"${pkgdir}"/usr/share/licenses/${pkgname}/COPYING.md
+  install -Dm755 LICENSE-MPL2.md 
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-MPL2.md
+  install -Dm755 LICENSE-MIT-libmv.md 
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-MIT-libmv.md
+}
+# vim:set ts=2 sw=2 et:

Copied: alice-vision/repos/community-x86_64/cmake_cxx_std_14.patch (from rev 
1352086, alice-vision/trunk/cmake_cxx_std_14.patch)
===================================================================
--- community-x86_64/cmake_cxx_std_14.patch                             (rev 0)
+++ community-x86_64/cmake_cxx_std_14.patch     2022-11-24 00:05:38 UTC (rev 
1352087)
@@ -0,0 +1,12 @@
+diff --git a/src/cmake/Helpers.cmake b/src/cmake/Helpers.cmake
+index 9c6f192a9..6a2084460 100644
+--- a/src/cmake/Helpers.cmake
++++ b/src/cmake/Helpers.cmake
+@@ -85,6 +85,7 @@ function(alicevision_add_library library_name)
+     RUNTIME
+         DESTINATION ${CMAKE_INSTALL_BINDIR}
+   )
++    target_compile_features(${library_name} PUBLIC cxx_std_14)
+ endfunction()
+ 
+ # Add interface function

Copied: alice-vision/repos/community-x86_64/iomanip.patch (from rev 1352086, 
alice-vision/trunk/iomanip.patch)
===================================================================
--- community-x86_64/iomanip.patch                              (rev 0)
+++ community-x86_64/iomanip.patch      2022-11-24 00:05:38 UTC (rev 1352087)
@@ -0,0 +1,48 @@
+From 711eda620449c080b642fc7cb6118758535ab614 Mon Sep 17 00:00:00 2001
+From: fabien servant <[email protected]>
+Date: Tue, 7 Jun 2022 11:07:19 +0200
+Subject: [PATCH] [all] iomanip include missing on vs2022
+
+---
+ src/aliceVision/keyframe/KeyframeSelector.cpp    | 2 +-
+ src/software/pipeline/main_LdrToHdrMerge.cpp     | 1 +
+ src/software/pipeline/main_featureExtraction.cpp | 1 +
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/aliceVision/keyframe/KeyframeSelector.cpp 
b/src/aliceVision/keyframe/KeyframeSelector.cpp
+index bfe2dccc66..2243ab5c3e 100644
+--- a/src/aliceVision/keyframe/KeyframeSelector.cpp
++++ b/src/aliceVision/keyframe/KeyframeSelector.cpp
+@@ -16,7 +16,7 @@
+ #include <tuple>
+ #include <cassert>
+ #include <cstdlib>
+-
++#include <iomanip>
+ namespace fs = boost::filesystem;
+ 
+ namespace aliceVision {
+diff --git a/src/software/pipeline/main_LdrToHdrMerge.cpp 
b/src/software/pipeline/main_LdrToHdrMerge.cpp
+index b3dc72c3e5..da87d7e379 100644
+--- a/src/software/pipeline/main_LdrToHdrMerge.cpp
++++ b/src/software/pipeline/main_LdrToHdrMerge.cpp
+@@ -24,6 +24,7 @@
+ #include <boost/program_options.hpp>
+ #include <boost/filesystem.hpp>
+ #include <sstream>
++#include <iomanip>
+ 
+ // These constants define the current software version.
+ // They must be updated when the command line is changed.
+diff --git a/src/software/pipeline/main_featureExtraction.cpp 
b/src/software/pipeline/main_featureExtraction.cpp
+index 70b49fbee8..5d59dfabb5 100644
+--- a/src/software/pipeline/main_featureExtraction.cpp
++++ b/src/software/pipeline/main_featureExtraction.cpp
+@@ -34,6 +34,7 @@
+ #include <functional>
+ #include <memory>
+ #include <limits>
++#include <iomanip>
+ 
+ // These constants define the current software version.
+ // They must be updated when the command line is changed.

Copied: alice-vision/repos/community-x86_64/isnormal.patch (from rev 1352086, 
alice-vision/trunk/isnormal.patch)
===================================================================
--- community-x86_64/isnormal.patch                             (rev 0)
+++ community-x86_64/isnormal.patch     2022-11-24 00:05:38 UTC (rev 1352087)
@@ -0,0 +1,32 @@
+From f160515dd0b706d2034fe0641c00f58b2e63335d Mon Sep 17 00:00:00 2001
+From: Povilas Kanapickas <[email protected]>
+Date: Sat, 17 Sep 2022 22:01:58 +0300
+Subject: [PATCH] [fuseCut] Pick isnormal() from std namespace
+
+This fixes compile error due to isnormal() being not available in the
+global namespace.
+---
+ src/aliceVision/fuseCut/DelaunayGraphCut.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/aliceVision/fuseCut/DelaunayGraphCut.cpp 
b/src/aliceVision/fuseCut/DelaunayGraphCut.cpp
+index 95e705fbfe..38b8f93054 100644
+--- a/src/aliceVision/fuseCut/DelaunayGraphCut.cpp
++++ b/src/aliceVision/fuseCut/DelaunayGraphCut.cpp
+@@ -29,6 +29,7 @@
+ #include <boost/filesystem.hpp>
+ #include <boost/filesystem/operations.hpp>
+ 
++#include <cmath>
+ #include <random>
+ #include <stdexcept>
+ 
+@@ -1629,7 +1630,7 @@ DelaunayGraphCut::GeometryIntersection 
DelaunayGraphCut::rayIntersectTriangle(co
+     Point3d tempIntersectPt;
+     const Point2d triangleUv = 
getLineTriangleIntersectBarycCoords(&tempIntersectPt, A, B, C, &originPt, 
&DirVec);
+ 
+-    if (!isnormal(tempIntersectPt.x) || !isnormal(tempIntersectPt.y) || 
!isnormal(tempIntersectPt.z))
++    if (!std::isnormal(tempIntersectPt.x) || 
!std::isnormal(tempIntersectPt.y) || !std::isnormal(tempIntersectPt.z))
+     {
+         // This is not suppose to happen in real life, we log a warning 
instead of raising an exeption if we face a border case
+         // ALICEVISION_LOG_WARNING("Invalid/notNormal intersection point 
found during rayIntersectTriangle.");

Copied: alice-vision/repos/community-x86_64/openexr3.patch (from rev 1352086, 
alice-vision/trunk/openexr3.patch)
===================================================================
--- community-x86_64/openexr3.patch                             (rev 0)
+++ community-x86_64/openexr3.patch     2022-11-24 00:05:38 UTC (rev 1352087)
@@ -0,0 +1,309 @@
+--- AliceVision-2.4.0/src/cmake/openexr/FindOpenEXR.cmake      2021-05-30 
08:32:20.810681100 +0200
++++ AliceVision-2.4.0.new/src/cmake/openexr/FindOpenEXR.cmake  2021-05-30 
08:30:50.611355400 +0200
+@@ -1,178 +1,138 @@
+-# Module to find OpenEXR.
++# - Find OpenEXR library
++# Find the native OpenEXR includes and library
++# This module defines
++#  OPENEXR_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when
++#                        OPENEXR_INCLUDE_DIR is found.
++#  OPENEXR_LIBRARIES, libraries to link against to use OpenEXR.
++#  OPENEXR_ROOT_DIR, The base directory to search for OpenEXR.
++#                    This can also be an environment variable.
++#  OPENEXR_FOUND, If false, do not try to use OpenEXR.
+ #
+-# This module will set
+-#   OPENEXR_FOUND          true, if found
+-#   OPENEXR_INCLUDE_DIR    directory where headers are found
+-#   OPENEXR_LIBRARIES      libraries for OpenEXR + IlmBase
+-#   ILMBASE_LIBRARIES      libraries just IlmBase
+-#   OPENEXR_VERSION        OpenEXR version (accurate for >= 2.0.0,
+-#                              otherwise will just guess 1.6.1)
++# For individual library access these advanced settings are available
++#  OPENEXR_HALF_LIBRARY, Path to Half library
++#  OPENEXR_IEX_LIBRARY, Path to Half library
++#  OPENEXR_ILMIMF_LIBRARY, Path to Ilmimf library
++#  OPENEXR_ILMTHREAD_LIBRARY, Path to IlmThread library
++#  OPENEXR_IMATH_LIBRARY, Path to Imath library
+ #
+-# Special inputs:
+-#   OPENEXR_CUSTOM_INCLUDE_DIR - custom location of headers
+-#   OPENEXR_CUSTOM_LIB_DIR - custom location of libraries
+-#   OPENEXR_CUSTOM_LIB_PREFIX - special snowflake library prefix
+-#   OPENEXR_CUSTOM_LIB_SUFFIX - special snowflake library suffix
++# also defined, but not for general use are
++#  OPENEXR_LIBRARY, where to find the OpenEXR library.
++
++#=============================================================================
++# Copyright 2011 Blender Foundation.
+ #
++# Distributed under the OSI-approved BSD 3-Clause License,
++# see accompanying file BSD-3-Clause-license.txt for details.
++#=============================================================================
++
++# If OPENEXR_ROOT_DIR was defined in the environment, use it.
++IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
++  SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
++ENDIF()
++
++# Old versions (before 2.0?) do not have any version string, just assuming 
this should be fine though.
++SET(_openexr_libs_ver_init "2.0")
++
++SET(_openexr_FIND_COMPONENTS
++  Iex
++  Imath
++  OpenEXR
++  IlmThread
++)
+ 
+-# Other standard issue macros
+-include (FindPackageHandleStandardArgs)
+-include (SelectLibraryConfigurations)
+-
+-find_package (ZLIB REQUIRED)
+-
+-# Link with pthreads if required
+-find_package (Threads)
+-if (CMAKE_USE_PTHREADS_INIT)
+-    set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT})
+-endif ()
+-
+-# List of likely places to find the headers -- note priority override of
+-# OPENEXR_CUSTOM_INCLUDE_DIR and ${OPENEXR_HOME}/include.
+-# ILMBASE is needed in case ilmbase an openexr are installed in separate
+-# directories, like NixOS does
+-set (GENERIC_INCLUDE_PATHS
+-    ${OPENEXR_CUSTOM_INCLUDE_DIR}
+-    ${OPENEXR_HOME}/include
+-    ${ILMBASE_HOME}/include
+-#    /usr/local/include
+-#    /usr/include
+-#    /usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
+-#    /sw/include
+-#    /opt/local/include
++SET(_openexr_SEARCH_DIRS
++  ${OPENEXR_ROOT_DIR}
++  /opt/lib/openexr
+ )
+ 
+-# Find the include file locations. We call find_path twice -- first using
+-# only the custom paths, then if that fails, try the default paths only.
+-# This seems to be the most robust way I can find to not get confused when
+-# both system and custom libraries are present.
+-find_path (ILMBASE_INCLUDE_PATH OpenEXR/IlmBaseConfig.h
+-           PATHS ${GENERIC_INCLUDE_PATHS})
+-#find_path (ILMBASE_INCLUDE_PATH OpenEXR/IlmBaseConfig.h)
+-find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h
+-           PATHS ${GENERIC_INCLUDE_PATHS})
+-#find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h)
+-
+-# message(WARNING "GENERIC_INCLUDE_PATHS: ${GENERIC_INCLUDE_PATHS}")
+-# message(WARNING "Test if file exist: 
${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
+-
+-
+-# Try to figure out version number
+-if (EXISTS "${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
+-    # message(WARNING "Yes, file exist")
+-
+-    # Must be at least 2.0
+-    file(STRINGS "${OPENEXR_INCLUDE_PATH}/OpenEXR/OpenEXRConfig.h" TMP REGEX 
"^#define OPENEXR_VERSION_STRING .*$")
+-    string (REGEX MATCHALL "[0-9]+[.0-9]+" OPENEXR_VERSION ${TMP})
+-    file(STRINGS "${OPENEXR_INCLUDE_PATH}/OpenEXR/OpenEXRConfig.h" TMP REGEX 
"^#define OPENEXR_VERSION_MAJOR .*$")
+-    string (REGEX MATCHALL "[0-9]+" OPENEXR_VERSION_MAJOR ${TMP})
+-    file(STRINGS "${OPENEXR_INCLUDE_PATH}/OpenEXR/OpenEXRConfig.h" TMP REGEX 
"^#define OPENEXR_VERSION_MINOR .*$")
+-    string (REGEX MATCHALL "[0-9]+" OPENEXR_VERSION_MINOR ${TMP})
+-else ()
+-    message(STATUS  "File 
${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h does not exist. Default 
to 1.6.1")
+-    # Assume an old one, predates 2.x that had versions
+-    set (OPENEXR_VERSION 1.6.1)
+-    set (OPENEXR_MAJOR 1)
+-    set (OPENEXR_MINOR 6)
+-endif ()
+-
+-
+-# List of likely places to find the libraries -- note priority override of
+-# OPENEXR_CUSTOM_LIB_DIR and ${OPENEXR_HOME}/lib.
+-
+-# If there's no OPENEXR_HOME or ILMBASE_HOME, then the path will point to
+-# "/lib", which may not always be wanted/expected.
+-if (OPENEXR_CUSTOM_LIB_DIR)
+-  set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} 
${OPENEXR_CUSTOM_LIB_DIR})
+-endif()
+-
+-if (OPENEXR_HOME)
+-  set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} ${OPENEXR_HOME})
+-endif()
+-
+-if (ILMBASE_HOME)
+-  set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} ${ILMBASE_HOME})
+-endif()
+-
+-set (GENERIC_LIBRARY_PATHS
+-    ${GENERIC_LIBRARY_PATHS}
+-    ${OPENEXR_INCLUDE_PATH}/../lib
+-    ${ILMBASE_INCLUDE_PATH}/../lib
+-    /usr/local/lib
+-    /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
+-    /usr/lib
+-    /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
+-    /sw/lib
+-    /opt/local/lib
+-    $ENV{PROGRAM_FILES}/OpenEXR/lib/static )
+-
+-# Handle request for static libs by altering CMAKE_FIND_LIBRARY_SUFFIXES.
+-# We will restore it at the end of this file.
+-set (_openexr_orig_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
+-if (OpenEXR_USE_STATIC_LIBS)
+-    if (WIN32)
+-        set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .a 
${CMAKE_FIND_LIBRARY_SUFFIXES})
+-    else ()
+-        set (CMAKE_FIND_LIBRARY_SUFFIXES .a)
+-    endif ()
+-endif ()
+-
+-# Look for the libraries themselves, for all the components. Like with the
+-# headers, we do two finds -- first for custom locations, then for default.
+-# This is complicated because the OpenEXR libraries may or may not be
+-# built with version numbers embedded.
+-set (_openexr_components IlmThread IlmImf Imath Iex Half)
+-foreach (COMPONENT ${_openexr_components})
+-    string (TOUPPER ${COMPONENT} UPPERCOMPONENT)
+-    # First try with the version embedded
+-    set (FULL_COMPONENT_NAME 
${OPENEXR_CUSTOM_LIB_PREFIX}${COMPONENT}-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_CUSTOM_LIB_SUFFIX})
+-    find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
+-                  PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
+-    # Again, with no directory restrictions
+-    find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
+-    # Try again without the version
+-    set (FULL_COMPONENT_NAME 
${OPENEXR_CUSTOM_LIB_PREFIX}${COMPONENT}${OPENEXR_CUSTOM_LIB_SUFFIX})
+-    find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
+-                  PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
+-    # One more time, with no restrictions
+-    find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
+-endforeach ()
+-#Half usually has no suffix
+-find_library (OPENEXR_HALF_LIBRARY ${OPENEXR_CUSTOM_LIB_PREFIX}Half
+-              PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
+-find_library (OPENEXR_HALF_LIBRARY ${OPENEXR_CUSTOM_LIB_PREFIX}Half)
+-
+-# Set the FOUND, INCLUDE_DIR, and LIBRARIES variables.
+-if (ILMBASE_INCLUDE_PATH AND OPENEXR_INCLUDE_PATH AND
+-      OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND
+-      OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
+-    set (OPENEXR_FOUND TRUE)
+-    set (ILMBASE_FOUND TRUE)
+-    set (ILMBASE_INCLUDE_DIR 
${ILMBASE_INCLUDE_PATH};${ILMBASE_INCLUDE_PATH}/OpenEXR CACHE STRING "The 
include paths needed to use IlmBase")
+-    set (OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_PATH} CACHE STRING "The 
include paths needed to use OpenEXR")
+-    set (ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} 
${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE 
STRING "The libraries needed to use IlmBase")
+-    set (OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} 
${ZLIB_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR")
+-endif ()
+-
+-find_package_handle_standard_args (OpenEXR
+-    REQUIRED_VARS ILMBASE_INCLUDE_PATH OPENEXR_INCLUDE_PATH
+-                  OPENEXR_IMATH_LIBRARY OPENEXR_ILMIMF_LIBRARY
+-                  OPENEXR_IEX_LIBRARY OPENEXR_HALF_LIBRARY
+-    VERSION_VAR   OPENEXR_VERSION
++FIND_PATH(OPENEXR_INCLUDE_DIR
++  NAMES
++    OpenEXR/ImfXdr.h
++  HINTS
++    ${_openexr_SEARCH_DIRS}
++  PATH_SUFFIXES
++    include
++)
++
++# If the headers were found, get the version from config file, if not already 
set.
++IF(OPENEXR_INCLUDE_DIR)
++  IF(NOT OPENEXR_VERSION)
++
++    FIND_FILE(_openexr_CONFIG
++      NAMES
++        OpenEXRConfig.h
++      PATHS
++        "${OPENEXR_INCLUDE_DIR}"
++        "${OPENEXR_INCLUDE_DIR}/OpenEXR"
++      NO_DEFAULT_PATH
+     )
+ 
+-message(WARNING "ILMBASE_INCLUDE_DIR: ${ILMBASE_INCLUDE_DIR}")
++    IF(_openexr_CONFIG)
++      FILE(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION
++           REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ 
\t]+\"[.0-9]+\".*$")
++    ELSE()
++      MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in 
\"${OPENEXR_INCLUDE_DIR}\"")
++    ENDIF()
++
++    IF(OPENEXR_BUILD_SPECIFICATION)
++      MESSAGE(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
++      STRING(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ 
\t]+\"([.0-9]+)\".*"
++             "\\1" _openexr_libs_ver_init ${OPENEXR_BUILD_SPECIFICATION})
++    ELSE()
++      MESSAGE(WARNING "Could not determine ILMBase library version, assuming 
${_openexr_libs_ver_init}.")
++    ENDIF()
++
++    UNSET(_openexr_CONFIG CACHE)
++
++  ENDIF()
++ENDIF()
++
++SET("OPENEXR_VERSION" ${_openexr_libs_ver_init} CACHE STRING "Version of 
OpenEXR lib")
++UNSET(_openexr_libs_ver_init)
++
++STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver 
${OPENEXR_VERSION})
++
++SET(_openexr_LIBRARIES)
++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
++  STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
++
++  FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
++    NAMES
++      ${COMPONENT}-${_openexr_libs_ver} ${COMPONENT}
++    NAMES_PER_DIR
++    HINTS
++      ${_openexr_SEARCH_DIRS}
++    PATH_SUFFIXES
++      lib64 lib
++    )
++  LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}")
++ENDFOREACH()
+ 
+-MARK_AS_ADVANCED(
+-    ILMBASE_INCLUDE_DIR
+-    OPENEXR_INCLUDE_DIR
+-    ILMBASE_LIBRARIES
+-    OPENEXR_LIBRARIES
+-    OPENEXR_ILMIMF_LIBRARY
+-    OPENEXR_IMATH_LIBRARY
+-    OPENEXR_IEX_LIBRARY
+-    OPENEXR_HALF_LIBRARY
+-    OPENEXR_VERSION)
++UNSET(_openexr_libs_ver)
++
++# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
++# all listed variables are TRUE
++INCLUDE(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR  DEFAULT_MSG
++    _openexr_LIBRARIES OPENEXR_INCLUDE_DIR)
++
++IF(OPENEXR_FOUND)
++  SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
++  # Both include paths are needed because of dummy OSL headers mixing 
#include <OpenEXR/foo.h> and #include <foo.h> :(
++  SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} 
${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath)
++ENDIF()
+ 
+-# Restore the original CMAKE_FIND_LIBRARY_SUFFIXES
+-set (CMAKE_FIND_LIBRARY_SUFFIXES ${_openexr_orig_suffixes})
++MARK_AS_ADVANCED(
++  OPENEXR_INCLUDE_DIR
++  OPENEXR_VERSION
++)
++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
++  STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
++  MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY)
++ENDFOREACH()
++
++UNSET(COMPONENT)
++UNSET(UPPERCOMPONENT)
++UNSET(_openexr_FIND_COMPONENTS)
++UNSET(_openexr_LIBRARIES)
++UNSET(_openexr_SEARCH_DIRS)

Reply via email to