diff options
author | Antonio Rojas | 2024-01-06 13:58:55 +0100 |
---|---|---|
committer | Antonio Rojas | 2024-01-06 13:58:55 +0100 |
commit | 44c93fceb420df3bfc943be6bbf6b4a44e1a884f (patch) | |
tree | b665c338d707c84aba9d638f7c98be508ae54b31 | |
parent | 4336708eaae9687425f0cb6da50f0e4cb9736066 (diff) | |
download | aur-44c93fceb420df3bfc943be6bbf6b4a44e1a884f.tar.gz |
upgpkg: 3.2.0-1: opencv 4.9 rebuild
-rw-r--r-- | FindClp.cmake | 66 | ||||
-rw-r--r-- | FindCoinUtils.cmake | 64 | ||||
-rw-r--r-- | FindOsi.cmake | 64 | ||||
-rw-r--r-- | PKGBUILD | 86 | ||||
-rw-r--r-- | cmake_cxx_std_14.patch | 12 | ||||
-rw-r--r-- | fix-computeUncertainty-build.patch | 50 | ||||
-rw-r--r-- | gcc-13.patch | 24 | ||||
-rw-r--r-- | iomanip.patch | 48 | ||||
-rw-r--r-- | isnormal.patch | 32 | ||||
-rw-r--r-- | openexr3.patch | 309 |
10 files changed, 268 insertions, 487 deletions
diff --git a/FindClp.cmake b/FindClp.cmake new file mode 100644 index 000000000000..91707625e5e3 --- /dev/null +++ b/FindClp.cmake @@ -0,0 +1,66 @@ +########################################################### +# Find Clp Library +#---------------------------------------------------------- + +find_path(CLP_DIR ClpConfig.h + HINTS "${CLP_ROOT}" "$ENV{CLP_ROOT}" "${CLP_INCLUDE_DIR_HINTS}" + PATHS "$ENV{PROGRAMFILES}/Clp" "$ENV{PROGRAMW6432}/Clp" "/usr" "/usr/local" + PATH_SUFFIXES Clp + DOC "Root directory of CLP includes") + +##==================================================== +## Include CLP library +##---------------------------------------------------- +if(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "") + set(CLP_FOUND TRUE) + set(CLP_INCLUDE_DIRS ${CLP_DIR}) + set(CLP_DIR "${CLP_DIR}" CACHE PATH "" FORCE) + mark_as_advanced(CLP_DIR) + + # Extract Clp version from ClpConfig.h + set(CLP_VERSION_FILE ${CLP_INCLUDE_DIRS}/ClpConfig.h) + # Extract Clp version from alternative config_clp_default.h + if (EXISTS ${CLP_INCLUDE_DIRS}/config_clp_default.h) + set(CLP_VERSION_FILE ${CLP_INCLUDE_DIRS}/config_clp_default.h) + endif() + if(NOT EXISTS ${CLP_VERSION_FILE}) + CLP_REPORT_NOT_FOUND( + "Could not find file: ${CLP_VERSION_FILE} " + "containing version information in Clp install located at: " + "${CLP_INCLUDE_DIRS}.") + else (NOT EXISTS ${CLP_VERSION_FILE}) + file(READ ${CLP_VERSION_FILE} CLP_VERSION_FILE_CONTENTS) + string(REGEX MATCH "#define CLP_VERSION_MAJOR [0-9]+" + CLP_VERSION_MAJOR "${CLP_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define CLP_VERSION_MAJOR ([0-9]+)" "\\1" + CLP_VERSION_MAJOR "${CLP_VERSION_MAJOR}") + string(REGEX MATCH "#define CLP_VERSION_MINOR [0-9]+" + CLP_VERSION_MINOR "${CLP_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define CLP_VERSION_MINOR ([0-9]+)" "\\1" + CLP_VERSION_MINOR "${CLP_VERSION_MINOR}") + string(REGEX MATCH "#define CLP_VERSION_RELEASE [0-9]+" + CLP_VERSION_RELEASE "${CLP_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define CLP_VERSION_RELEASE ([0-9]+)" "\\1" + CLP_VERSION_RELEASE "${CLP_VERSION_RELEASE}") + set(CLP_VERSION "${CLP_VERSION_MAJOR}.${CLP_VERSION_MINOR}.${CLP_VERSION_RELEASE}") + endif (NOT EXISTS ${CLP_VERSION_FILE}) + set(CLP_INCLUDE_DIR ${CLP_DIR}) + + find_library(CLP_LIBRARY NAMES Clp) + find_library(CLPSOLVER_LIBRARY NAMES ClpSolver) + find_library(OSICLP_LIBRARY NAMES OsiClp) + + # locate Clp libraries + if(DEFINED CLP_LIBRARY AND DEFINED CLPSOLVER_LIBRARY AND DEFINED OSICLP_LIBRARY) + set(CLP_LIBRARIES ${CLP_LIBRARY} ${CLPSOLVER_LIBRARY} ${OSICLP_LIBRARY}) + endif() + + message(STATUS "Clp ${CLP_VERSION} found (include: ${CLP_INCLUDE_DIRS})") +else() + message(FATAL_ERROR "You are attempting to build without Clp. " + "Please use cmake variable -DCLP_INCLUDE_DIR_HINTS:STRING=\"PATH\" " + "or CLP_INCLUDE_DIR_HINTS env. variable to a valid Clp path. " + "Or install last Clp version.") + package_report_not_found(CLP "Clp cannot be found") +endif() +##==================================================== diff --git a/FindCoinUtils.cmake b/FindCoinUtils.cmake new file mode 100644 index 000000000000..6792a45844ac --- /dev/null +++ b/FindCoinUtils.cmake @@ -0,0 +1,64 @@ +########################################################### +# Find CoinUtils Library +#---------------------------------------------------------- + +find_path(COINUTILS_DIR CoinUtilsConfig.h + HINTS "${COINUTILS_ROOT}" "$ENV{COINUTILS_ROOT}" "${COINUTILS_INCLUDE_DIR_HINTS}" + PATHS "$ENV{PROGRAMFILES}/CoinUtils" "$ENV{PROGRAMW6432}/CoinUtils" "/usr" "/usr/local" + PATH_SUFFIXES CoinUtils + DOC "Root directory of COINUTILS includes") + +##==================================================== +## Include COINUTILS library +##---------------------------------------------------- +if(EXISTS "${COINUTILS_DIR}" AND NOT "${COINUTILS_DIR}" STREQUAL "") + set(COINUTILS_FOUND TRUE) + set(COINUTILS_INCLUDE_DIRS ${COINUTILS_DIR}) + set(COINUTILS_DIR "${COINUTILS_DIR}" CACHE PATH "" FORCE) + mark_as_advanced(COINUTILS_DIR) + + # Extract CoinUtils version from CoinUtilsConfig.h + set(COINUTILS_VERSION_FILE ${COINUTILS_INCLUDE_DIRS}/CoinUtilsConfig.h) + # Extract CoinUtils version from alternative config_coinutils_default.h + if(EXISTS ${COINUTILS_INCLUDE_DIRS}/config_coinutils_default.h) + set(COINUTILS_VERSION_FILE ${COINUTILS_INCLUDE_DIRS}/config_coinutils_default.h) + endif() + if(NOT EXISTS ${COINUTILS_VERSION_FILE}) + COINUTILS_REPORT_NOT_FOUND( + "Could not find file: ${COINUTILS_VERSION_FILE} " + "containing version information in CoinUtils install located at: " + "${COINUTILS_INCLUDE_DIRS}.") + else (NOT EXISTS ${COINUTILS_VERSION_FILE}) + file(READ ${COINUTILS_VERSION_FILE} COINUTILS_VERSION_FILE_CONTENTS) + string(REGEX MATCH "#define COINUTILS_VERSION_MAJOR [0-9]+" + COINUTILS_VERSION_MAJOR "${COINUTILS_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define COINUTILS_VERSION_MAJOR ([0-9]+)" "\\1" + COINUTILS_VERSION_MAJOR "${COINUTILS_VERSION_MAJOR}") + string(REGEX MATCH "#define COINUTILS_VERSION_MINOR [0-9]+" + COINUTILS_VERSION_MINOR "${COINUTILS_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define COINUTILS_VERSION_MINOR ([0-9]+)" "\\1" + COINUTILS_VERSION_MINOR "${COINUTILS_VERSION_MINOR}") + string(REGEX MATCH "#define COINUTILS_VERSION_RELEASE [0-9]+" + COINUTILS_VERSION_RELEASE "${COINUTILS_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define COINUTILS_VERSION_RELEASE ([0-9]+)" "\\1" + COINUTILS_VERSION_RELEASE "${COINUTILS_VERSION_RELEASE}") + set(COINUTILS_VERSION "${COINUTILS_VERSION_MAJOR}.${COINUTILS_VERSION_MINOR}.${COINUTILS_VERSION_RELEASE}") + endif(NOT EXISTS ${COINUTILS_VERSION_FILE}) + set(COINUTILS_INCLUDE_DIR ${COINUTILS_DIR}) + + find_library(COINUTILS_LIBRARY NAMES CoinUtils) + + # locate CoinUtils libraries + if(DEFINED COINUTILS_LIBRARY) + set(COINUTILS_LIBRARIES ${COINUTILS_LIBRARY}) + endif() + + message(STATUS "CoinUtils ${COINUTILS_VERSION} found (include: ${COINUTILS_INCLUDE_DIRS})") +else() + message(FATAL_ERROR "You are attempting to build without CoinUtils. " + "Please use cmake variable -DCOINUTILS_INCLUDE_DIR_HINTS:STRING=\"PATH\" " + "or COINUTILS_INCLUDE_DIR_HINTS env. variable to a valid CoinUtils path. " + "Or install last CoinUtils version.") + package_report_not_found(COINUTILS "CoinUtils cannot be found") +endif() +##==================================================== diff --git a/FindOsi.cmake b/FindOsi.cmake new file mode 100644 index 000000000000..318f917d7d3c --- /dev/null +++ b/FindOsi.cmake @@ -0,0 +1,64 @@ +########################################################### +# Find Osi Library +#---------------------------------------------------------- + +find_path(OSI_DIR OsiConfig.h + HINTS "${OSI_ROOT}" "$ENV{OSI_ROOT}" "${OSI_INCLUDE_DIR_HINTS}" + PATHS "$ENV{PROGRAMFILES}/Osi" "$ENV{PROGRAMW6432}/Osi" "/usr" "/usr/local" + PATH_SUFFIXES Osi + DOC "Root directory of OSI includes") + +##==================================================== +## Include OSI library +##---------------------------------------------------- +if(EXISTS "${OSI_DIR}" AND NOT "${OSI_DIR}" STREQUAL "") + set(OSI_FOUND TRUE) + set(OSI_INCLUDE_DIRS ${OSI_DIR}) + set(OSI_DIR "${OSI_DIR}" CACHE PATH "" FORCE) + mark_as_advanced(OSI_DIR) + + # Extract Osi version from OsiConfig.h + set(OSI_VERSION_FILE ${OSI_INCLUDE_DIRS}/OsiConfig.h) + # Extract Osi version from alternative config_osi_default.h + if(EXISTS ${OSI_INCLUDE_DIRS}/config_osi_default.h) + set(OSI_VERSION_FILE ${OSI_INCLUDE_DIRS}/config_osi_default.h) + endif() + if(NOT EXISTS ${OSI_VERSION_FILE}) + OSI_REPORT_NOT_FOUND( + "Could not find file: ${OSI_VERSION_FILE} " + "containing version information in Osi install located at: " + "${OSI_INCLUDE_DIRS}.") + else(NOT EXISTS ${OSI_VERSION_FILE}) + file(READ ${OSI_VERSION_FILE} OSI_VERSION_FILE_CONTENTS) + string(REGEX MATCH "#define OSI_VERSION_MAJOR [0-9]+" + OSI_VERSION_MAJOR "${OSI_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define OSI_VERSION_MAJOR ([0-9]+)" "\\1" + OSI_VERSION_MAJOR "${OSI_VERSION_MAJOR}") + string(REGEX MATCH "#define OSI_VERSION_MINOR [0-9]+" + OSI_VERSION_MINOR "${OSI_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define OSI_VERSION_MINOR ([0-9]+)" "\\1" + OSI_VERSION_MINOR "${OSI_VERSION_MINOR}") + string(REGEX MATCH "#define OSI_VERSION_RELEASE [0-9]+" + OSI_VERSION_RELEASE "${OSI_VERSION_FILE_CONTENTS}") + string(REGEX REPLACE "#define OSI_VERSION_RELEASE ([0-9]+)" "\\1" + OSI_VERSION_RELEASE "${OSI_VERSION_RELEASE}") + set(OSI_VERSION "${OSI_VERSION_MAJOR}.${OSI_VERSION_MINOR}.${OSI_VERSION_RELEASE}") + endif(NOT EXISTS ${OSI_VERSION_FILE}) + set(OSI_INCLUDE_DIR ${OSI_DIR}) + + find_library(OSI_LIBRARY NAMES Osi) + + # locate Osi libraries + if(DEFINED OSI_LIBRARY) + set(OSI_LIBRARIES ${OSI_LIBRARY}) + endif() + + message(STATUS "Osi ${OSI_VERSION} found (include: ${OSI_INCLUDE_DIRS})") +else() + message(FATAL_ERROR "You are attempting to build without Osi. " + "Please use cmake variable -DOSI_INCLUDE_DIR_HINTS:STRING=\"PATH\" " + "or OSI_INCLUDE_DIR_HINTS env. variable to a valid Osi path. " + "Or install last Osi version.") + package_report_not_found(OSI "Osi cannot be found") +endif() +##==================================================== @@ -3,34 +3,32 @@ pkgbase=alice-vision pkgname=('alice-vision') # 'alice-vision-cuda' -pkgver=2.4.0 -pkgrel=18 +pkgver=3.2.0 +pkgrel=1 pkgdesc="Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms" arch=('x86_64') url="https://alicevision.github.io/" options=('!lto' '!debug') # debug package is kinda big -- needs investigation! license=('MPL2' 'MIT') depends=('boost-libs' 'openimageio' 'flann' 'geogram' 'coin-or-clp' 'ceres-solver' 'cctag' - 'alembic' 'opengv' 'opencv' 'popsift' 'uncertainty-framework') + 'alembic' 'opengv' 'opencv' 'popsift' 'uncertainty-framework' 'assimp') makedepends=('boost' 'ninja' 'eigen' 'freetype2' 'coin-or-coinutils' 'coin-or-lemon' - 'git' 'cmake' 'doxygen' 'python-sphinx' 'cuda') + 'git' 'cmake' 'doxygen' 'python-sphinx') # 'cuda' 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" - "isnormal.patch" - "gcc-13.patch" + "FindCoinUtils.cmake" + "FindClp.cmake" + "FindOsi.cmake" + "fix-computeUncertainty-build.patch" ) sha256sums=('SKIP' 'SKIP' 'SKIP' - 'caf2bf06bd7c6a2387f01f312d94b649ef3e4363b18fcdf95986cd71a0d6c275' - 'de9def936b143b6a95d8afc93e4673e8f8b0e434785b65c557353549efd95c1b' - '3daa4788b181f2f92b31531c24c2ccff6d1546d7824addcd8058c415138346ea' - '91b2942041511044c6d486f3ed0f29ce9d498906be7a2230703a706ea6a92743' - '5b0397325cfcc1a6fb11eda915ee9a72ea1cab8d2c699be2271343b49a07792a') + 'd21691bfd9c2561cea52b5f48caf885ec6f8c2a0603ce594914bff610e77a0c5' + '6523435334eec6e39a244371287504cd0a0e88aa0cbe5dcac38b819ea881074e' + 'fbb87c86bc0b2ee2c98abfbecb0d555f75f01ccf5d4c59c22bb598e7f2897bf9' + '9d704d7f584c016d0eedb8fdb93d4fde600bcc984a722b9daadfde14e66e50c6') prepare() { cd AliceVision @@ -40,53 +38,24 @@ prepare() { git config submodule."src/dependencies/nanoflann".url "${srcdir}/nanoflann" git -c protocol.file.allow=always submodule update - # fix missing include that breaks building with boost 1.81.0 - git format-patch -1 --stdout 9c4481148d25 | patch -Np1 + # alice-vision requires a patched coinutils with cmake integration + cp "$srcdir"/Find*.cmake src/cmake + sed -e 's|Coin::Clp|${CLP_LIBRARIES}|g' \ + -e 's|Coin::CoinUtils|${COINUTILS_LIBRARIES}|g' \ + -e 's|Coin::Osi|${OSI_LIBRARIES}|g' \ + -i src/*/*/CMakeLists.txt - 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 build + patch -p1 -i ../fix-computeUncertainty-build.patch # 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 - - # fix build with GCC 13 - git apply -v "${srcdir}"/gcc-13.patch + ln -rs docs/sphinx{,/rst} } build() { cd AliceVision - # Patch out flags that causes failures during various stages. - export CXXFLAGS="${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}" - export CXXFLAGS="${CXXFLAGS/-fcf-protection}" - export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection}" - - # Fix build with boost 1.83 - export CXXFLAGS="${CXXFLAGS} -DBOOST_TIMER_ENABLE_DEPRECATED" - cmake \ -Bbuild \ -GNinja \ @@ -99,7 +68,7 @@ build() { -DPopSift_DIR=/usr \ -DCCTag_DIR=/usr/lib/cmake/CCTag \ -DUNCERTAINTYTE_DIR=/usr \ - -DMAGMA_ROOT=/usr \ + -DMAGMA_ROOT=/opt/cuda/targets/x86_64-linux/ \ -DALICEVISION_BUILD_EXAMPLES=OFF \ -DALICEVISION_USE_CUDA=OFF \ -DALICEVISION_USE_CCTAG=ON \ @@ -107,7 +76,8 @@ build() { -DALICEVISION_USE_UNCERTAINTYTE=ON \ -DALICEVISION_USE_ALEMBIC=ON \ -DALICEVISION_USE_OPENGV=ON \ - -DALICEVISION_USE_OPENCV=ON + -DALICEVISION_USE_OPENCV=ON \ + -DALICEVISION_USE_ONNX=OFF ninja -C build # cmake \ @@ -141,10 +111,6 @@ package_alice-vision() { 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 @@ -164,10 +130,6 @@ package_alice-vision-cuda() { ninja -C build-cuda doc_doxygen DESTDIR="${pkgdir}" ninja -C build-cuda 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 diff --git a/cmake_cxx_std_14.patch b/cmake_cxx_std_14.patch deleted file mode 100644 index 252bcf62ef7e..000000000000 --- a/cmake_cxx_std_14.patch +++ /dev/null @@ -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 diff --git a/fix-computeUncertainty-build.patch b/fix-computeUncertainty-build.patch new file mode 100644 index 000000000000..953de16b274b --- /dev/null +++ b/fix-computeUncertainty-build.patch @@ -0,0 +1,50 @@ +diff --git a/src/cmake/FindUncertaintyTE.cmake b/src/cmake/FindUncertaintyTE.cmake +index bcd4d6bfe..9047b264e 100644 +--- a/src/cmake/FindUncertaintyTE.cmake ++++ b/src/cmake/FindUncertaintyTE.cmake +@@ -30,7 +30,7 @@ FIND_LIBRARY(UNCERTAINTYTE_LIBRARY NAMES uncertaintyTE + PATH_SUFFIXES + lib + ) +- ++message("lalalalala " ${UNCERTAINTYTE_LIBRARY}) + IF(UNCERTAINTYTE_INCLUDE_DIR) + MESSAGE(STATUS "UncertaintyTE headers found in ${UNCERTAINTYTE_INCLUDE_DIR}") + IF(NOT MAGMA_FOUND) +@@ -39,6 +39,7 @@ IF(UNCERTAINTYTE_INCLUDE_DIR) + IF(MAGMA_FOUND) + set(UNCERTAINTYTE_INCLUDE_DIR ${UNCERTAINTYTE_INCLUDE_DIR} ${MAGMA_INCLUDE_DIRS}) + set(UNCERTAINTYTE_LIBRARY ${UNCERTAINTYTE_LIBRARY} ${MAGMA_LIBRARIES}) ++ message("lelelelelele " ${UNCERTAINTYTE_LIBRARY}) + ELSE() + MESSAGE(WARNING "Couldn't find Magma, this is needed for compiling with UncertaintyTE") + # this is to make the find_package_handle_standard_args fail +diff --git a/src/software/utils/main_computeUncertainty.cpp b/src/software/utils/main_computeUncertainty.cpp +index 23d2ab9ee..5bba4d7b2 100644 +--- a/src/software/utils/main_computeUncertainty.cpp ++++ b/src/software/utils/main_computeUncertainty.cpp +@@ -41,7 +41,8 @@ int aliceVision_main(int argc, char **argv) + std::string algorithm = cov::EAlgorithm_enumToString(cov::eAlgorithmSvdTaylorExpansion); + bool debug = false; + +- params.add_options() ++ po::options_description requiredParams("Required parameters"); ++ requiredParams.add_options() + ("input,i", po::value<std::string>(&sfmDataFilename)->required(), + "SfMData file to align.") + ("output,o", po::value<std::string>(&outSfMDataFilename)->required(), +@@ -51,12 +52,10 @@ int aliceVision_main(int argc, char **argv) + ("algorithm,a", po::value<std::string>(&algorithm)->default_value(algorithm), + "Algorithm.") + ("debug,d", po::value<bool>(&debug)->default_value(debug), +- "Enable creation of debug files in the current folder.") +- ("verboseLevel,v", po::value<std::string>(&verboseLevel)->default_value(verboseLevel), +- "verbosity level (fatal, error, warning, info, debug, trace)."); ++ "Enable creation of debug files in the current folder."); + + CmdLine cmdline("AliceVision computeUncertainty"); +- cmdline.add(params); ++ cmdline.add(requiredParams); + if (!cmdline.execute(argc, argv)) + { + return EXIT_FAILURE; diff --git a/gcc-13.patch b/gcc-13.patch deleted file mode 100644 index 961d240ec93d..000000000000 --- a/gcc-13.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/aliceVision/keyframe/KeyframeSelector.hpp b/src/aliceVision/keyframe/KeyframeSelector.hpp -index c5bfff9e1..7d055a6a7 100644 ---- a/src/aliceVision/keyframe/KeyframeSelector.hpp -+++ b/src/aliceVision/keyframe/KeyframeSelector.hpp -@@ -17,6 +17,7 @@ - #include <vector> - #include <memory> - #include <limits> -+#include <cstdint> - - namespace aliceVision { - namespace image { -diff --git a/src/aliceVision/keyframe/SharpnessSelectionPreset.hpp b/src/aliceVision/keyframe/SharpnessSelectionPreset.hpp -index cbac01f96..150ed09b0 100644 ---- a/src/aliceVision/keyframe/SharpnessSelectionPreset.hpp -+++ b/src/aliceVision/keyframe/SharpnessSelectionPreset.hpp -@@ -10,6 +10,7 @@ - #include <iostream> - #include <algorithm> - #include <stdexcept> -+#include <cstdint> - - namespace aliceVision { - namespace keyframe { diff --git a/iomanip.patch b/iomanip.patch deleted file mode 100644 index 371ff4c5499a..000000000000 --- a/iomanip.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 711eda620449c080b642fc7cb6118758535ab614 Mon Sep 17 00:00:00 2001 -From: fabien servant <fabien.servant@technicolor.com> -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 bfe2dccc6..2243ab5c3 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 b3dc72c3e..da87d7e37 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 70b49fbee..5d59dfabb 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. diff --git a/isnormal.patch b/isnormal.patch deleted file mode 100644 index 917612b86814..000000000000 --- a/isnormal.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f160515dd0b706d2034fe0641c00f58b2e63335d Mon Sep 17 00:00:00 2001 -From: Povilas Kanapickas <povilas@radix.lt> -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 95e705fbf..38b8f9305 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."); diff --git a/openexr3.patch b/openexr3.patch deleted file mode 100644 index 01db8801bf10..000000000000 --- a/openexr3.patch +++ /dev/null @@ -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) |