Date: Friday, November 25, 2022 @ 11:36:57
Author: svenstaro
Revision: 1353875
archrelease: copy trunk to community-x86_64
Added:
alice-vision/repos/community-x86_64/PKGBUILD
(from rev 1353874, alice-vision/trunk/PKGBUILD)
alice-vision/repos/community-x86_64/cmake_cxx_std_14.patch
(from rev 1353874, alice-vision/trunk/cmake_cxx_std_14.patch)
alice-vision/repos/community-x86_64/iomanip.patch
(from rev 1353874, alice-vision/trunk/iomanip.patch)
alice-vision/repos/community-x86_64/isnormal.patch
(from rev 1353874, alice-vision/trunk/isnormal.patch)
alice-vision/repos/community-x86_64/openexr3.patch
(from rev 1353874, alice-vision/trunk/openexr3.patch)
Deleted:
alice-vision/repos/community-x86_64/PKGBUILD
alice-vision/repos/community-x86_64/cmake_cxx_std_14.patch
alice-vision/repos/community-x86_64/iomanip.patch
alice-vision/repos/community-x86_64/isnormal.patch
alice-vision/repos/community-x86_64/openexr3.patch
------------------------+
PKGBUILD | 227 ++++++++---------
cmake_cxx_std_14.patch | 24 -
iomanip.patch | 96 +++----
isnormal.patch | 64 ++--
openexr3.patch | 618 +++++++++++++++++++++++------------------------
5 files changed, 516 insertions(+), 513 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-11-25 11:35:32 UTC (rev 1353874)
+++ PKGBUILD 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -1,112 +0,0 @@
-# Maintainer: Sven-Hendrik Haase <[email protected]>
-# Contributor: bartus <arch-user-repoᘓbartus.33mail.com>
-pkgname=alice-vision
-pkgver=2.4.0
-pkgrel=7
-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
-
- # Clean up some stuff that gets installed for some reason
- rm "${pkgdir}"/usr/lib/libflann_cpp_s.a
- rm "${pkgdir}"/usr/lib/pkgconfig/flann.pc
-
- 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/PKGBUILD (from rev 1353874,
alice-vision/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -0,0 +1,115 @@
+# Maintainer: Sven-Hendrik Haase <[email protected]>
+# Contributor: bartus <arch-user-repoᘓbartus.33mail.com>
+pkgname=alice-vision
+pkgver=2.4.0
+pkgrel=8
+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
+
+ # Clean up some stuff that gets installed for some reason
+ rm "${pkgdir}"/usr/lib/libflann_cpp_s.a
+ rm "${pkgdir}"/usr/lib/pkgconfig/flann.pc
+
+ # Fix OpenImageIO linkage in client libraries
+ sed -i 's/OpenImageIO::OpenImageIO/${OPENIMAGEIO_LIBRARIES}/g'
"${pkgdir}"/usr/share/aliceVision/cmake/AliceVisionTargets.cmake
+
+ 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:
Deleted: cmake_cxx_std_14.patch
===================================================================
--- cmake_cxx_std_14.patch 2022-11-25 11:35:32 UTC (rev 1353874)
+++ cmake_cxx_std_14.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -1,12 +0,0 @@
-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/cmake_cxx_std_14.patch (from rev
1353874, alice-vision/trunk/cmake_cxx_std_14.patch)
===================================================================
--- cmake_cxx_std_14.patch (rev 0)
+++ cmake_cxx_std_14.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -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
Deleted: iomanip.patch
===================================================================
--- iomanip.patch 2022-11-25 11:35:32 UTC (rev 1353874)
+++ iomanip.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -1,48 +0,0 @@
-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/iomanip.patch (from rev 1353874,
alice-vision/trunk/iomanip.patch)
===================================================================
--- iomanip.patch (rev 0)
+++ iomanip.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -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.
Deleted: isnormal.patch
===================================================================
--- isnormal.patch 2022-11-25 11:35:32 UTC (rev 1353874)
+++ isnormal.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -1,32 +0,0 @@
-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/isnormal.patch (from rev 1353874,
alice-vision/trunk/isnormal.patch)
===================================================================
--- isnormal.patch (rev 0)
+++ isnormal.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -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.");
Deleted: openexr3.patch
===================================================================
--- openexr3.patch 2022-11-25 11:35:32 UTC (rev 1353874)
+++ openexr3.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -1,309 +0,0 @@
---- 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)
Copied: alice-vision/repos/community-x86_64/openexr3.patch (from rev 1353874,
alice-vision/trunk/openexr3.patch)
===================================================================
--- openexr3.patch (rev 0)
+++ openexr3.patch 2022-11-25 11:36:57 UTC (rev 1353875)
@@ -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)