diff --git a/ports/cctag/0001-support-eigen3-5.patch b/ports/cctag/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..b712a3781c --- /dev/null +++ b/ports/cctag/0001-support-eigen3-5.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0e35b6..6633a9e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -232,9 +232,9 @@ endif(CCTAG_WITH_CUDA) + find_package(OpenCV REQUIRED core videoio imgproc imgcodecs) + + # FIND Eigen +-set(CCTAG_EIGEN_REQUIRED_VERSION 3.3.4) ++set(CCTAG_EIGEN_REQUIRED_VERSION 3.3.4...5) + if(MSVC AND CCTAG_WITH_CUDA) +- set(CCTAG_EIGEN_REQUIRED_VERSION 3.3.9) ++ set(CCTAG_EIGEN_REQUIRED_VERSION 3.3.9...5) + message(WARNING "Building CCTag with Cuda support under windows requires Eigen >= ${CCTAG_EIGEN_REQUIRED_VERSION}") + endif() + find_package(Eigen3 ${CCTAG_EIGEN_REQUIRED_VERSION} REQUIRED) diff --git a/ports/cctag/portfile.cmake b/ports/cctag/portfile.cmake index 8e4bf6918a..30d9e0e2ae 100644 --- a/ports/cctag/portfile.cmake +++ b/ports/cctag/portfile.cmake @@ -4,13 +4,15 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 65f8260213faab1965ff97e38b890d85f5599c5db5f50f09ab1ed2d73d7008d2e93693145d66a4d9af6342666817204736c3b0384885fa50402850f1dc5dceae HEAD_REF develop + PATCHES + 0001-support-eigen3-5.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - cuda CCTAG_WITH_CUDA - apps CCTAG_BUILD_APPS -) + FEATURES + cuda CCTAG_WITH_CUDA + apps CCTAG_BUILD_APPS + ) if("cuda" IN_LIST FEATURES) vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) diff --git a/ports/cctag/vcpkg.json b/ports/cctag/vcpkg.json index 0977cbca51..2660b7049d 100644 --- a/ports/cctag/vcpkg.json +++ b/ports/cctag/vcpkg.json @@ -1,6 +1,7 @@ { "name": "cctag", "version-semver": "1.0.4", + "port-version": 1, "maintainers": "alicevision-team@googlegroups.com", "description": "Computer vision library for detecting CCTag markers made up of concentric circles", "homepage": "https://github.com/alicevision/CCTag", diff --git a/ports/ceres/0008_support_eigen3_5.patch b/ports/ceres/0008_support_eigen3_5.patch new file mode 100644 index 0000000000..7ae9f996eb --- /dev/null +++ b/ports/ceres/0008_support_eigen3_5.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7e7e413..1ab96b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -182,7 +182,7 @@ unset(CERES_COMPILE_OPTIONS) + + # Eigen. + # Eigen delivers Eigen3Config.cmake since v3.3.3 +-find_package(Eigen3 3.3 REQUIRED) ++find_package(Eigen3 3.3...5 REQUIRED) + if (Eigen3_FOUND) + message("-- Found Eigen version ${Eigen3_VERSION}: ${Eigen3_DIR}") + if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)" AND + +diff --git a/internal/ceres/covariance_impl.cc b/internal/ceres/covariance_impl.cc +index 56221945a55927aff91ab96b37a9af19514ca508..930711fd01f0a61aad88b188acad4958f777f706 100644 +--- a/internal/ceres/covariance_impl.cc ++++ b/internal/ceres/covariance_impl.cc +@@ -724,8 +724,13 @@ bool CovarianceImpl::ComputeCovarianceValuesUsingDenseSVD() { + } + event_logger.AddEvent("ConvertToDenseMatrix"); + ++#if EIGEN_VERSION_AT_LEAST(5, 0, 0) ++ Eigen::BDCSVD svd( ++ dense_jacobian); ++#else // !EIGEN_VERSION_AT_LEAST(5, 0, 0) + Eigen::BDCSVD svd(dense_jacobian, + Eigen::ComputeThinU | Eigen::ComputeThinV); ++#endif // EIGEN_VERSION_AT_LEAST(5, 0, 0) + + event_logger.AddEvent("SingularValueDecomposition"); + +diff --git a/internal/ceres/invert_psd_matrix.h b/internal/ceres/invert_psd_matrix.h +index 21ba2dc8a150725aae2a779b7551ad4b7973b379..dd3a0a34bf02f8852a7a71edbc8ac0e9a8865f51 100644 +--- a/internal/ceres/invert_psd_matrix.h ++++ b/internal/ceres/invert_psd_matrix.h +@@ -67,7 +67,11 @@ typename EigenTypes::Matrix InvertPSDMatrix( + + // For a thin SVD the number of columns of the matrix need to be dynamic. + using SVDMType = typename EigenTypes::Matrix; ++#if EIGEN_VERSION_AT_LEAST(5, 0, 0) ++ Eigen::JacobiSVD svd(m); ++#else // !EIGEN_VERSION_AT_LEAST(5, 0, 0) + Eigen::JacobiSVD svd(m, Eigen::ComputeThinU | Eigen::ComputeThinV); ++#endif // EIGEN_VERSION_AT_LEAST(5, 0, 0) + return svd.solve(MType::Identity(size, size)); + } + diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index 9366f67b89..ec73b61e89 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( 0005_link_cuda_static.patch 0006_fix_cuda_architectures.patch 0007_support_cuda_13.patch + 0008_support_eigen3_5.patch ) file(REMOVE "${SOURCE_PATH}/cmake/FindGflags.cmake") file(REMOVE "${SOURCE_PATH}/cmake/FindGlog.cmake") diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index 7b67d6fd80..bab0bc5e93 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ceres", "version": "2.2.0", - "port-version": 5, + "port-version": 6, "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", "license": "Apache-2.0", diff --git a/ports/chronoengine/0001-dependencies.patch b/ports/chronoengine/0001-dependencies.patch new file mode 100644 index 0000000000..5f802d78c4 --- /dev/null +++ b/ports/chronoengine/0001-dependencies.patch @@ -0,0 +1,688 @@ +diff --git a/cmake/FindBLAS.cmake b/cmake/FindBLAS.cmake +index 6a8f0f9..c44f92e 100644 +--- a/cmake/FindBLAS.cmake ++++ b/cmake/FindBLAS.cmake +@@ -487,7 +487,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + endif () + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) +- find_package(Threads) ++ find_package(Threads REQUIRED) + else() + find_package(Threads REQUIRED) + endif() +diff --git a/cmake/FindEigen3.cmake b/cmake/FindEigen3.cmake +index 0d2b3ce..4154783 100644 +--- a/cmake/FindEigen3.cmake ++++ b/cmake/FindEigen3.cmake +@@ -1,96 +1,163 @@ +-# - Try to find Eigen3 lib ++# Try to find Eigen3 lib + # + # This module supports requiring a minimum version, e.g. you can do + # find_package(Eigen3 3.1.2) + # to require version 3.1.2 or newer of Eigen3. + # +-# Once done this will define ++# If successful, this will define + # +-# EIGEN3_FOUND - system has eigen lib with correct version +-# EIGEN3_INCLUDE_DIR - the eigen include directory +-# EIGEN3_VERSION - eigen version ++# Eigen3_FOUND - system has Eigen3 lib with correct version ++# EIGEN3_INCLUDE_DIR - the Eigen3 include directory ++# EIGEN3_VERSION - Eigen3 version + # +-# This module reads hints about search locations from +-# the following enviroment variables: ++# and the following imported target: + # +-# EIGEN3_ROOT +-# EIGEN3_ROOT_DIR ++# Eigen3::Eigen - The header-only Eigen library ++# ++# This module reads hints about search locations from the following environment variables: ++# EIGEN3_ROOT ++# EIGEN3_ROOT_DIR + ++# Based on: + # Copyright (c) 2006, 2007 Montel Laurent, + # Copyright (c) 2008, 2009 Gael Guennebaud, + # Copyright (c) 2009 Benoit Jacob + # Redistribution and use is allowed according to the terms of the 2-clause BSD license. + ++ + if(NOT Eigen3_FIND_VERSION) + if(NOT Eigen3_FIND_VERSION_MAJOR) +- set(Eigen3_FIND_VERSION_MAJOR 2) +- endif(NOT Eigen3_FIND_VERSION_MAJOR) ++ set(Eigen3_FIND_VERSION_MAJOR 3) ++ endif() + if(NOT Eigen3_FIND_VERSION_MINOR) +- set(Eigen3_FIND_VERSION_MINOR 91) +- endif(NOT Eigen3_FIND_VERSION_MINOR) ++ set(Eigen3_FIND_VERSION_MINOR 3) ++ endif() + if(NOT Eigen3_FIND_VERSION_PATCH) + set(Eigen3_FIND_VERSION_PATCH 0) +- endif(NOT Eigen3_FIND_VERSION_PATCH) ++ endif() + + set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") +-endif(NOT Eigen3_FIND_VERSION) ++endif() + +-macro(_eigen3_check_version) +- file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) ++# ------------------------------------------------------------------------------ + +- string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") +- set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") +- string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") +- set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") +- string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") +- set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") ++macro(_eigen3_check_version) ++ if(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/Version") ++ # Eigen version >= 5.0.0 ++ file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/Version" _eigen3_version_header) ++ ++ string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") ++ set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") ++ string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") ++ set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") ++ string(REGEX MATCH "define[ \t]+EIGEN_PATCH_VERSION[ \t]+([0-9]+)" _eigen3_patch_version_match "${_eigen3_version_header}") ++ set(EIGEN3_PATCH_VERSION "${CMAKE_MATCH_1}") ++ ++ set(EIGEN3_VERSION ${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}.${EIGEN3_PATCH_VERSION}) ++ elseif(EXISTS "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h") ++ # Eigen version <= 3.4.1 ++ file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) ++ ++ string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") ++ set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") ++ string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") ++ set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") ++ string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") ++ set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") ++ ++ set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) ++ endif() ++ ++ if(EIGEN3_VERSION) ++ if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) ++ set(EIGEN3_VERSION_OK FALSE) ++ message("WARNING: Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " ++ "but at least version ${Eigen3_FIND_VERSION} is required") ++ else() ++ set(EIGEN3_VERSION_OK TRUE) ++ endif() ++ else() ++ message("ERROR: cannot find Eigen3 version information") ++ endif() ++ ++endmacro() ++ ++# ------------------------------------------------------------------------------ ++ ++if(EIGEN3_INCLUDE_DIR) ++ ++ if(NOT Eigen3_FIND_QUIETLY) ++ message(STATUS " EIGEN3_INCLUDE_DIR found in cache.") ++ message(STATUS " Eigen3 include dir: ${EIGEN3_INCLUDE_DIR}") ++ endif() + +- set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) +- if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) +- set(EIGEN3_VERSION_OK FALSE) +- else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) +- set(EIGEN3_VERSION_OK TRUE) +- endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) ++ _eigen3_check_version() ++ set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) ++ set(Eigen3_FOUND ${EIGEN3_VERSION_OK}) + +- if(NOT EIGEN3_VERSION_OK) ++else() + +- message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " +- "but at least version ${Eigen3_FIND_VERSION} is required") +- endif(NOT EIGEN3_VERSION_OK) +-endmacro(_eigen3_check_version) ++ if(NOT Eigen3_FIND_QUIETLY) ++ message(STATUS " EIGEN3_INCLUDE_DIR NOT found in cache.") ++ message(STATUS " Looking for Eigen3Config.cmake.") ++ endif() ++ ++ # Check if Eigen3Config.cmake is available ++ if(Eigen3_FIND_QUIETLY) ++ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET) ++ else() ++ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE) ++ endif() + +-if (EIGEN3_INCLUDE_DIR) ++ if(Eigen3_FOUND) + +- # in cache already +- _eigen3_check_version() +- set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) ++ get_target_property(EIGEN3_INCLUDE_DIR Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) + +-else (EIGEN3_INCLUDE_DIR) ++ if(NOT Eigen3_FIND_QUIETLY) ++ message(STATUS " Eigen3 found with Eigen3Config.cmake.") ++ message(STATUS " Eigen3 include dir: ${EIGEN3_INCLUDE_DIR}") ++ endif() + +- # search first if an Eigen3Config.cmake is available in the system, +- # if successful this would set EIGEN3_INCLUDE_DIR and the rest of +- # the script will work as usual +- find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET) ++ else() ++ ++ if(NOT Eigen3_FIND_QUIETLY) ++ message(STATUS " Eigen3 NOT found through Eigen3Config.cmake.") ++ message(STATUS " Searching paths EIGEN3_ROOT, EIGEN3_ROOT_DIR.") ++ endif() + +- if(NOT EIGEN3_INCLUDE_DIR) +- find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library ++ find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library + HINTS +- ENV EIGEN3_ROOT +- ENV EIGEN3_ROOT_DIR ++ ENV Eigen3_ROOT ++ ENV Eigen3_ROOT_DIR + PATHS + ${CMAKE_INSTALL_PREFIX}/include + ${KDE4_INCLUDE_DIR} + PATH_SUFFIXES eigen3 eigen +- ) +- endif(NOT EIGEN3_INCLUDE_DIR) ++ ) + +- if(EIGEN3_INCLUDE_DIR) +- _eigen3_check_version() +- endif(EIGEN3_INCLUDE_DIR) ++ if(NOT EIGEN3_INCLUDE_DIR) ++ if(NOT Eigen3_FIND_QUIETLY) ++ message(STATUS " EIGEN3_INCLUDE_DIR NOT found through find_path.") ++ endif() ++ endif() ++ ++ endif() ++ ++ if(EIGEN3_INCLUDE_DIR) ++ _eigen3_check_version() ++ endif() ++ ++ include(FindPackageHandleStandardArgs) ++ find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) ++ ++ mark_as_advanced(EIGEN3_INCLUDE_DIR) + +- include(FindPackageHandleStandardArgs) +- find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) ++endif() + +- mark_as_advanced(EIGEN3_INCLUDE_DIR) ++# ------------------------------------------------------------------------------ + +-endif(EIGEN3_INCLUDE_DIR) ++if(Eigen3_FOUND AND NOT TARGET Eigen3::Eigen) ++ add_library(Eigen3::Eigen INTERFACE IMPORTED) ++ set_target_properties(Eigen3::Eigen PROPERTIES ++ INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}") ++endif() +diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake +index 6f8a274..acf43af 100644 +--- a/cmake/FindMKL.cmake ++++ b/cmake/FindMKL.cmake +@@ -7,7 +7,7 @@ + # + # Usage example: + # set(MKL_USE_STATIC_LIBS ON) +-# find_package(MKL) ++# find_package(MKL REQUIRED) + # if (MKL_FOUND) + # include_directories(${MKL_INCLUDE_DIRS}) + # link_directories(${MKL_LIBRARY_DIRS}) +diff --git a/cmake/FindMyGUI.cmake b/cmake/FindMyGUI.cmake +index b5563c8..2fc9912 100644 +--- a/cmake/FindMyGUI.cmake ++++ b/cmake/FindMyGUI.cmake +@@ -81,7 +81,7 @@ IF (WIN32) #Windows + ENDIF (OGRESOURCE) + ELSE (WIN32) #Unix + CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR) +- FIND_PACKAGE(PkgConfig) ++ find_package(PkgConfig REQUIRED) + IF(MYGUI_STATIC) + # don't use pkgconfig on OS X, find freetype & append it's libs to resulting MYGUI_LIBRARIES + IF (NOT APPLE) +@@ -101,7 +101,7 @@ ELSE (WIN32) #Unix + ENDIF (MYGUI_INCLUDE_DIRS) + ELSE (NOT APPLE) + SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${MYGUI_DEPENDENCIES_DIR} ${OGRE_DEPENDENCIES_DIR}) +- FIND_PACKAGE(freetype) ++ find_package(freetype REQUIRED) + FIND_PATH(MYGUI_INCLUDE_DIRS MyGUI.h PATHS /usr/local/include /usr/include PATH_SUFFIXES MyGUI MYGUI) + FIND_LIBRARY(MYGUI_LIBRARIES MyGUIEngineStatic PATHS /usr/lib /usr/local/lib) + SET(MYGUI_PLATFORM_LIBRARIES "MyGUI.OgrePlatform") +diff --git a/cmake/FindOgre.cmake b/cmake/FindOgre.cmake +index 9e2081a..950ba01 100644 +--- a/cmake/FindOgre.cmake ++++ b/cmake/FindOgre.cmake +@@ -262,17 +262,17 @@ endif () + # look for required Ogre dependencies in case of static build and/or threading + if (OGRE_STATIC) + set(OGRE_DEPS_FOUND TRUE) +- find_package(Cg QUIET) +- find_package(DirectX QUIET) +- find_package(FreeImage QUIET) +- find_package(Freetype QUIET) +- find_package(OpenGL QUIET) +- find_package(OpenGLES QUIET) +- find_package(OpenGLES2 QUIET) +- find_package(ZLIB QUIET) +- find_package(ZZip QUIET) ++ find_package(Cg REQUIRED) ++ find_package(DirectX REQUIRED) ++ find_package(FreeImage REQUIRED) ++ find_package(Freetype REQUIRED) ++ find_package(OpenGL REQUIRED) ++ find_package(OpenGLES REQUIRED) ++ find_package(OpenGLES2 REQUIRED) ++ find_package(ZLIB REQUIRED) ++ find_package(ZZip REQUIRED) + if (UNIX AND NOT APPLE AND NOT ANDROID) +- find_package(X11 QUIET) ++ find_package(X11 REQUIRED) + find_library(XAW_LIBRARY NAMES Xaw Xaw7 PATHS ${DEP_LIB_SEARCH_DIR} ${X11_LIB_SEARCH_PATH}) + if (NOT XAW_LIBRARY OR NOT X11_Xt_FOUND) + set(X11_FOUND FALSE) +@@ -310,7 +310,7 @@ endif() + endif() + + set(OGRE_BOOST_COMPONENTS thread date_time) +- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) ++ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) + if(Boost_FOUND AND Boost_VERSION GREATER 104900) + if(Boost_VERSION GREATER 105300) + set(OGRE_BOOST_COMPONENTS thread date_time system atomic chrono) +@@ -319,7 +319,7 @@ endif() + endif() + endif() + +- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) ++ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) + if (NOT Boost_THREAD_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +@@ -327,7 +327,7 @@ endif() + set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + endif () + elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 2) +- find_package(POCO QUIET) ++ find_package(POCO REQUIRED) + if (NOT POCO_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +@@ -335,7 +335,7 @@ endif() + set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${POCO_INCLUDE_DIRS}) + endif () + elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 3) +- find_package(TBB QUIET) ++ find_package(TBB REQUIRED) + if (NOT TBB_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +diff --git a/cmake/FindPkgMacros.cmake b/cmake/FindPkgMacros.cmake +index 53111e0..2f6881c 100644 +--- a/cmake/FindPkgMacros.cmake ++++ b/cmake/FindPkgMacros.cmake +@@ -70,7 +70,7 @@ endmacro(clear_if_changed) + # Try to get some hints from pkg-config, if available + macro(use_pkgconfig PREFIX PKGNAME) + if(NOT ANDROID) +- find_package(PkgConfig) ++ find_package(PkgConfig REQUIRED) + if (PKG_CONFIG_FOUND) + pkg_check_modules(${PREFIX} ${PKGNAME}) + endif () +diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake +index 4b8f7e9..e27895a 100644 +--- a/cmake/FindSDL2.cmake ++++ b/cmake/FindSDL2.cmake +@@ -112,7 +112,7 @@ ENDIF(NOT SDL2_BUILDING_LIBRARY) + # frameworks may already provide it. + # But for non-OSX systems, I will use the CMake Threads package. + IF(NOT APPLE) +- FIND_PACKAGE(Threads) ++ find_package(Threads REQUIRED) + ENDIF(NOT APPLE) + + # MinGW needs an additional library, mwindows +diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake +index 319f307..68ec2da 100644 +--- a/cmake/GetGitRevisionDescription.cmake ++++ b/cmake/GetGitRevisionDescription.cmake +@@ -82,7 +82,7 @@ endfunction() + + function(git_describe _var) + if(NOT GIT_FOUND) +- find_package(Git QUIET) ++ find_package(Git REQUIRED) + endif() + get_git_head_revision(refspec hash) + if(NOT GIT_FOUND) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d75ce10..3603db6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -96,7 +96,7 @@ endif() + + message(STATUS "Searching for Threads...") + set(THREADS_PREFER_PTHREAD_FLAG TRUE) +-find_package(Threads) ++find_package(Threads REQUIRED) + + message(STATUS " Thread library: ${CMAKE_THREAD_LIBS_INIT}") + message(STATUS " Using Win32 threads? ${CMAKE_USE_WIN32_THREADS_INIT}") +@@ -112,7 +112,7 @@ set(CH_C_FLAGS "${CH_C_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") + # main ChronoEngine library, regardless on whether or not OpenMP is found. + + message(STATUS "Searching for OpenMP...") +-find_package(OpenMP) ++# find_package(OpenMP) + + # Determine OpenMP version. Prepare substitution variables that can be used in + # generating configuration header files. +@@ -177,7 +177,7 @@ if(USE_SIMD) + + # Figure out SIMD support + message(STATUS "Testing SIMD capabilities...") +- find_package(SIMD) ++ find_package(SIMD REQUIRED) + + # Set substitution variables for configuration file + if(SIMD_SSE) +@@ -249,22 +249,28 @@ endif() + # Eigen library + #----------------------------------------------------------------------------- + +-message(STATUS "Searching for Eigen3...") +-find_package(Eigen3 3.3.0) +-if(EIGEN3_FOUND) +- message(STATUS " Eigen3 version: ${EIGEN3_VERSION}") +- message(STATUS " Eigen3 include directory: ${EIGEN3_INCLUDE_DIR}") ++message(STATUS "Searching for Eigen3") ++find_package(Eigen3 3.3 REQUIRED) ++if(Eigen3_FOUND) ++ message(STATUS "Eigen3 found") ++ message(STATUS " Eigen3 version: ${EIGEN3_VERSION}") ++ message(STATUS " Eigen3 include dir: ${EIGEN3_INCLUDE_DIR}") ++ mark_as_advanced(FORCE EIGEN3_INCLUDE_DIR) ++ mark_as_advanced(FORCE Eigen3_DIR) + else() ++ message(ERROR "Eigen3 cannot be found.\n" ++ " Provide Eigen3_DIR (location of Eigen3Config.cmake) or else\n" ++ " set either EIGEN3_INCLUDE_DIR or the envvar Eigen3_ROOT to the location of Eigen library.") ++ set(EIGEN3_INCLUDE_DIR "" CACHE PATH "Path to Eigen3 directory (should contain a subfolder named \"Eigen\"") ++ set(Eigen3_DIR "" CACHE PATH "Path to Eigen3 config file (should contain the \"Eigen3Config.cmake\" file") + mark_as_advanced(CLEAR EIGEN3_INCLUDE_DIR) +- mark_as_advanced(FORCE Eigen3_DIR) +- message(FATAL_ERROR " Eigen3 not found. Specify EIGEN3_INCLUDE_DIR") ++ mark_as_advanced(CLEAR Eigen3_DIR) ++ return() + endif() + + # Fix for VS 2017 15.8 and newer to handle alignment specification with Eigen. +-if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") +- if(MSVC AND ${MSVC_VERSION} GREATER_EQUAL 1915) +- add_definitions( "-D_ENABLE_EXTENDED_ALIGNED_STORAGE" ) +- endif() ++if((${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND MSVC AND "${MSVC_VERSION}" GREATER_EQUAL 1915) OR NOT CH_USE_EIGEN_OPENMP) ++ target_compile_definitions(Eigen3::Eigen INTERFACE "_ENABLE_EXTENDED_ALIGNED_STORAGE") + endif() + + cmake_dependent_option(USE_EIGEN_OPENMP "Compile Chrono with OpenMP support in Eigen" ON "ENABLE_OPENMP" OFF) +@@ -293,7 +299,7 @@ endif() + #----------------------------------------------------------------------------- + + message(STATUS "Searching for MPI...") +-find_package(MPI) ++# find_package(MPI) + if(MPI_FOUND) + message(STATUS " MPI compiler: ${MPI_CXX_COMPILER}") + message(STATUS " MPI compile flags: ${MPI_CXX_COMPILE_FLAGS}") +@@ -313,7 +319,7 @@ endif() + + message(STATUS "Searching for CUDA...") + +-find_package(CUDA QUIET) ++# find_package(CUDA) + + if(CUDA_FOUND) + set(CUDA_BINARY_DIR "${CUDA_TOOLKIT_ROOT_DIR}/bin") +@@ -383,7 +389,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + set(${THRUST_FOUND} FALSE) + endif() + else() +- find_package(Thrust) ++# find_package(Thrust) + endif() + + if(THRUST_FOUND) +@@ -500,14 +506,14 @@ if(ENABLE_HDF5) + # HDF5_INCLUDE_DIRS + # HDF5_C_LIBRARIES + # HDF5_CXX_LIBRARIES +- find_package(HDF5 COMPONENTS CXX) ++ find_package(HDF5 COMPONENTS CXX REQUIRED) + + if(NOT HDF5_FOUND) + # Look for a package configuration file + # LIB_TYPE can be one of STATIC or SHARED. + set(LIB_TYPE SHARED) # STATIC or SHARED + string(TOLOWER ${LIB_TYPE} SEARCH_TYPE) +- find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE}) ++ find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE} REQUIRED) + + if (HDF5_FOUND) + set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) +diff --git a/src/chrono/CMakeLists.txt b/src/chrono/CMakeLists.txt +index 88f970f..917452c 100644 +--- a/src/chrono/CMakeLists.txt ++++ b/src/chrono/CMakeLists.txt +@@ -1405,9 +1405,9 @@ endif() + # Add the ChronoEngine library to the project + add_library(ChronoEngine SHARED ${ChronoEngine_FILES}) + +-target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB}) ++target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB} TBB::tbb TBB::tbbmalloc) + if (UNIX) +- target_link_libraries(ChronoEngine pthread) ++ target_link_libraries(ChronoEngine pthread TBB::tbb TBB::tbbmalloc) + endif() + + # Set some custom properties of this target +diff --git a/src/chrono_cascade/CMakeLists.txt b/src/chrono_cascade/CMakeLists.txt +index 3d38c87..f9558ba 100644 +--- a/src/chrono_cascade/CMakeLists.txt ++++ b/src/chrono_cascade/CMakeLists.txt +@@ -50,7 +50,7 @@ source_group("" FILES + #----------------------------------------------------------------------------- + # Find OpenCASCADE + +-find_package(OpenCASCADE CONFIG) ++find_package(OpenCASCADE CONFIG REQUIRED) + + if (NOT OpenCASCADE_FOUND) + message("Could not find OpenCASCADE or one of its required modules") +diff --git a/src/chrono_irrlicht/CMakeLists.txt b/src/chrono_irrlicht/CMakeLists.txt +index acffe0c..bc0e938 100644 +--- a/src/chrono_irrlicht/CMakeLists.txt ++++ b/src/chrono_irrlicht/CMakeLists.txt +@@ -54,7 +54,7 @@ SOURCE_GROUP("" FILES + + set(CH_IRRLICHT_CXX_FLAGS "") + set(CH_IRRLICHT_C_FLAGS "") +- ++if(0) + IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + SET(IRRLICHT_ROOT "C:/irrlicht-1.8.1" CACHE PATH "Path to Irrlicht SDK installation.") + IF("${CH_COMPILER}" STREQUAL "COMPILER_MSVC") +@@ -84,7 +84,8 @@ else() + FIND_LIBRARY(IRRLICHT_LIBRARY NAMES Irrlicht PATHS ${IRRLICHT_ROOT}/../../lib) + set(IRRLICHT_LIBRARY "${IRRLICHT_LIBRARY}") + ENDIF() +- ++endif() ++find_package(irrlicht REQUIRED) + # If using MSVC, disable warning 4275 (non-DLL-interface class used as base for DLL-interface class) + if(MSVC) + add_compile_options(/wd4275) +@@ -93,7 +94,7 @@ if(MSVC) + endif() + + # Add path to IRRLICHT headers +- ++if(0) + IF(EXISTS "${IRRLICHT_ROOT}/include/irrlicht") + SET(CH_IRRLICHTINC "${IRRLICHT_ROOT}/include/irrlicht") + ELSEIF(EXISTS "${IRRLICHT_ROOT}/include") +@@ -103,7 +104,7 @@ ELSE() + ENDIF() + + INCLUDE_DIRECTORIES( ${CH_IRRLICHTINC} ) +- ++endif(0) + + # Let some variables be visible also from outside this directory + +@@ -119,7 +120,7 @@ set(COMPILER_FLAGS "${CH_CXX_FLAGS} ${CH_IRRLICHT_CXX_FLAGS}") + set(LINKER_FLAGS "${CH_LINKERFLAG_SHARED}") + set(LIBRARIES + ChronoEngine +- ${IRRLICHT_LIBRARY} ++ Irrlicht + ) + + if (ENABLE_MODULE_POSTPROCESS) +@@ -168,7 +169,7 @@ endif() + # appropriate directory (depending on the build type); however, we use + # copy_if_different. + +-IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") ++IF(0) + + IF(DEFINED ENV{CONDA_BUILD}) + SET(CH_IRRLICHT_DLL "$ENV{PREFIX}/Library/bin/Irrlicht.dll") +diff --git a/src/chrono_mumps/CMakeLists.txt b/src/chrono_mumps/CMakeLists.txt +index d856460..a2e1ea2 100644 +--- a/src/chrono_mumps/CMakeLists.txt ++++ b/src/chrono_mumps/CMakeLists.txt +@@ -88,7 +88,7 @@ unset(BLAS_FOUND) + unset(BLAS_LIBRARIES) + message(STATUS "Searching for BLAS...") + +-find_package(BLAS) ++find_package(BLAS REQUIRED) + + set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + +diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt +index e179a68..5a6852e 100644 +--- a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt ++++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt +@@ -78,7 +78,7 @@ endif() + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) + + +-find_package(BLAS) ++find_package(BLAS REQUIRED) + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + + if (NOT BLAS_FOUND) +@@ -101,7 +101,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC + "-MD") + + +-find_package(OpenMP) ++find_package(OpenMP REQUIRED) + if (ENABLE_OPENMP AND OPENMP_FOUND) + SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") + SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") +diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt +index 1c3a3b3..115d337 100644 +--- a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt ++++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt +@@ -78,7 +78,7 @@ endif() + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) + + # Looking for valid BLAS libraries +-find_package(BLAS) ++find_package(BLAS REQUIRED) + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + + if (NOT BLAS_FOUND) +@@ -121,7 +121,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC + "-MD") + + +-find_package(OpenMP) ++find_package(OpenMP REQUIRED) + if (ENABLE_OPENMP AND OPENMP_FOUND) + SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") + SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") +diff --git a/src/chrono_opengl/CMakeLists.txt b/src/chrono_opengl/CMakeLists.txt +index a7b60f1..9b76134 100644 +--- a/src/chrono_opengl/CMakeLists.txt ++++ b/src/chrono_opengl/CMakeLists.txt +@@ -41,10 +41,10 @@ endif() + + cmake_policy(SET CMP0072 NEW) + +-find_package(OpenGL) +-find_package(GLM) +-find_package(GLEW) +-find_package(GLFW) ++find_package(OpenGL REQUIRED) ++find_package(GLM REQUIRED) ++find_package(GLEW REQUIRED) ++find_package(GLFW REQUIRED) + + # On windows, ask for the GLEW and GLFW DLLs so that we can copy. This is + # optional. If not specified, it is the user's responsibility to make them +diff --git a/src/chrono_pardisomkl/CMakeLists.txt b/src/chrono_pardisomkl/CMakeLists.txt +index 8c35c5d..8313af4 100644 +--- a/src/chrono_pardisomkl/CMakeLists.txt ++++ b/src/chrono_pardisomkl/CMakeLists.txt +@@ -27,7 +27,7 @@ message(STATUS "Find MKL libraries") + + #set(MKL_USE_STATIC_LIBS ON) + #set(MKL_FIND_DEBUG ON) +-find_package(MKL) ++find_package(MKL REQUIRED) + + message(STATUS " MKL include dirs: ${MKL_INCLUDE_DIRS}") + message(STATUS " MKL libraries: ${MKL_LIBRARIES}") +diff --git a/src/chrono_sensor/CMakeLists.txt b/src/chrono_sensor/CMakeLists.txt +index 2b4102d..14c2f15 100644 +--- a/src/chrono_sensor/CMakeLists.txt ++++ b/src/chrono_sensor/CMakeLists.txt +@@ -29,9 +29,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + mark_as_advanced(CLEAR GLFW_DLL) + endif() + +-find_package(GLFW OPTIONAL_COMPONENTS) +-find_package(OpenGL OPTIONAL_COMPONENTS) +-find_package(GLEW OPTIONAL_COMPONENTS) ++find_package(GLFW REQUIRED) ++find_package(OpenGL REQUIRED) ++find_package(GLEW REQUIRED) + + message(STATUS "OpenGL libraries: ${OPENGL_LIBRARIES}") + message(STATUS "GLEW libraries: ${GLEW_LIBRARY}") diff --git a/ports/chronoengine/find_package_required.patch b/ports/chronoengine/find_package_required.patch deleted file mode 100644 index 60423ac66a..0000000000 --- a/ports/chronoengine/find_package_required.patch +++ /dev/null @@ -1,296 +0,0 @@ -diff --git a/cmake/FindBLAS.cmake b/cmake/FindBLAS.cmake -index 6a8f0f9e1..c44f92eb4 100644 ---- a/cmake/FindBLAS.cmake -+++ b/cmake/FindBLAS.cmake -@@ -487,7 +487,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") - endif () - if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) - if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) -- find_package(Threads) -+ find_package(Threads REQUIRED) - else() - find_package(Threads REQUIRED) - endif() -diff --git a/cmake/FindEigen3.cmake b/cmake/FindEigen3.cmake -index 0d2b3cedd..02c2b50d2 100644 ---- a/cmake/FindEigen3.cmake -+++ b/cmake/FindEigen3.cmake -@@ -1,7 +1,7 @@ - # - Try to find Eigen3 lib - # - # This module supports requiring a minimum version, e.g. you can do --# find_package(Eigen3 3.1.2) -+# find_package(Eigen3 3.1.2 REQUIRED) - # to require version 3.1.2 or newer of Eigen3. - # - # Once done this will define -@@ -70,7 +70,7 @@ else (EIGEN3_INCLUDE_DIR) - # search first if an Eigen3Config.cmake is available in the system, - # if successful this would set EIGEN3_INCLUDE_DIR and the rest of - # the script will work as usual -- find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET) -+ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE REQUIRED) - - if(NOT EIGEN3_INCLUDE_DIR) - find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library -diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake -index 6f8a2740f..acf43af4d 100644 ---- a/cmake/FindMKL.cmake -+++ b/cmake/FindMKL.cmake -@@ -7,7 +7,7 @@ - # - # Usage example: - # set(MKL_USE_STATIC_LIBS ON) --# find_package(MKL) -+# find_package(MKL REQUIRED) - # if (MKL_FOUND) - # include_directories(${MKL_INCLUDE_DIRS}) - # link_directories(${MKL_LIBRARY_DIRS}) -diff --git a/cmake/FindMyGUI.cmake b/cmake/FindMyGUI.cmake -index b5563c801..2fc991246 100644 ---- a/cmake/FindMyGUI.cmake -+++ b/cmake/FindMyGUI.cmake -@@ -81,7 +81,7 @@ IF (WIN32) #Windows - ENDIF (OGRESOURCE) - ELSE (WIN32) #Unix - CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR) -- FIND_PACKAGE(PkgConfig) -+ find_package(PkgConfig REQUIRED) - IF(MYGUI_STATIC) - # don't use pkgconfig on OS X, find freetype & append it's libs to resulting MYGUI_LIBRARIES - IF (NOT APPLE) -@@ -101,7 +101,7 @@ ELSE (WIN32) #Unix - ENDIF (MYGUI_INCLUDE_DIRS) - ELSE (NOT APPLE) - SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${MYGUI_DEPENDENCIES_DIR} ${OGRE_DEPENDENCIES_DIR}) -- FIND_PACKAGE(freetype) -+ find_package(freetype REQUIRED) - FIND_PATH(MYGUI_INCLUDE_DIRS MyGUI.h PATHS /usr/local/include /usr/include PATH_SUFFIXES MyGUI MYGUI) - FIND_LIBRARY(MYGUI_LIBRARIES MyGUIEngineStatic PATHS /usr/lib /usr/local/lib) - SET(MYGUI_PLATFORM_LIBRARIES "MyGUI.OgrePlatform") -diff --git a/cmake/FindOgre.cmake b/cmake/FindOgre.cmake -index 9e2081a0c..950ba0185 100644 ---- a/cmake/FindOgre.cmake -+++ b/cmake/FindOgre.cmake -@@ -262,17 +262,17 @@ endif () - # look for required Ogre dependencies in case of static build and/or threading - if (OGRE_STATIC) - set(OGRE_DEPS_FOUND TRUE) -- find_package(Cg QUIET) -- find_package(DirectX QUIET) -- find_package(FreeImage QUIET) -- find_package(Freetype QUIET) -- find_package(OpenGL QUIET) -- find_package(OpenGLES QUIET) -- find_package(OpenGLES2 QUIET) -- find_package(ZLIB QUIET) -- find_package(ZZip QUIET) -+ find_package(Cg REQUIRED) -+ find_package(DirectX REQUIRED) -+ find_package(FreeImage REQUIRED) -+ find_package(Freetype REQUIRED) -+ find_package(OpenGL REQUIRED) -+ find_package(OpenGLES REQUIRED) -+ find_package(OpenGLES2 REQUIRED) -+ find_package(ZLIB REQUIRED) -+ find_package(ZZip REQUIRED) - if (UNIX AND NOT APPLE AND NOT ANDROID) -- find_package(X11 QUIET) -+ find_package(X11 REQUIRED) - find_library(XAW_LIBRARY NAMES Xaw Xaw7 PATHS ${DEP_LIB_SEARCH_DIR} ${X11_LIB_SEARCH_PATH}) - if (NOT XAW_LIBRARY OR NOT X11_Xt_FOUND) - set(X11_FOUND FALSE) -@@ -310,7 +310,7 @@ endif() - endif() - - set(OGRE_BOOST_COMPONENTS thread date_time) -- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) -+ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) - if(Boost_FOUND AND Boost_VERSION GREATER 104900) - if(Boost_VERSION GREATER 105300) - set(OGRE_BOOST_COMPONENTS thread date_time system atomic chrono) -@@ -319,7 +319,7 @@ endif() - endif() - endif() - -- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) -+ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) - if (NOT Boost_THREAD_FOUND) - set(OGRE_DEPS_FOUND FALSE) - else () -@@ -327,7 +327,7 @@ endif() - set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - endif () - elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 2) -- find_package(POCO QUIET) -+ find_package(POCO REQUIRED) - if (NOT POCO_FOUND) - set(OGRE_DEPS_FOUND FALSE) - else () -@@ -335,7 +335,7 @@ endif() - set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${POCO_INCLUDE_DIRS}) - endif () - elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 3) -- find_package(TBB QUIET) -+ find_package(TBB REQUIRED) - if (NOT TBB_FOUND) - set(OGRE_DEPS_FOUND FALSE) - else () -diff --git a/cmake/FindPkgMacros.cmake b/cmake/FindPkgMacros.cmake -index 53111e074..2f6881c61 100644 ---- a/cmake/FindPkgMacros.cmake -+++ b/cmake/FindPkgMacros.cmake -@@ -70,7 +70,7 @@ endmacro(clear_if_changed) - # Try to get some hints from pkg-config, if available - macro(use_pkgconfig PREFIX PKGNAME) - if(NOT ANDROID) -- find_package(PkgConfig) -+ find_package(PkgConfig REQUIRED) - if (PKG_CONFIG_FOUND) - pkg_check_modules(${PREFIX} ${PKGNAME}) - endif () -diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake -index 4b8f7e915..e27895a2f 100644 ---- a/cmake/FindSDL2.cmake -+++ b/cmake/FindSDL2.cmake -@@ -112,7 +112,7 @@ ENDIF(NOT SDL2_BUILDING_LIBRARY) - # frameworks may already provide it. - # But for non-OSX systems, I will use the CMake Threads package. - IF(NOT APPLE) -- FIND_PACKAGE(Threads) -+ find_package(Threads REQUIRED) - ENDIF(NOT APPLE) - - # MinGW needs an additional library, mwindows -diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake -index 319f307a9..68ec2dad7 100644 ---- a/cmake/GetGitRevisionDescription.cmake -+++ b/cmake/GetGitRevisionDescription.cmake -@@ -82,7 +82,7 @@ endfunction() - - function(git_describe _var) - if(NOT GIT_FOUND) -- find_package(Git QUIET) -+ find_package(Git REQUIRED) - endif() - get_git_head_revision(refspec hash) - if(NOT GIT_FOUND) -diff --git a/src/chrono_cascade/CMakeLists.txt b/src/chrono_cascade/CMakeLists.txt -index 3d38c8707..f9558baf8 100644 ---- a/src/chrono_cascade/CMakeLists.txt -+++ b/src/chrono_cascade/CMakeLists.txt -@@ -50,7 +50,7 @@ source_group("" FILES - #----------------------------------------------------------------------------- - # Find OpenCASCADE - --find_package(OpenCASCADE CONFIG) -+find_package(OpenCASCADE CONFIG REQUIRED) - - if (NOT OpenCASCADE_FOUND) - message("Could not find OpenCASCADE or one of its required modules") -diff --git a/src/chrono_mumps/CMakeLists.txt b/src/chrono_mumps/CMakeLists.txt -index d8564600b..a2e1ea207 100644 ---- a/src/chrono_mumps/CMakeLists.txt -+++ b/src/chrono_mumps/CMakeLists.txt -@@ -88,7 +88,7 @@ unset(BLAS_FOUND) - unset(BLAS_LIBRARIES) - message(STATUS "Searching for BLAS...") - --find_package(BLAS) -+find_package(BLAS REQUIRED) - - set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH - -diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt -index e179a6841..5a6852e4b 100644 ---- a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt -+++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt -@@ -78,7 +78,7 @@ endif() - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) - - --find_package(BLAS) -+find_package(BLAS REQUIRED) - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH - - if (NOT BLAS_FOUND) -@@ -101,7 +101,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC - "-MD") - - --find_package(OpenMP) -+find_package(OpenMP REQUIRED) - if (ENABLE_OPENMP AND OPENMP_FOUND) - SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") - SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") -diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt -index 1c3a3b3bb..115d3372e 100644 ---- a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt -+++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt -@@ -78,7 +78,7 @@ endif() - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) - - # Looking for valid BLAS libraries --find_package(BLAS) -+find_package(BLAS REQUIRED) - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH - - if (NOT BLAS_FOUND) -@@ -121,7 +121,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC - "-MD") - - --find_package(OpenMP) -+find_package(OpenMP REQUIRED) - if (ENABLE_OPENMP AND OPENMP_FOUND) - SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") - SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") -diff --git a/src/chrono_opengl/CMakeLists.txt b/src/chrono_opengl/CMakeLists.txt -index a7b60f13d..9b76134fa 100644 ---- a/src/chrono_opengl/CMakeLists.txt -+++ b/src/chrono_opengl/CMakeLists.txt -@@ -41,10 +41,10 @@ endif() - - cmake_policy(SET CMP0072 NEW) - --find_package(OpenGL) --find_package(GLM) --find_package(GLEW) --find_package(GLFW) -+find_package(OpenGL REQUIRED) -+find_package(GLM REQUIRED) -+find_package(GLEW REQUIRED) -+find_package(GLFW REQUIRED) - - # On windows, ask for the GLEW and GLFW DLLs so that we can copy. This is - # optional. If not specified, it is the user's responsibility to make them -diff --git a/src/chrono_pardisomkl/CMakeLists.txt b/src/chrono_pardisomkl/CMakeLists.txt -index 8c35c5d70..8313af46e 100644 ---- a/src/chrono_pardisomkl/CMakeLists.txt -+++ b/src/chrono_pardisomkl/CMakeLists.txt -@@ -27,7 +27,7 @@ message(STATUS "Find MKL libraries") - - #set(MKL_USE_STATIC_LIBS ON) - #set(MKL_FIND_DEBUG ON) --find_package(MKL) -+find_package(MKL REQUIRED) - - message(STATUS " MKL include dirs: ${MKL_INCLUDE_DIRS}") - message(STATUS " MKL libraries: ${MKL_LIBRARIES}") -diff --git a/src/chrono_sensor/CMakeLists.txt b/src/chrono_sensor/CMakeLists.txt -index 2b4102d5b..14c2f15e9 100644 ---- a/src/chrono_sensor/CMakeLists.txt -+++ b/src/chrono_sensor/CMakeLists.txt -@@ -29,9 +29,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - mark_as_advanced(CLEAR GLFW_DLL) - endif() - --find_package(GLFW OPTIONAL_COMPONENTS) --find_package(OpenGL OPTIONAL_COMPONENTS) --find_package(GLEW OPTIONAL_COMPONENTS) -+find_package(GLFW REQUIRED) -+find_package(OpenGL REQUIRED) -+find_package(GLEW REQUIRED) - - message(STATUS "OpenGL libraries: ${OPENGL_LIBRARIES}") - message(STATUS "GLEW libraries: ${GLEW_LIBRARY}") diff --git a/ports/chronoengine/fix_dependencies.patch b/ports/chronoengine/fix_dependencies.patch deleted file mode 100644 index 214857df34..0000000000 --- a/ports/chronoengine/fix_dependencies.patch +++ /dev/null @@ -1,180 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d75ce1055..a21acbd83 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -96,7 +96,7 @@ endif() - - message(STATUS "Searching for Threads...") - set(THREADS_PREFER_PTHREAD_FLAG TRUE) --find_package(Threads) -+find_package(Threads REQUIRED) - - message(STATUS " Thread library: ${CMAKE_THREAD_LIBS_INIT}") - message(STATUS " Using Win32 threads? ${CMAKE_USE_WIN32_THREADS_INIT}") -@@ -112,8 +112,9 @@ set(CH_C_FLAGS "${CH_C_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") - # main ChronoEngine library, regardless on whether or not OpenMP is found. - - message(STATUS "Searching for OpenMP...") --find_package(OpenMP) -- -+if(0) -+find_package(OpenMP REQUIRED) -+endif() - # Determine OpenMP version. Prepare substitution variables that can be used in - # generating configuration header files. - -@@ -177,7 +178,7 @@ if(USE_SIMD) - - # Figure out SIMD support - message(STATUS "Testing SIMD capabilities...") -- find_package(SIMD) -+ find_package(SIMD REQUIRED) - - # Set substitution variables for configuration file - if(SIMD_SSE) -@@ -250,7 +251,7 @@ endif() - #----------------------------------------------------------------------------- - - message(STATUS "Searching for Eigen3...") --find_package(Eigen3 3.3.0) -+find_package(Eigen3 3.3.0 REQUIRED) - if(EIGEN3_FOUND) - message(STATUS " Eigen3 version: ${EIGEN3_VERSION}") - message(STATUS " Eigen3 include directory: ${EIGEN3_INCLUDE_DIR}") -@@ -293,7 +294,9 @@ endif() - #----------------------------------------------------------------------------- - - message(STATUS "Searching for MPI...") --find_package(MPI) -+if(0) -+find_package(MPI REQUIRED) -+endif() - if(MPI_FOUND) - message(STATUS " MPI compiler: ${MPI_CXX_COMPILER}") - message(STATUS " MPI compile flags: ${MPI_CXX_COMPILE_FLAGS}") -@@ -312,9 +315,9 @@ endif() - #----------------------------------------------------------------------------- - - message(STATUS "Searching for CUDA...") -- --find_package(CUDA QUIET) -- -+if(0) -+find_package(CUDA REQUIRED) -+endif() - if(CUDA_FOUND) - set(CUDA_BINARY_DIR "${CUDA_TOOLKIT_ROOT_DIR}/bin") - -@@ -373,7 +376,7 @@ endif() - #----------------------------------------------------------------------------- - - message(STATUS "Searching for Thrust...") -- -+if(0) - if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - find_path(THRUST_INCLUDE_DIR NAMES thrust/version.h PATHS "/usr/local" "/usr/local/include") - if (THRUST_INCLUDE_DIR) -@@ -383,9 +386,9 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - set(${THRUST_FOUND} FALSE) - endif() - else() -- find_package(Thrust) -+ find_package(Thrust REQUIRED) -+endif() - endif() -- - if(THRUST_FOUND) - message(STATUS " Thrust version: ${THRUST_VERSION}") - message(STATUS " Thrust include dir: ${THRUST_INCLUDE_DIR}") -@@ -500,14 +503,14 @@ if(ENABLE_HDF5) - # HDF5_INCLUDE_DIRS - # HDF5_C_LIBRARIES - # HDF5_CXX_LIBRARIES -- find_package(HDF5 COMPONENTS CXX) -+ find_package(HDF5 COMPONENTS CXX REQUIRED) - - if(NOT HDF5_FOUND) - # Look for a package configuration file - # LIB_TYPE can be one of STATIC or SHARED. - set(LIB_TYPE SHARED) # STATIC or SHARED - string(TOLOWER ${LIB_TYPE} SEARCH_TYPE) -- find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE}) -+ find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE} REQUIRED) - - if (HDF5_FOUND) - set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) -diff --git a/src/chrono/CMakeLists.txt b/src/chrono/CMakeLists.txt -index 88f970fca..917452c4e 100644 ---- a/src/chrono/CMakeLists.txt -+++ b/src/chrono/CMakeLists.txt -@@ -1405,9 +1405,9 @@ endif() - # Add the ChronoEngine library to the project - add_library(ChronoEngine SHARED ${ChronoEngine_FILES}) - --target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB}) -+target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB} TBB::tbb TBB::tbbmalloc) - if (UNIX) -- target_link_libraries(ChronoEngine pthread) -+ target_link_libraries(ChronoEngine pthread TBB::tbb TBB::tbbmalloc) - endif() - - # Set some custom properties of this target -diff --git a/src/chrono_irrlicht/CMakeLists.txt b/src/chrono_irrlicht/CMakeLists.txt -index acffe0cb6..bc0e938bc 100644 ---- a/src/chrono_irrlicht/CMakeLists.txt -+++ b/src/chrono_irrlicht/CMakeLists.txt -@@ -54,7 +54,7 @@ SOURCE_GROUP("" FILES - - set(CH_IRRLICHT_CXX_FLAGS "") - set(CH_IRRLICHT_C_FLAGS "") -- -+if(0) - IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - SET(IRRLICHT_ROOT "C:/irrlicht-1.8.1" CACHE PATH "Path to Irrlicht SDK installation.") - IF("${CH_COMPILER}" STREQUAL "COMPILER_MSVC") -@@ -84,7 +84,8 @@ else() - FIND_LIBRARY(IRRLICHT_LIBRARY NAMES Irrlicht PATHS ${IRRLICHT_ROOT}/../../lib) - set(IRRLICHT_LIBRARY "${IRRLICHT_LIBRARY}") - ENDIF() -- -+endif() -+find_package(irrlicht REQUIRED) - # If using MSVC, disable warning 4275 (non-DLL-interface class used as base for DLL-interface class) - if(MSVC) - add_compile_options(/wd4275) -@@ -93,7 +94,7 @@ if(MSVC) - endif() - - # Add path to IRRLICHT headers -- -+if(0) - IF(EXISTS "${IRRLICHT_ROOT}/include/irrlicht") - SET(CH_IRRLICHTINC "${IRRLICHT_ROOT}/include/irrlicht") - ELSEIF(EXISTS "${IRRLICHT_ROOT}/include") -@@ -103,7 +104,7 @@ ELSE() - ENDIF() - - INCLUDE_DIRECTORIES( ${CH_IRRLICHTINC} ) -- -+endif(0) - - # Let some variables be visible also from outside this directory - -@@ -119,7 +120,7 @@ set(COMPILER_FLAGS "${CH_CXX_FLAGS} ${CH_IRRLICHT_CXX_FLAGS}") - set(LINKER_FLAGS "${CH_LINKERFLAG_SHARED}") - set(LIBRARIES - ChronoEngine -- ${IRRLICHT_LIBRARY} -+ Irrlicht - ) - - if (ENABLE_MODULE_POSTPROCESS) -@@ -168,7 +169,7 @@ endif() - # appropriate directory (depending on the build type); however, we use - # copy_if_different. - --IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") -+IF(0) - - IF(DEFINED ENV{CONDA_BUILD}) - SET(CH_IRRLICHT_DLL "$ENV{PREFIX}/Library/bin/Irrlicht.dll") diff --git a/ports/chronoengine/portfile.cmake b/ports/chronoengine/portfile.cmake index 51936eac45..56c0113955 100644 --- a/ports/chronoengine/portfile.cmake +++ b/ports/chronoengine/portfile.cmake @@ -4,8 +4,7 @@ vcpkg_from_github( REF ${VERSION} SHA512 379609b5a968b56faf48d2e848b0bb85d95f266a4fea48d457f2242fad580fee88ae5974e1021e31e56ebdb7a49fcddba681eff4d56605c94fbe30032dc5906c PATCHES - fix_dependencies.patch - find_package_required.patch + 0001-dependencies.patch ) file(REMOVE "${SOURCE_PATH}/cmake/FindTBB.cmake") diff --git a/ports/chronoengine/vcpkg.json b/ports/chronoengine/vcpkg.json index 42614aea72..02290db919 100644 --- a/ports/chronoengine/vcpkg.json +++ b/ports/chronoengine/vcpkg.json @@ -1,7 +1,7 @@ { "name": "chronoengine", "version": "8.0.0", - "port-version": 1, + "port-version": 2, "description": "Multi-physics Simulation Engine.", "homepage": "https://projectchrono.org/", "license": "BSD-3-Clause", diff --git a/ports/dartsim/dependencies.diff b/ports/dartsim/0001-dependencies.patch similarity index 100% rename from ports/dartsim/dependencies.diff rename to ports/dartsim/0001-dependencies.patch diff --git a/ports/dartsim/devendor-lodepng.diff b/ports/dartsim/0002-devendor-lodepng.patch similarity index 100% rename from ports/dartsim/devendor-lodepng.diff rename to ports/dartsim/0002-devendor-lodepng.patch diff --git a/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch b/ports/dartsim/0003-disable_unit_tests_examples_and_tutorials.patch similarity index 100% rename from ports/dartsim/disable_unit_tests_examples_and_tutorials.patch rename to ports/dartsim/0003-disable_unit_tests_examples_and_tutorials.patch diff --git a/ports/dartsim/pkgconfig.diff b/ports/dartsim/0004-pkgconfig.patch similarity index 100% rename from ports/dartsim/pkgconfig.diff rename to ports/dartsim/0004-pkgconfig.patch diff --git a/ports/dartsim/add-cassert.patch b/ports/dartsim/0005-add-cassert.patch similarity index 100% rename from ports/dartsim/add-cassert.patch rename to ports/dartsim/0005-add-cassert.patch diff --git a/ports/dartsim/0006-support-eigen3-5.patch b/ports/dartsim/0006-support-eigen3-5.patch new file mode 100644 index 0000000000..cb6008cc37 --- /dev/null +++ b/ports/dartsim/0006-support-eigen3-5.patch @@ -0,0 +1,10 @@ +diff --git a/cmake/DARTFindEigen3.cmake b/cmake/DARTFindEigen3.cmake +index f1f002e..d205773 100644 +--- a/cmake/DARTFindEigen3.cmake ++++ b/cmake/DARTFindEigen3.cmake +@@ -6,4 +6,4 @@ + # + # This file is provided under the "BSD-style" License + +-find_package(Eigen3 3.4.0 REQUIRED CONFIG) ++find_package(Eigen3 3.4.0...5 REQUIRED CONFIG) diff --git a/ports/dartsim/portfile.cmake b/ports/dartsim/portfile.cmake index 9c604de848..aec5cdfd77 100644 --- a/ports/dartsim/portfile.cmake +++ b/ports/dartsim/portfile.cmake @@ -10,11 +10,12 @@ vcpkg_from_github( SHA512 3c621245c5dc1bf26932c33c940e2b09aaebd1a15f3620616c60296f18a67e1044728543b4f640f92caf8f98295e350679b70eb11aecadea9e4a28aaf370ea75 HEAD_REF main PATCHES - dependencies.diff - devendor-lodepng.diff - disable_unit_tests_examples_and_tutorials.patch - pkgconfig.diff - add-cassert.patch + 0001-dependencies.patch + 0002-devendor-lodepng.patch + 0003-disable_unit_tests_examples_and_tutorials.patch + 0004-pkgconfig.patch + 0005-add-cassert.patch + 0006-support-eigen3-5.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/dart/external/imgui") diff --git a/ports/dartsim/vcpkg.json b/ports/dartsim/vcpkg.json index f2c69f34a4..89d3496fd6 100644 --- a/ports/dartsim/vcpkg.json +++ b/ports/dartsim/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dartsim", "version": "6.15.0", - "port-version": 5, + "port-version": 6, "description": "Dynamic Animation and Robotics Toolkit", "homepage": "https://dartsim.github.io/", "license": "BSD-2-Clause", diff --git a/ports/dv-processing/0001-support-eigen3-5.patch b/ports/dv-processing/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..40ef30a2be --- /dev/null +++ b/ports/dv-processing/0001-support-eigen3-5.patch @@ -0,0 +1,99 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b67acfc1..1c51931f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -156,7 +156,10 @@ IF(OS_WINDOWS) + ENDIF() + + # Eigen support. +-FIND_PACKAGE(Eigen3 3.4.0 REQUIRED) ++FIND_PACKAGE(Eigen3 REQUIRED) ++IF(Eigen3_VERSION VERSION_LESS "3.4.0") ++ MESSAGE(FATAL_ERROR "Cannot find Eigen3 3.4.0 or newer.") ++ENDIF() + + # OpenCV support. + FIND_PACKAGE(OpenCV REQUIRED) +diff --git a/benchmarks/cluster/mean-shift-alternatives.hpp b/benchmarks/cluster/mean-shift-alternatives.hpp +index a7c572ff..e2aab920 100644 +--- a/benchmarks/cluster/mean-shift-alternatives.hpp ++++ b/benchmarks/cluster/mean-shift-alternatives.hpp +@@ -40,12 +40,6 @@ public: + using VectorOfVectors = std::vector>; + + private: +- static_assert(EIGEN_IMPLIES(ROWS == 1 && COLUMNS != 1, STORAGE_ORDER == Eigen::RowMajor) +- && "Eigen doesn't allow row-vectors to be stored in column-major storage"); +- +- static_assert(EIGEN_IMPLIES(COLUMNS == 1 && ROWS != 1, STORAGE_ORDER == Eigen::ColMajor) +- && "Eigen doesn't allow column-vectors to be stored in row-major storage"); +- + const uint64_t mNumSamples; + + const uint16_t mNumDimensions; +@@ -322,12 +316,6 @@ public: + using VectorOfVectors = std::vector>; + + private: +- static_assert(EIGEN_IMPLIES(ROWS == 1 && COLUMNS != 1, STORAGE_ORDER == Eigen::RowMajor) +- && "Eigen doesn't allow row-vectors to be stored in column-major storage"); +- +- static_assert(EIGEN_IMPLIES(COLUMNS == 1 && ROWS != 1, STORAGE_ORDER == Eigen::ColMajor) +- && "Eigen doesn't allow column-vectors to be stored in row-major storage"); +- + using RTree = boost::geometry::index::rtree>; + + const uint64_t mNumSamples; +diff --git a/cmake/dv-processing-config.cmake.in b/cmake/dv-processing-config.cmake.in +index 9692b181..03e00602 100644 +--- a/cmake/dv-processing-config.cmake.in ++++ b/cmake/dv-processing-config.cmake.in +@@ -35,7 +35,10 @@ FIND_PACKAGE(Boost 1.80 REQUIRED COMPONENTS nowide) + FIND_PACKAGE(OpenSSL REQUIRED) + + # Eigen support. +-FIND_PACKAGE(Eigen3 3.4.0 REQUIRED) ++FIND_PACKAGE(Eigen3 REQUIRED) ++IF (Eigen3_VERSION VERSION_LESS "3.4.0") ++ MESSAGE(FATAL_ERROR "Cannot find Eigen3 3.4.0 or newer.") ++ENDIF () + + # OpenCV support. + FIND_PACKAGE(OpenCV REQUIRED) +diff --git a/include/dv-processing/containers/kd_tree/eigen_matrix_adaptor.hpp b/include/dv-processing/containers/kd_tree/eigen_matrix_adaptor.hpp +index c23c2aeb..d0b180d7 100644 +--- a/include/dv-processing/containers/kd_tree/eigen_matrix_adaptor.hpp ++++ b/include/dv-processing/containers/kd_tree/eigen_matrix_adaptor.hpp +@@ -103,14 +103,7 @@ private: + using Tree = nanoflann::KDTreeEigenMatrixAdaptor; + +- static_assert(EIGEN_IMPLIES(ROWS == 1 && COLUMNS != 1, STORAGE_ORDER == Eigen::RowMajor) +- && "Eigen doesn't allow row-vectors to be stored in column-major storage"); +- +- static_assert(EIGEN_IMPLIES(COLUMNS == 1 && ROWS != 1, STORAGE_ORDER == Eigen::ColMajor) +- && "Eigen doesn't allow column-vectors to be stored in row-major storage"); +- + const uint32_t mNumSamples; +- + const uint32_t mNumDimensions; + + std::unique_ptr mTree; +diff --git a/include/dv-processing/visualization/pose_visualizer.hpp b/include/dv-processing/visualization/pose_visualizer.hpp +index 11b18ba9..2fa6b398 100644 +--- a/include/dv-processing/visualization/pose_visualizer.hpp ++++ b/include/dv-processing/visualization/pose_visualizer.hpp +@@ -456,8 +456,12 @@ public: + */ + template + [[nodiscard]] Output getCameraOrientation() const { ++#if EIGEN_MAJOR_VERSION < 5 + Eigen::Vector3f eulerAngles = mT_C_W.inverse().getRotationMatrix().eulerAngles(0, 1, 2); +- eulerAngles = eulerAngles * RAD_TO_DEG; ++#else ++ Eigen::Vector3f eulerAngles = mT_C_W.inverse().getRotationMatrix().canonicalEulerAngles(0, 1, 2); ++#endif ++ eulerAngles = eulerAngles * RAD_TO_DEG; + return Output(eulerAngles.x(), eulerAngles.y(), eulerAngles.z()); + } + diff --git a/ports/dv-processing/portfile.cmake b/ports/dv-processing/portfile.cmake index c9f3ff9807..24f903f7cf 100644 --- a/ports/dv-processing/portfile.cmake +++ b/ports/dv-processing/portfile.cmake @@ -3,8 +3,10 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO dv/dv-processing REF "${VERSION}" - SHA512 b714349d307fa5e164f5e9a35866a55e3ce450ebb7088ecb2501360c5f9d755d472336b48300450381fc0525fbf1d60e90aaac457e5df1f572597eacba501462 + SHA512 535680686214d9d44efa8281d9b7cb424e93a662b0742f02a07616ca6b1d313779f03845489059b082481aafd9a83eca20f5315a4b5319e8dc956a15ca790afa HEAD_REF master + PATCHES + 0001-support-eigen3-5.patch ) vcpkg_from_gitlab( diff --git a/ports/dv-processing/vcpkg.json b/ports/dv-processing/vcpkg.json index 04d95f912a..4bd869d69d 100644 --- a/ports/dv-processing/vcpkg.json +++ b/ports/dv-processing/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dv-processing", - "version": "2.0.1", + "version": "2.0.2", "description": "Generic algorithms for event cameras. (C++20 required.)", "homepage": "https://gitlab.com/inivation/dv/dv-processing", "license": "Apache-2.0", diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake index b8a9be6a38..81e9392782 100644 --- a/ports/eigen3/portfile.cmake +++ b/ports/eigen3/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO libeigen/eigen REF ${VERSION} - SHA512 15b540d2fad25de837d7612456ea65b7fcfa25f886c48dcb3de025e079f5f43f45f1c0bd9a8435430d0e2fb9f0a6129719626dd4fd45dc61fc480f97762b2f56 + SHA512 b337d3bc38440db190a8f1fbc4eabc0098e69fcc95bfba195fe039ffb942cae2a7f0153f3094f35fa26325750d1c62e20cccaf916a41f5c7f248ec5e5d30a942 HEAD_REF master ) @@ -31,13 +31,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup() - vcpkg_fixup_pkgconfig() -# Copy the eigen header files to conventional location for user-wide MSBuild integration -file(GLOB INCLUDES ${CURRENT_PACKAGES_DIR}/include/eigen3/*) -file(COPY ${INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_install_copyright( diff --git a/ports/eigen3/vcpkg.json b/ports/eigen3/vcpkg.json index a43dc8c5a4..8dba2a69fe 100644 --- a/ports/eigen3/vcpkg.json +++ b/ports/eigen3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "eigen3", - "version": "3.4.1", - "port-version": 1, + "version": "5.0.1", "description": "C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.", "homepage": "http://eigen.tuxfamily.org", "license": "MPL-2.0", diff --git a/ports/fcl/0001-fix-cxx-standard.patch b/ports/fcl/0001-fix-cxx-standard.patch new file mode 100644 index 0000000000..c6110e3f8e --- /dev/null +++ b/ports/fcl/0001-fix-cxx-standard.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeModules/CompilerSettings.cmake b/CMakeModules/CompilerSettings.cmake +index 96b9e1f..645ca38 100644 +--- a/CMakeModules/CompilerSettings.cmake ++++ b/CMakeModules/CompilerSettings.cmake +@@ -33,7 +33,7 @@ + + # GCC + if(CMAKE_COMPILER_IS_GNUCXX) +- add_definitions(-std=c++11 -W -Wall -Wextra -Wpedantic) ++ add_definitions(-W -Wall -Wextra -Wpedantic) + if(FCL_TREAT_WARNINGS_AS_ERRORS) + add_definitions(-Werror) + endif() +@@ -41,7 +41,7 @@ endif() + + # Clang + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +- add_definitions(-std=c++11 -W -Wall -Wextra) ++ add_definitions(-W -Wall -Wextra) + if(FCL_TREAT_WARNINGS_AS_ERRORS) + add_definitions(-Werror) + endif() +@@ -53,7 +53,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1) + message(FATAL_ERROR "AppleClang version must be at least 6.1!") + endif() +- add_definitions(-std=c++11 -W -Wall -Wextra) ++ add_definitions(-W -Wall -Wextra) + if(FCL_TREAT_WARNINGS_AS_ERRORS) + add_definitions(-Werror) + endif() +@@ -77,7 +77,7 @@ else() + set(IS_ICPC 0) + endif() + if(IS_ICPC) +- add_definitions(-std=c++11 -wd191 -wd411 -wd654 -wd1125 -wd1292 -wd1565 -wd1628 -wd2196) ++ add_definitions(-wd191 -wd411 -wd654 -wd1125 -wd1292 -wd1565 -wd1628 -wd2196) + set(CMAKE_AR "xiar" CACHE STRING "Intel archiver" FORCE) + set(CMAKE_CXX_FLAGS "-pthread" CACHE STRING "Default compile flags" FORCE) + set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" +@@ -97,7 +97,7 @@ else() + set(IS_XLC 0) + endif() + if(IS_XLC) +- add_definitions(-std=c++11 -qpic -q64 -qmaxmem=-1) ++ add_definitions(-qpic -q64 -qmaxmem=-1) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -q64") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -q64") + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 425724e..c065b3f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -47,6 +47,8 @@ else() + add_library(${PROJECT_NAME} SHARED ${FCL_HEADERS} ${FCL_SOURCE_CODE}) + endif() + ++target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) ++ + # Be sure to pass to the consumer the set of SIMD used in the compilation + target_compile_options(${PROJECT_NAME} PUBLIC ${SSE_FLAGS}) + diff --git a/ports/fcl/0002-fix-eigen3.patch b/ports/fcl/0002-fix-eigen3.patch new file mode 100644 index 0000000000..ed34ce445c --- /dev/null +++ b/ports/fcl/0002-fix-eigen3.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d03ebe3..f5e4ca9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -157,11 +157,11 @@ set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON) + # + # If Eigen3 is not found, manually set the cache variable EIGEN3_INCLUDE_DIR + #=============================================================================== +-find_package(Eigen3 3.0.5 QUIET CONFIG) ++find_package(Eigen3 QUIET CONFIG) + + # If Eigen3Config.cmake is not found, use the FindEigen3.cmake module + if(NOT Eigen3_FOUND) +- find_package(Eigen3 3.0.5 QUIET MODULE) ++ find_package(Eigen3 QUIET MODULE) + set(Eigen3_FOUND ON) + endif() + diff --git a/ports/fcl/dont-lower-c++-std.diff b/ports/fcl/dont-lower-c++-std.diff deleted file mode 100644 index 83529772fd..0000000000 --- a/ports/fcl/dont-lower-c++-std.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6e5bbb8..57de5e1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -342,7 +342,6 @@ add_subdirectory(include/fcl) - - set(PKG_DESC "Flexible Collision Library") - if(NOT MSVC) -- set(PKG_CFLAGS "-std=c++11") - endif() - configure_file(fcl.pc.in fcl.pc @ONLY) - diff --git a/ports/fcl/portfile.cmake b/ports/fcl/portfile.cmake index 7ce43ce53a..7d0ff0ffb8 100644 --- a/ports/fcl/portfile.cmake +++ b/ports/fcl/portfile.cmake @@ -5,11 +5,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO flexible-collision-library/fcl - REF ${VERSION} - SHA512 95612476f4706fcd60812204ec7495a956c4e318cc6ace9526ac93dc765605ddf73b2d0d9ff9f4c9c739e43c5f8e24670113c86e02868a2949ab234c3bf82374 + REF a3fbc9fe4f619d7bb1117dc137daa497d2de454b # unrelased (Mar 13, 2025) + SHA512 d04db55768d27cd191cf72ee3cc7ffeb5164c0d5db8bd38eb8ed523846e205340947f0b64473d567db0bc56bf8e8da330dc6e5e2929066e6d0f512fd5a7cbd92 HEAD_REF master PATCHES - dont-lower-c++-std.diff + 0001-fix-cxx-standard.patch + 0002-fix-eigen3.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FCL_STATIC_LIBRARY) @@ -23,12 +24,12 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DBUILD_TESTING=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=1 -DCMAKE_REQUIRE_FIND_PACKAGE_Eigen3=1 -DCMAKE_REQUIRE_FIND_PACKAGE_ccd=1 -DCMAKE_REQUIRE_FIND_PACKAGE_octomap=1 -DFCL_STATIC_LIBRARY=${FCL_STATIC_LIBRARY} - -DFCL_BUILD_TESTS=OFF -DFCL_USE_X64_SSE=${FCL_USE_X64_SSE} ) diff --git a/ports/fcl/vcpkg.json b/ports/fcl/vcpkg.json index d7817045f2..507172e081 100644 --- a/ports/fcl/vcpkg.json +++ b/ports/fcl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "fcl", "version": "0.7.0", - "port-version": 4, + "port-version": 5, "description": "A library for performing three types of proximity queries on a pair of geometric models composed of triangles", "homepage": "https://github.com/flexible-collision-library/fcl", "dependencies": [ diff --git a/ports/g2o/dependencies.diff b/ports/g2o/0001-dependencies.patch similarity index 100% rename from ports/g2o/dependencies.diff rename to ports/g2o/0001-dependencies.patch diff --git a/ports/g2o/fix-absolute.patch b/ports/g2o/0002-fix-absolute.patch similarity index 100% rename from ports/g2o/fix-absolute.patch rename to ports/g2o/0002-fix-absolute.patch diff --git a/ports/g2o/0003-support-eigen3-5.patch b/ports/g2o/0003-support-eigen3-5.patch new file mode 100644 index 0000000000..eb44876f0a --- /dev/null +++ b/ports/g2o/0003-support-eigen3-5.patch @@ -0,0 +1,80 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3bc511e..86a903c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -477,15 +477,9 @@ endif(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${g2o_CXX_FLAGS}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${g2o_C_FLAGS}") + +-# Find Eigen3. If it defines the target, this is used. If not, +-# fall back to the using the module form. ++# Find Eigen3 + # See https://eigen.tuxfamily.org/dox/TopicCMakeGuide.html for details +-find_package(Eigen3 3.3 REQUIRED) +-if (TARGET Eigen3::Eigen) +- set(G2O_EIGEN3_EIGEN_TARGET Eigen3::Eigen) +-else() +- include_directories(${EIGEN3_INCLUDE_DIR}) +-endif () ++find_package(Eigen3 REQUIRED NO_MODULE) + + # Generate config.h + set(G2O_OPENGL_FOUND ${OPENGL_FOUND}) +diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt +index 89a2612..acda5b9 100644 +--- a/benchmarks/CMakeLists.txt ++++ b/benchmarks/CMakeLists.txt +@@ -4,4 +4,4 @@ target_include_directories(benchmark_jacobian_timing PUBLIC + "$" + ) + +-target_link_libraries(benchmark_jacobian_timing benchmark::benchmark ${G2O_EIGEN3_EIGEN_TARGET}) ++target_link_libraries(benchmark_jacobian_timing benchmark::benchmark Eigen3::Eigen) +diff --git a/g2o/core/CMakeLists.txt b/g2o/core/CMakeLists.txt +index 21901c2..da0d2a9 100644 +--- a/g2o/core/CMakeLists.txt ++++ b/g2o/core/CMakeLists.txt +@@ -50,7 +50,7 @@ set_target_properties(core PROPERTIES OUTPUT_NAME ${LIB_PREFIX}core) + set_target_properties(core PROPERTIES + VERSION ${G2O_LIB_VERSION} + SOVERSION ${G2O_LIB_SOVERSION}) +-target_link_libraries(core PUBLIC stuff ${G2O_EIGEN3_EIGEN_TARGET}) ++target_link_libraries(core PUBLIC stuff Eigen3::Eigen) + target_link_libraries(core PUBLIC g2o_ceres_ad) + target_compile_features(core PUBLIC cxx_std_17) + +diff --git a/g2o/solvers/csparse/CMakeLists.txt b/g2o/solvers/csparse/CMakeLists.txt +index e3a3980..3539711 100644 +--- a/g2o/solvers/csparse/CMakeLists.txt ++++ b/g2o/solvers/csparse/CMakeLists.txt +@@ -19,7 +19,7 @@ target_include_directories(csparse_extension PUBLIC + ${CSPARSE_INCLUDE_DIR} + $ + $) +-target_link_libraries(csparse_extension PUBLIC stuff ${CSPARSE_LIBRARY} ${G2O_EIGEN3_EIGEN_TARGET}) ++target_link_libraries(csparse_extension PUBLIC stuff ${CSPARSE_LIBRARY} Eigen3::Eigen) + + add_library(solver_csparse ${G2O_LIB_TYPE} + solver_csparse.cpp +diff --git a/g2o/stuff/CMakeLists.txt b/g2o/stuff/CMakeLists.txt +index 6334468..04d0255 100644 +--- a/g2o/stuff/CMakeLists.txt ++++ b/g2o/stuff/CMakeLists.txt +@@ -28,7 +28,7 @@ set_target_properties(stuff PROPERTIES + VERSION ${G2O_LIB_VERSION} + SOVERSION ${G2O_LIB_SOVERSION}) + target_compile_features(stuff PUBLIC cxx_std_17) +-target_link_libraries(stuff PUBLIC ${G2O_EIGEN3_EIGEN_TARGET}) ++target_link_libraries(stuff PUBLIC Eigen3::Eigen) + + if (APPLE) + set_target_properties(stuff PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") +@@ -64,7 +64,7 @@ if(OPENGL_FOUND AND G2O_HAVE_OPENGL) + $ + ) + +- target_link_libraries(opengl_helper PUBLIC ${G2O_OPENGL_TARGET} ${G2O_EIGEN3_EIGEN_TARGET}) ++ target_link_libraries(opengl_helper PUBLIC ${G2O_OPENGL_TARGET} Eigen3::Eigen) + target_compile_features(opengl_helper PUBLIC cxx_std_17) + set_target_properties(opengl_helper PROPERTIES OUTPUT_NAME "${LIB_PREFIX}opengl_helper") + set_target_properties(opengl_helper PROPERTIES diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index 0aefcfb929..947bc5b66a 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -1,5 +1,3 @@ -string(REPLACE "-" "" GIT_TAG "${VERSION}_git") - vcpkg_download_distfile(FIX_UPSTREAM_37d17a9 URLS https://github.com/RainerKuemmerle/g2o/commit/37d17a94594648acf9cce85e8483c0405c510f0d.patch?full_index=1 SHA512 dc333fa43770fbdfc98592b4beb0ff03fdb033990b7054ae65953bad31899d11053fe08977526d70fa7fdf299ad0d2368ed79f29b9db847fdca3ff4e3d0415d9 @@ -12,17 +10,19 @@ vcpkg_download_distfile(FIX_UPSTREAM_100af05 FILENAME g2o-100af05931ae3497f39ab42cbeba240f50cc7b66.patch ) +string(REPLACE "-" "" GIT_TAG "${VERSION}_git") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO RainerKuemmerle/g2o - REF eec325a1da1273e87bc97887d49e70570f28570c - SHA512 22d3d546fbc92bff4767b66dcc9a001b5ed0cac0787874dda8712140aa03004b0312f702ea7d61c5fdcfa0bb00654c873f8b99899cd9e2b89667d8d99667d5cd + REF "${GIT_TAG}" + SHA512 575e97a54f87a4df239b2137c58ebb7025dfa78f6046808d155bec978f8ef88b2e4e6ef53401941fdb30cf88916c4eacb43512d615c5f8d30301cd176c53b05e HEAD_REF master PATCHES - dependencies.diff - fix-absolute.patch + 0001-dependencies.patch + 0002-fix-absolute.patch "${FIX_UPSTREAM_37d17a9}" "${FIX_UPSTREAM_100af05}" + 0003-support-eigen3-5.patch ) file(REMOVE "${SOURCE_PATH}/cmake_modules/FindBLAS.cmake" diff --git a/ports/g2o/vcpkg.json b/ports/g2o/vcpkg.json index e0831cbfc9..1827d8b845 100644 --- a/ports/g2o/vcpkg.json +++ b/ports/g2o/vcpkg.json @@ -1,7 +1,6 @@ { "name": "g2o", - "version-date": "2024-12-14", - "port-version": 5, + "version-date": "2024-12-28", "description": "g2o: A General Framework for Graph Optimization", "homepage": "https://openslam.org/g2o.html", "license": null, diff --git a/ports/gtsam/eigen3-fixes.patch b/ports/gtsam/eigen3-fixes.patch new file mode 100644 index 0000000000..c3a68c5507 --- /dev/null +++ b/ports/gtsam/eigen3-fixes.patch @@ -0,0 +1,77 @@ +diff --git a/gtsam/base/Matrix.cpp b/gtsam/base/Matrix.cpp +index 5b8a021..abc6574 100644 +--- a/gtsam/base/Matrix.cpp ++++ b/gtsam/base/Matrix.cpp +@@ -127,16 +127,6 @@ bool linear_dependent(const Matrix& A, const Matrix& B, double tol) { + } + } + +-/* ************************************************************************* */ +-Vector operator^(const Matrix& A, const Vector & v) { +- if (A.rows()!=v.size()) throw std::invalid_argument( +- boost::str(boost::format("Matrix operator^ : A.m(%d)!=v.size(%d)") % A.rows() % v.size())); +-// Vector vt = v.transpose(); +-// Vector vtA = vt * A; +-// return vtA.transpose(); +- return A.transpose() * v; +-} +- + const Eigen::IOFormat& matlabFormat() { + static const Eigen::IOFormat matlab( + Eigen::StreamPrecision, // precision +diff --git a/gtsam/base/Matrix.h b/gtsam/base/Matrix.h +index cfedf6d..05e3d0d 100644 +--- a/gtsam/base/Matrix.h ++++ b/gtsam/base/Matrix.h +@@ -54,7 +54,7 @@ using Matrix7##N = Eigen::Matrix; \ + using Matrix8##N = Eigen::Matrix; \ + using Matrix9##N = Eigen::Matrix; \ + static const Eigen::MatrixBase::IdentityReturnType I_##N##x##N = Matrix##N::Identity(); \ +-static const Eigen::MatrixBase::ConstantReturnType Z_##N##x##N = Matrix##N::Zero(); ++static const Eigen::MatrixBase::ZeroReturnType Z_##N##x##N = Matrix##N::Zero(); + + GTSAM_MAKE_MATRIX_DEFS(1) + GTSAM_MAKE_MATRIX_DEFS(2) +@@ -133,12 +133,6 @@ GTSAM_EXPORT bool linear_independent(const Matrix& A, const Matrix& B, double to + */ + GTSAM_EXPORT bool linear_dependent(const Matrix& A, const Matrix& B, double tol = 1e-9); + +-/** +- * overload ^ for trans(A)*v +- * We transpose the vectors for speed. +- */ +-GTSAM_EXPORT Vector operator^(const Matrix& A, const Vector & v); +- + /** products using old-style format to improve compatibility */ + template + inline MATRIX prod(const MATRIX& A, const MATRIX&B) { +diff --git a/gtsam/base/Vector.h b/gtsam/base/Vector.h +index f7923ff..99573a5 100644 +--- a/gtsam/base/Vector.h ++++ b/gtsam/base/Vector.h +@@ -27,6 +27,7 @@ + + #include + #include ++#include + #include + #include + +@@ -42,14 +43,14 @@ typedef Eigen::Matrix Vector1; + typedef Eigen::Vector2d Vector2; + typedef Eigen::Vector3d Vector3; + +-static const Eigen::MatrixBase::ConstantReturnType Z_2x1 = Vector2::Zero(); +-static const Eigen::MatrixBase::ConstantReturnType Z_3x1 = Vector3::Zero(); ++static const Eigen::MatrixBase::ZeroReturnType Z_2x1 = Vector2::Zero(); ++static const Eigen::MatrixBase::ZeroReturnType Z_3x1 = Vector3::Zero(); + + // Create handy typedefs and constants for vectors with N>3 + // VectorN and Z_Nx1, for N=1..9 + #define GTSAM_MAKE_VECTOR_DEFS(N) \ + using Vector##N = Eigen::Matrix; \ +- static const Eigen::MatrixBase::ConstantReturnType Z_##N##x1 = Vector##N::Zero(); ++ static const Eigen::MatrixBase::ZeroReturnType Z_##N##x1 = Vector##N::Zero(); + + GTSAM_MAKE_VECTOR_DEFS(4) + GTSAM_MAKE_VECTOR_DEFS(5) diff --git a/ports/gtsam/portfile.cmake b/ports/gtsam/portfile.cmake index 32e36faba9..f2ced9328a 100644 --- a/ports/gtsam/portfile.cmake +++ b/ports/gtsam/portfile.cmake @@ -3,10 +3,11 @@ vcpkg_from_github( REPO borglab/gtsam REF ${VERSION} SHA512 c0e5de8d86ea8241b49449bd291999ec0d6530bc9943b213e7c650b0ab29894ab53636bd1a0ed82d9d9d148dfc399ebff28e108b060d2d2176b584823bd722cd - HEAD_REF develop + HEAD_REF develop PATCHES build-fixes.patch path-fixes.patch + eigen3-fixes.patch ) vcpkg_cmake_configure( diff --git a/ports/gtsam/vcpkg.json b/ports/gtsam/vcpkg.json index b70de3b48b..4904a75d75 100644 --- a/ports/gtsam/vcpkg.json +++ b/ports/gtsam/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gtsam", "version": "4.2.0", - "port-version": 1, + "port-version": 2, "description": "GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.", "homepage": "https://github.com/borglab/gtsam", "license": "BSD-3-Clause", diff --git a/ports/itk/dependencies.diff b/ports/itk/dependencies.diff index 9b00a6bb20..8fc49ce677 100644 --- a/ports/itk/dependencies.diff +++ b/ports/itk/dependencies.diff @@ -40,10 +40,38 @@ index 135c1d3..f644a32 100644 set(ITKDoubleConversion_INCLUDE_DIRS ${ITKDoubleConversion_SOURCE_DIR}/src diff --git a/Modules/ThirdParty/Eigen3/CMakeLists.txt b/Modules/ThirdParty/Eigen3/CMakeLists.txt -index 8dbbb86..428d335 100644 +index 8dbbb86..a3d2efe 100644 --- a/Modules/ThirdParty/Eigen3/CMakeLists.txt +++ b/Modules/ThirdParty/Eigen3/CMakeLists.txt -@@ -88,7 +88,7 @@ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFI +@@ -52,12 +52,12 @@ set(_Eigen3_min_version 3.3) + + if(ITK_USE_SYSTEM_EIGEN) + set(_Eigen3_SYSTEM_OR_INTERNAL "Eigen3") +- find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version}...5 REQUIRED CONFIG) + set(Eigen3_DIR_INSTALL ${Eigen3_DIR}) + set(Eigen3_DIR_BUILD ${Eigen3_DIR}) + else() + set(_Eigen3_SYSTEM_OR_INTERNAL "ITKInternalEigen3") +- find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version}...5 REQUIRED CONFIG) + set(Eigen3_DIR_INSTALL "\${ITK_MODULES_DIR}") + set(_eigen3_build_dir "${ITK_BINARY_DIR}/ITKInternalEigen3-build") + set(Eigen3_DIR_BUILD "${_eigen3_build_dir}") +@@ -77,18 +77,18 @@ set(ITKEigen3_INCLUDE_DIRS + set(ITKEigen3_EXPORT_CODE_INSTALL " + set(ITK_USE_SYSTEM_EIGEN \"${ITK_USE_SYSTEM_EIGEN}\") + set(${_Eigen3_SYSTEM_OR_INTERNAL}_DIR \"${Eigen3_DIR_INSTALL}\") +-find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version}...5 REQUIRED CONFIG) + ") + set(ITKEigen3_EXPORT_CODE_BUILD " + set(ITK_USE_SYSTEM_EIGEN \"${ITK_USE_SYSTEM_EIGEN}\") + set(${_Eigen3_SYSTEM_OR_INTERNAL}_DIR \"${Eigen3_DIR_BUILD}\") +-find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFIG) ++find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version}...5 REQUIRED CONFIG) + ") + # Eigen3 targets are not installed if ITK_USE_SYSTEM_EIGEN==True itk_module_impl() diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 488dd32994..0cd17c7bfb 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -14,7 +14,7 @@ vcpkg_from_github( When updating the ITK version and SHA512, remember to update the remote module versions below. Try `vcpkg install itk[core,cuda,rtk] --only-downloads` for suggestions and verification. #]] - SHA512 426d7e9974951d3e48de3a38e02e4c4fab3b60657d4bac47642cab40b4a47bf5d7dbbead4d0761a89374c05ad55f50be8af70293f63d2516f4a98edce8634d51 + SHA512 225de9963e8eaf93ac32ca4a75c4e7aa887c8e926483c5aca0a4c77ef0e6cc6db4561f96a9ec3b936524ea698702705e8dc2c4a2e6a155733a12c0b3098ae11c HEAD_REF master PATCHES dependencies.diff diff --git a/ports/itk/vcpkg.json b/ports/itk/vcpkg.json index 0d1e186e67..30fd2bd57e 100644 --- a/ports/itk/vcpkg.json +++ b/ports/itk/vcpkg.json @@ -1,6 +1,6 @@ { "name": "itk", - "version": "5.4.3", + "version": "5.4.4", "description": "Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis.", "homepage": "https://github.com/InsightSoftwareConsortium/ITK", "license": "Apache-2.0", diff --git a/ports/libczi/0001-support-eigen3-5.patch b/ports/libczi/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..ce57d9fc6d --- /dev/null +++ b/ports/libczi/0001-support-eigen3-5.patch @@ -0,0 +1,13 @@ +diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt +index e0173eb..898c6ac 100644 +--- a/Src/CMakeLists.txt ++++ b/Src/CMakeLists.txt +@@ -6,7 +6,7 @@ include(utilities) + include(CheckCSourceCompiles) + + if (LIBCZI_BUILD_PREFER_EXTERNALPACKAGE_EIGEN3) +- find_package (Eigen3 3.3 REQUIRED NO_MODULE) ++ find_package (Eigen3 REQUIRED NO_MODULE) + else() + include(ExternalEIGEN3) + endif() diff --git a/ports/libczi/portfile.cmake b/ports/libczi/portfile.cmake index eeb287b0e4..dd8a6b829d 100644 --- a/ports/libczi/portfile.cmake +++ b/ports/libczi/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REPO ${LIBCZI_REPO_NAME} REF ${LIBCZI_REPO_REF} SHA512 58b841406fa1478499db6cbae935d1b31ebfe8ba8276e92224a08ee828f617f9f51300b128728bc96ff032889cc24be1b9e9ecc033fc663acd613e2c2c93ffa5 + PATCHES + 0001-support-eigen3-5.patch ) # Translate enabled vcpkg features into CMake -D flags: diff --git a/ports/libczi/vcpkg.json b/ports/libczi/vcpkg.json index b442290adc..1cd13193fa 100644 --- a/ports/libczi/vcpkg.json +++ b/ports/libczi/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libczi", "version": "0.67.2", + "port-version": 1, "description": "library to read and write CZI files.", "homepage": "https://github.com/ZEISS/libczi", "license": null, diff --git a/ports/libinterpolate/0001-support-eigen3-5.patch b/ports/libinterpolate/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..130f729e82 --- /dev/null +++ b/ports/libinterpolate/0001-support-eigen3-5.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 45550a8..0ebd2c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,7 +42,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + + find_package(Boost REQUIRED) +-find_package(Eigen3 3.3.7 REQUIRED) # v3.3.7 adds support for cmake targets ++find_package(Eigen3 3.3.7...5 REQUIRED) # v3.3.7 adds support for cmake targets + + add_library(Interpolate INTERFACE) + add_library(libInterpolate::Interpolate ALIAS Interpolate) diff --git a/ports/libinterpolate/portfile.cmake b/ports/libinterpolate/portfile.cmake index 561bb9e413..6b3bd90b91 100644 --- a/ports/libinterpolate/portfile.cmake +++ b/ports/libinterpolate/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF ${VERSION} SHA512 25abb4df8ea0648cd9cdd309f2491a9fc2cdbc5af3cc786fec39302680835bb1f29281628dd89323f353d377d9702d9b9f894c85c5cb0aa7cbae5590d05d3e27 HEAD_REF master + PATCHES + 0001-support-eigen3-5.patch ) set(VCPKG_BUILD_TYPE release) # header-only port diff --git a/ports/libinterpolate/vcpkg.json b/ports/libinterpolate/vcpkg.json index ee0cbd9da9..967fafc3f1 100644 --- a/ports/libinterpolate/vcpkg.json +++ b/ports/libinterpolate/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libinterpolate", "version": "2.7.2", + "port-version": 1, "description": "Header-only C++ interpolation library.", "homepage": "https://github.com/CD3/libInterpolate", "license": "MIT", diff --git a/ports/ltla-cppirlba/0001-fix-eigen3.patch b/ports/ltla-cppirlba/0001-fix-eigen3.patch new file mode 100644 index 0000000000..fe67d539e6 --- /dev/null +++ b/ports/ltla-cppirlba/0001-fix-eigen3.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7e6a031..b6638b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,7 +22,7 @@ option(IRLBA_FETCH_EXTERN "Automatically fetch CppIrlba's dependencies." ON) + if(IRLBA_FETCH_EXTERN) + add_subdirectory(extern) + else() +- find_package(Eigen3 3.4.0 CONFIG REQUIRED) ++ find_package(Eigen3 CONFIG REQUIRED) + find_package(ltla_aarand 1.0.0 CONFIG REQUIRED) + find_package(ltla_subpar 0.3.1 CONFIG REQUIRED) + endif() +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index 91c05e8..5c796f4 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -1,7 +1,7 @@ + @PACKAGE_INIT@ + + include(CMakeFindDependencyMacro) +-find_dependency(Eigen3 3.4.0 CONFIG REQUIRED) ++find_dependency(Eigen3 CONFIG REQUIRED) + find_dependency(ltla_aarand 1.0.0 CONFIG REQUIRED) + find_dependency(ltla_subpar 0.3.1 CONFIG REQUIRED) + diff --git a/ports/ltla-cppirlba/portfile.cmake b/ports/ltla-cppirlba/portfile.cmake index 1a1feea0aa..a32d2c0aa4 100644 --- a/ports/ltla-cppirlba/portfile.cmake +++ b/ports/ltla-cppirlba/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 7ddeccfe0a0810e32fb4385cf5a6545831764acb0ea2c96373228beceee897b20251391421b85b08e51baf8d5dca7c4b88347145a784ec6d7c3e11ff05a1c5ad HEAD_REF master + PATCHES + 0001-fix-eigen3.patch ) set(VCPKG_BUILD_TYPE "release") # header-only port diff --git a/ports/ltla-cppirlba/vcpkg.json b/ports/ltla-cppirlba/vcpkg.json index 484b00d28a..4fd036220b 100644 --- a/ports/ltla-cppirlba/vcpkg.json +++ b/ports/ltla-cppirlba/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ltla-cppirlba", "version": "2.0.2", + "port-version": 1, "description": "A C++ port of the IRLBA algorithm, based on the C code in the R package.", "homepage": "https://github.com/LTLA/CppIrlba", "license": "MIT", diff --git a/ports/manif/0001-support-eigen3-5.patch b/ports/manif/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..9e8e4d89b5 --- /dev/null +++ b/ports/manif/0001-support-eigen3-5.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2b042ff..d7b707e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,31 +25,7 @@ endif() + # First we look for the Eigen3 cmake module + # provided by the libeigen3-dev on newer Ubuntu. If that fails, then we + # fall-back to the version provided in the cmake/modules. +-find_package(Eigen3 QUIET) +- +-if(NOT EIGEN3_FOUND) +- list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) +- find_package(Eigen3 REQUIRED) +-endif() +- +-# Note that eigen 3.2 (on Ubuntu Wily) only provides EIGEN3_INCLUDE_DIR, +-# not EIGEN3_INCLUDE_DIRS, so we have to set the latter from the former. +-if(NOT EIGEN3_INCLUDE_DIRS) +- set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) +-endif() +- +-# Necessary for Ubuntu 16.04's god-awful FindEigen3.cmake. +-if((NOT (DEFINED EIGEN3_VERSION)) AND (DEFINED EIGEN3_VERSION_STRING)) +- set(EIGEN3_VERSION ${EIGEN3_VERSION_STRING}) +-endif() +- +-if(${EIGEN3_VERSION} VERSION_EQUAL "3.3.6") +- message(WARNING "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIRS}," +- "but this version has a [bug](http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1643)") +-elseif(${EIGEN3_VERSION} VERSION_LESS "3.3.8") +- message(WARNING "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIRS}. " +- "Beware that the move semantic has a bug and resolves to a simple copy.") +-endif() ++find_package(Eigen3 3.3.8...5 CONFIG REQUIRED) + + # Options. Turn on with 'cmake -DBUILD_TESTING=ON'. + # catkin build manif --cmake-args -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON +@@ -103,12 +79,8 @@ target_include_directories(${PROJECT_NAME} INTERFACE + target_link_libraries(${PROJECT_NAME} INTERFACE "$<$:tl::optional>") + + # Add Eigen interface dependency, depending on available cmake info +-if(TARGET Eigen3::Eigen) +- target_link_libraries(${PROJECT_NAME} INTERFACE Eigen3::Eigen) +- set(Eigen3_DEPENDENCY "find_dependency(Eigen3 ${Eigen3_VERSION})") +-else(TARGET Eigen3::Eigen) +- target_include_directories(${PROJECT_NAME} SYSTEM INTERFACE ${EIGEN3_INCLUDE_DIRS}) +-endif(TARGET Eigen3::Eigen) ++target_link_libraries(${PROJECT_NAME} INTERFACE Eigen3::Eigen) ++set(Eigen3_DEPENDENCY "find_dependency(Eigen3 ${Eigen3_VERSION})") + + # Add tl-optional interface dependency if enabled + if(tl-optional_FOUND) diff --git a/ports/manif/portfile.cmake b/ports/manif/portfile.cmake index db41d793a5..e002fc3644 100644 --- a/ports/manif/portfile.cmake +++ b/ports/manif/portfile.cmake @@ -5,6 +5,8 @@ vcpkg_from_github( REF "${VERSION}" SHA512 ab74e6c67641a9bb33bf779fb70d4f79d0758840f28750448c0a26714cd3941376f128cd3936d7329f9c74becc18440fca2a1ff52759f99019fb430287a3a52f HEAD_REF devel + PATCHES + 0001-support-eigen3-5.patch ) vcpkg_cmake_configure( diff --git a/ports/manif/vcpkg.json b/ports/manif/vcpkg.json index 9d68287d99..e562637864 100644 --- a/ports/manif/vcpkg.json +++ b/ports/manif/vcpkg.json @@ -1,6 +1,7 @@ { "name": "manif", "version": "0.0.5", + "port-version": 1, "description": "A small C++11 header-only library for Lie theory.", "homepage": "https://github.com/artivis/manif", "documentation": "https://artivis.github.io/manif/", diff --git a/ports/opencv3/0020-contrib-add-cassert.patch b/ports/opencv3/0020-contrib-add-cassert.patch new file mode 100644 index 0000000000..59f4ce4d04 --- /dev/null +++ b/ports/opencv3/0020-contrib-add-cassert.patch @@ -0,0 +1,13 @@ +diff --git a/modules/sfm/src/libmv_light/libmv/numeric/numeric.h b/modules/sfm/src/libmv_light/libmv/numeric/numeric.h +index dde7e81..063b16a 100644 +--- a/modules/sfm/src/libmv_light/libmv/numeric/numeric.h ++++ b/modules/sfm/src/libmv_light/libmv/numeric/numeric.h +@@ -33,6 +33,8 @@ + #include + #include + ++#include ++ + #if !defined(__MINGW64__) + # if defined(_WIN32) || defined(__APPLE__) || \ + defined(__FreeBSD__) || defined(__NetBSD__) diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake index e575f3a318..6663c6ad43 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -136,6 +136,7 @@ if("contrib" IN_LIST FEATURES) 0007-contrib-fix-hdf5.patch 0013-contrib-fix-tesseract.patch 0016-contrib-fix-freetype.patch + 0020-contrib-add-cassert.patch ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") diff --git a/ports/opencv3/vcpkg.json b/ports/opencv3/vcpkg.json index bed28555e0..36842fb6c7 100644 --- a/ports/opencv3/vcpkg.json +++ b/ports/opencv3/vcpkg.json @@ -1,6 +1,7 @@ { "name": "opencv3", "version": "3.4.20", + "port-version": 1, "description": "Open Source Computer Vision Library", "homepage": "https://github.com/opencv/opencv", "license": "BSD-3-Clause", @@ -52,7 +53,7 @@ "dependencies": [ { "name": "hdf5", - "platform": "!uwp & !(windows & (arm | arm64))" + "platform": "!uwp & !(windows & arm)" }, { "name": "opencv3", @@ -63,7 +64,7 @@ }, { "name": "tesseract", - "platform": "!uwp & !(windows & (arm | arm64))" + "platform": "!uwp & !(windows & arm)" } ] }, @@ -129,14 +130,12 @@ }, "halide": { "description": "Halide support for opencv", + "supports": "!(windows & static)", "dependencies": [ "halide", { "name": "opencv3", - "default-features": false - }, - { - "name": "opencv3", + "default-features": false, "features": [ "dnn" ] @@ -178,6 +177,7 @@ }, "opengl": { "description": "opengl support for opencv", + "supports": "!uwp & !android", "dependencies": [ "opengl" ] @@ -267,14 +267,9 @@ "name": "opencv3", "default-features": false, "features": [ - "contrib" - ] - }, - { - "name": "opencv3", - "default-features": false, - "features": [ - "eigen" + "contrib", + "eigen", + "flann" ] } ] @@ -297,6 +292,7 @@ }, "vtk": { "description": "vtk support for opencv", + "supports": "!android & !uwp & !(windows & arm)", "dependencies": [ { "name": "opencv3", diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake index 58c67407cd..2b0b99dbc9 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -1,5 +1,13 @@ set(USE_QT_VERSION "6") +# fix to get version from eigen after v3.4.0 +vcpkg_download_distfile( + PATCH1_FILE + URLS https://github.com/opencv/opencv/commit/468de9b36740b3355f0d5cd8be2ce28b340df120.patch?full_index=1 + SHA512 09ee552fcd9a96359230104d7bf8610a63e05d743a3b51d58c6469331729a6440444e05c616464380dbebaefdd7ee6fb06cac5fc70694af85f9c8d40201aad10 + FILENAME 468de9b36740b3355f0d5cd8be2ce28b340df120.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv @@ -21,6 +29,7 @@ vcpkg_from_github( 0020-fix-narrow-filesystem.diff 0021-fix-qt-gen-def.patch 0022-android-use-vcpkg-cpu-features.patch + "${PATCH1_FILE}" ) # Disallow accidental build of vendored copies file(GLOB third_party "${SOURCE_PATH}/3rdparty/*") diff --git a/ports/opencv4/vcpkg.json b/ports/opencv4/vcpkg.json index 11c472d788..9ea523121f 100644 --- a/ports/opencv4/vcpkg.json +++ b/ports/opencv4/vcpkg.json @@ -1,6 +1,7 @@ { "name": "opencv4", "version": "4.12.0", + "port-version": 1, "description": "Open Source Computer Vision Library", "homepage": "https://opencv.org/", "documentation": "https://docs.opencv.org/4.12.0/", diff --git a/ports/openmvg/0001-eigen_3.4.0.patch b/ports/openmvg/0001-eigen_3.4.0.patch deleted file mode 100644 index a4e759f52e..0000000000 --- a/ports/openmvg/0001-eigen_3.4.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp -index 2ffd45a..bbf74b4 100644 ---- a/src/openMVG/multiview/solver_fundamental_kernel.cpp -+++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp -@@ -110,7 +110,7 @@ void EightPointSolver::Solve - x2.colwise().homogeneous(), - &epipolar_constraint); - // Find the F matrice in the nullspace of epipolar_constraint. -- Eigen::SelfAdjointEigenSolver solver -+ Eigen::SelfAdjointEigenSolver> solver - (epipolar_constraint.transpose() * epipolar_constraint); - f = solver.eigenvectors().leftCols<1>(); - diff --git a/ports/openmvg/0001-fix-build.patch b/ports/openmvg/0001-fix-build.patch new file mode 100644 index 0000000000..b0f067bc5a --- /dev/null +++ b/ports/openmvg/0001-fix-build.patch @@ -0,0 +1,302 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6879c4c..aa4167a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -324,13 +324,18 @@ else() + if (TARGET flann::flann) + set(FLANN_LIBRARIES "flann::flann;flann::flann_cpp") + else() +- find_package(Flann QUIET) ++ set(FLANN_LIBRARIES "flann::flann_s;flann::flann_cpp_s") + endif() ++ set(FLANN_FOUND TRUE) + endif() + if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) + set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) + endif() + ++# Used together in openMVG/LinearProgramming ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(OSI_CLP_COIN osi-clp clp osi coinutils REQUIRED) ++if(0) + # ============================================================================== + # CoinUtils + # ============================================================================== +@@ -391,6 +396,7 @@ if (OpenMVG_USE_INTERNAL_OSI AND OpenMVG_USE_INTERNAL_CLP AND OpenMVG_USE_INTERN + set_property(TARGET lib_Osi PROPERTY FOLDER OpenMVG/3rdParty/lib_Osi) + set_property(TARGET lib_OsiClpSolver PROPERTY FOLDER OpenMVG/3rdParty/lib_OsiClpSolver) + endif() ++endif() + + # ============================================================================== + # Lemon +@@ -402,7 +408,7 @@ if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS) + set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon) + set(OpenMVG_USE_INTERNAL_LEMON ON) + endif() +-find_package(Lemon QUIET) ++find_package(LEMON REQUIRED) + if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) + set(LEMON_INCLUDE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon +diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in +index 5a788b5..7a0afdb 100644 +--- a/src/cmakeFindModules/OpenMVGConfig.cmake.in ++++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in +@@ -61,7 +61,7 @@ set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) + + # Build the absolute root install directory as a relative path + get_filename_component(CURRENT_ROOT_INSTALL_DIR +- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) ++ "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) + if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) + OPENMVG_REPORT_NOT_FOUND( + "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " +@@ -88,11 +88,14 @@ set(OpenMVG_USE_OPENMP "@OpenMVG_USE_OPENMP@") + + # Find transitive dependencies if required + include(CMakeFindDependencyMacro) ++find_dependency(flann CONFIG) ++find_dependency(Ceres CONFIG) ++find_dependency(vlfeat CONFIG) + if (OpenMVG_USE_OPENMP) +- find_dependency(OpenMP REQUIRED) ++ find_dependency(OpenMP) + endif() + if (NOT OpenMVG_USE_INTERNAL_CEREAL) +- find_dependency(cereal REQUIRED) ++ find_dependency(cereal CONFIG) + endif() + + # Import exported OpenMVG targets +diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt +index 402a2d8..b2912ea 100644 +--- a/src/nonFree/sift/CMakeLists.txt ++++ b/src/nonFree/sift/CMakeLists.txt +@@ -25,7 +25,9 @@ set(FEATS + vl/mathop.c + vl/random.c) + set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) +-add_library(vlsift ${FEATS}) ++find_package(vlfeat CONFIG REQUIRED) ++add_library(vlsift INTERFACE) ++target_link_libraries(vlsift INTERFACE unofficial::vlfeat::vl) + install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) + set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) + install( +diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp +index cd800b0..9586d9b 100644 +--- a/src/nonFree/sift/SIFT_describer.hpp ++++ b/src/nonFree/sift/SIFT_describer.hpp +@@ -18,7 +18,7 @@ + #include + + extern "C" { +-#include "nonFree/sift/vl/sift.h" ++#include + } + + namespace openMVG { +diff --git a/src/openMVG/exif/sensor_width_database/CMakeLists.txt b/src/openMVG/exif/sensor_width_database/CMakeLists.txt +index 33d9f16..58b4761 100644 +--- a/src/openMVG/exif/sensor_width_database/CMakeLists.txt ++++ b/src/openMVG/exif/sensor_width_database/CMakeLists.txt +@@ -2,4 +2,4 @@ + UNIT_TEST(openMVG ParseDatabase "openMVG_testing;${STLPLUS_LIBRARY}") + + # Installation rules +-install(FILES sensor_width_camera_database.txt DESTINATION ${CMAKE_INSTALL_LIBDIR}/openMVG) ++install(FILES sensor_width_camera_database.txt DESTINATION share/openmvg) +diff --git a/src/openMVG/features/CMakeLists.txt b/src/openMVG/features/CMakeLists.txt +index 7100ab0..2af4528 100644 +--- a/src/openMVG/features/CMakeLists.txt ++++ b/src/openMVG/features/CMakeLists.txt +@@ -24,14 +24,13 @@ if (CMAKE_CXX_FLAGS) + endif() + target_include_directories(openMVG_features + PUBLIC +- $ + $ + $ + $ + ) + target_link_libraries(openMVG_features + PRIVATE openMVG_fast ${STLPLUS_LIBRARY} +- PUBLIC ${OPENMVG_LIBRARY_DEPENDENCIES} ${cereal_TARGET}) ++ PUBLIC ${OPENMVG_LIBRARY_DEPENDENCIES} ${cereal_TARGET} Eigen3::Eigen) + if (MSVC) + set_target_properties(openMVG_features PROPERTIES COMPILE_FLAGS "/bigobj") + target_compile_options(openMVG_features PUBLIC "-D_USE_MATH_DEFINES") +diff --git a/src/openMVG/image/image_converter.hpp b/src/openMVG/image/image_converter.hpp +index 94b4000..750708e 100644 +--- a/src/openMVG/image/image_converter.hpp ++++ b/src/openMVG/image/image_converter.hpp +@@ -9,6 +9,8 @@ + #ifndef OPENMVG_IMAGE_IMAGE_CONVERTER_HPP + #define OPENMVG_IMAGE_IMAGE_CONVERTER_HPP + ++#include ++ + #include "openMVG/image/image_container.hpp" + #include "openMVG/image/pixel_types.hpp" + +diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt +index 4532161..20b9331 100644 +--- a/src/openMVG/linearProgramming/CMakeLists.txt ++++ b/src/openMVG/linearProgramming/CMakeLists.txt +@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming + PUBLIC + openMVG_numeric + PRIVATE +- ${CLP_LIBRARIES} # clp + solver wrapper +- ${COINUTILS_LIBRARY} # container tools +- ${OSI_LIBRARY} # generic LP ++ ${OSI_CLP_COIN_LINK_LIBRARIES} + ) + + target_include_directories(openMVG_linearProgramming + PRIVATE +- ${CLP_INCLUDE_DIRS} +- ${COINUTILS_INCLUDE_DIRS} +- ${OSI_INCLUDE_DIRS} ++ ${OSI_CLP_COIN_INCLUDE_DIRS} + PUBLIC + $ + ) +diff --git a/src/openMVG/matching/kvld/algorithm.h b/src/openMVG/matching/kvld/algorithm.h +index c3fc3c6..765e5a4 100644 +--- a/src/openMVG/matching/kvld/algorithm.h ++++ b/src/openMVG/matching/kvld/algorithm.h +@@ -10,6 +10,7 @@ + #define OPENMVG_MATCHING_KVLD_ALGORITHM_H + + #include ++#include + #include + #include + #include "openMVG/image/image_container.hpp" +diff --git a/src/openMVG/multiview/rotation_averaging_l1.cpp b/src/openMVG/multiview/rotation_averaging_l1.cpp +index 7151bd5..dc738e7 100644 +--- a/src/openMVG/multiview/rotation_averaging_l1.cpp ++++ b/src/openMVG/multiview/rotation_averaging_l1.cpp +@@ -191,7 +191,7 @@ unsigned int FilterRelativeRotations( + const Matrix3x3& Rj = Rs[relR.j]; + const Matrix3x3& Rij = relR.Rij; + const Mat3 eRij(Rj.transpose()*Rij*Ri); +- const openMVG::Vec3 erij; ++ const openMVG::Vec3 erij{}; + ceres::RotationMatrixToAngleAxis((const double*)eRij.data(), (double*)erij.data()); + errors[r] = (float)erij.norm(); + } +@@ -371,7 +371,7 @@ inline void FillErrorMatrix( + const Matrix3x3& Rj = Rs[relR.j]; + const Matrix3x3& Rij = relR.Rij; + const Mat3 eRij(Rj.transpose()*Rij*Ri); +- const openMVG::Vec3 erij; ++ const openMVG::Vec3 erij{}; + ceres::RotationMatrixToAngleAxis((const double*)eRij.data(), (double*)erij.data()); + b.block<3,1>(3*r,0) = erij; + } +@@ -389,7 +389,7 @@ inline void CorrectMatrix( + Matrix3x3& Ri = Rs[r]; + const uint32_t i = (r(3*i,0)); +- const Mat3 eRi; ++ const Mat3 eRi{}; + ceres::AngleAxisToRotationMatrix((const double*)eRid.data(), (double*)eRi.data()); + Ri = Ri*eRi; + } +diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp +index 2ffd45a..bbf74b4 100644 +--- a/src/openMVG/multiview/solver_fundamental_kernel.cpp ++++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp +@@ -110,7 +110,7 @@ void EightPointSolver::Solve + x2.colwise().homogeneous(), + &epipolar_constraint); + // Find the F matrice in the nullspace of epipolar_constraint. +- Eigen::SelfAdjointEigenSolver solver ++ Eigen::SelfAdjointEigenSolver> solver + (epipolar_constraint.transpose() * epipolar_constraint); + f = solver.eigenvectors().leftCols<1>(); + +diff --git a/src/openMVG/numeric/CMakeLists.txt b/src/openMVG/numeric/CMakeLists.txt +index 1407bdd..a754a46 100644 +--- a/src/openMVG/numeric/CMakeLists.txt ++++ b/src/openMVG/numeric/CMakeLists.txt +@@ -22,7 +22,6 @@ if (CMAKE_CXX_FLAGS) + endif() + target_include_directories(openMVG_numeric + PUBLIC +- $ + $ + $ + ) +@@ -30,8 +29,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) + target_include_directories(openMVG_numeric PUBLIC + $) + else() +- target_include_directories(openMVG_numeric PUBLIC +- $) ++ target_link_libraries(openMVG_numeric PUBLIC Eigen3::Eigen) + endif() + + if (MSVC) +diff --git a/src/openMVG/numeric/eigen_alias_definition.hpp b/src/openMVG/numeric/eigen_alias_definition.hpp +index cd8e398..7470272 100644 +--- a/src/openMVG/numeric/eigen_alias_definition.hpp ++++ b/src/openMVG/numeric/eigen_alias_definition.hpp +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + // Extend EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION with initializer list support. + #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION_INITIALIZER_LIST(...) \ +diff --git a/src/openMVG/system/CMakeLists.txt b/src/openMVG/system/CMakeLists.txt +index 5ed532b..a7b5d07 100644 +--- a/src/openMVG/system/CMakeLists.txt ++++ b/src/openMVG/system/CMakeLists.txt +@@ -9,7 +9,6 @@ set_property(TARGET openMVG_system PROPERTY FOLDER OpenMVG/OpenMVG) + install(TARGETS openMVG_system DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT openMVG-targets) + + add_library(openMVG_progress_test INTERFACE) +-target_link_libraries(openMVG_progress_test INTERFACE ${OPENMVG_LIBRARY_DEPENDENCIES}) +-target_include_directories(openMVG_progress_test INTERFACE ${EIGEN_INCLUDE_DIRS}) ++target_link_libraries(openMVG_progress_test INTERFACE ${OPENMVG_LIBRARY_DEPENDENCIES} Eigen3::Eigen) + + UNIT_TEST(openMVG progress "openMVG_system;openMVG_progress_test;openMVG_testing") +diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt +index 893abd3..430d8a4 100644 +--- a/src/software/SfM/CMakeLists.txt ++++ b/src/software/SfM/CMakeLists.txt +@@ -222,8 +222,8 @@ target_link_libraries(openMVG_main_PointsFiltering + openMVG_system + openMVG_sfm + ${STLPLUS_LIBRARY} ++ Eigen3::Eigen + ) +-target_include_directories(openMVG_main_PointsFiltering PRIVATE ${EIGEN_INCLUDE_DIRS}) + + add_executable(openMVG_main_ChangeLocalOrigin main_ChangeLocalOrigin.cpp) + target_link_libraries(openMVG_main_ChangeLocalOrigin +diff --git a/src/software/SfM/clustering/domSetLibrary/CMakeLists.txt b/src/software/SfM/clustering/domSetLibrary/CMakeLists.txt +index 41e8e06..013f9c7 100644 +--- a/src/software/SfM/clustering/domSetLibrary/CMakeLists.txt ++++ b/src/software/SfM/clustering/domSetLibrary/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_library( domset STATIC domset.cc domset.h types.h ) +-target_include_directories(domset PUBLIC ${EIGEN_INCLUDE_DIRS}) ++target_link_libraries(domset PUBLIC Eigen3::Eigen) + target_link_libraries(domset PRIVATE openMVG_matching) + set_property(TARGET domset PROPERTY FOLDER OpenMVG/software/clustering) +diff --git a/src/testing/CMakeLists.txt b/src/testing/CMakeLists.txt +index b4fe7ae..efbf7cc 100644 +--- a/src/testing/CMakeLists.txt ++++ b/src/testing/CMakeLists.txt +@@ -1,3 +1,3 @@ + add_library(openMVG_testing INTERFACE) +-target_include_directories(openMVG_testing INTERFACE ${CMAKE_SOURCE_DIR};${EIGEN_INCLUDE_DIRS}) +-target_link_libraries(openMVG_testing INTERFACE openMVG_numeric) ++target_include_directories(openMVG_testing INTERFACE ${CMAKE_SOURCE_DIR}) ++target_link_libraries(openMVG_testing INTERFACE openMVG_numeric Eigen3::Eigen) diff --git a/ports/openmvg/fast-c-language.diff b/ports/openmvg/0002-fast-c-language.patch similarity index 100% rename from ports/openmvg/fast-c-language.diff rename to ports/openmvg/0002-fast-c-language.patch diff --git a/ports/openmvg/no-absolute-paths.patch b/ports/openmvg/0003-no-absolute-paths.patch similarity index 100% rename from ports/openmvg/no-absolute-paths.patch rename to ports/openmvg/0003-no-absolute-paths.patch diff --git a/ports/openmvg/build_fixes.patch b/ports/openmvg/build_fixes.patch deleted file mode 100644 index 1ec5ce6265..0000000000 --- a/ports/openmvg/build_fixes.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 6879c4c..aa4167a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -324,13 +324,18 @@ else() - if (TARGET flann::flann) - set(FLANN_LIBRARIES "flann::flann;flann::flann_cpp") - else() -- find_package(Flann QUIET) -+ set(FLANN_LIBRARIES "flann::flann_s;flann::flann_cpp_s") - endif() -+ set(FLANN_FOUND TRUE) - endif() - if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) - set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) - endif() - -+# Used together in openMVG/LinearProgramming -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(OSI_CLP_COIN osi-clp clp osi coinutils REQUIRED) -+if(0) - # ============================================================================== - # CoinUtils - # ============================================================================== -@@ -391,6 +396,7 @@ if (OpenMVG_USE_INTERNAL_OSI AND OpenMVG_USE_INTERNAL_CLP AND OpenMVG_USE_INTERN - set_property(TARGET lib_Osi PROPERTY FOLDER OpenMVG/3rdParty/lib_Osi) - set_property(TARGET lib_OsiClpSolver PROPERTY FOLDER OpenMVG/3rdParty/lib_OsiClpSolver) - endif() -+endif() - - # ============================================================================== - # Lemon -@@ -402,7 +408,7 @@ if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS) - set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon) - set(OpenMVG_USE_INTERNAL_LEMON ON) - endif() --find_package(Lemon QUIET) -+find_package(LEMON REQUIRED) - if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) - set(LEMON_INCLUDE_DIRS - ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon -diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index 5a788b5..7a0afdb 100644 ---- a/src/cmakeFindModules/OpenMVGConfig.cmake.in -+++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in -@@ -61,7 +61,7 @@ set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) - - # Build the absolute root install directory as a relative path - get_filename_component(CURRENT_ROOT_INSTALL_DIR -- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) -+ "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) - if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) - OPENMVG_REPORT_NOT_FOUND( - "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " -@@ -88,11 +88,14 @@ set(OpenMVG_USE_OPENMP "@OpenMVG_USE_OPENMP@") - - # Find transitive dependencies if required - include(CMakeFindDependencyMacro) -+find_dependency(flann CONFIG) -+find_dependency(Ceres CONFIG) -+find_dependency(vlfeat CONFIG) - if (OpenMVG_USE_OPENMP) -- find_dependency(OpenMP REQUIRED) -+ find_dependency(OpenMP) - endif() - if (NOT OpenMVG_USE_INTERNAL_CEREAL) -- find_dependency(cereal REQUIRED) -+ find_dependency(cereal CONFIG) - endif() - - # Import exported OpenMVG targets -diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt -index 402a2d8..b2912ea 100644 ---- a/src/nonFree/sift/CMakeLists.txt -+++ b/src/nonFree/sift/CMakeLists.txt -@@ -25,7 +25,9 @@ set(FEATS - vl/mathop.c - vl/random.c) - set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) --add_library(vlsift ${FEATS}) -+find_package(vlfeat CONFIG REQUIRED) -+add_library(vlsift INTERFACE) -+target_link_libraries(vlsift INTERFACE unofficial::vlfeat::vl) - install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) - set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) - install( -diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp -index cd800b0..9586d9b 100644 ---- a/src/nonFree/sift/SIFT_describer.hpp -+++ b/src/nonFree/sift/SIFT_describer.hpp -@@ -18,7 +18,7 @@ - #include - - extern "C" { --#include "nonFree/sift/vl/sift.h" -+#include - } - - namespace openMVG { -diff --git a/src/openMVG/exif/sensor_width_database/CMakeLists.txt b/src/openMVG/exif/sensor_width_database/CMakeLists.txt -index 33d9f16..58b4761 100644 ---- a/src/openMVG/exif/sensor_width_database/CMakeLists.txt -+++ b/src/openMVG/exif/sensor_width_database/CMakeLists.txt -@@ -2,4 +2,4 @@ - UNIT_TEST(openMVG ParseDatabase "openMVG_testing;${STLPLUS_LIBRARY}") - - # Installation rules --install(FILES sensor_width_camera_database.txt DESTINATION ${CMAKE_INSTALL_LIBDIR}/openMVG) -+install(FILES sensor_width_camera_database.txt DESTINATION share/openmvg) -diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt -index 3a8a402..24151e9 100644 ---- a/src/openMVG/linearProgramming/CMakeLists.txt -+++ b/src/openMVG/linearProgramming/CMakeLists.txt -@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming - PUBLIC - openMVG_numeric - PRIVATE -- ${CLP_LIBRARIES} # clp + solver wrapper -- ${COINUTILS_LIBRARY} # container tools -- ${OSI_LIBRARY} # generic LP -+ ${OSI_CLP_COIN_LINK_LIBRARIES} - ) - - target_include_directories(openMVG_linearProgramming - PRIVATE -- ${CLP_INCLUDE_DIRS} -- ${COINUTILS_INCLUDE_DIRS} -- ${OSI_INCLUDE_DIRS} -+ ${OSI_CLP_COIN_INCLUDE_DIRS} - PUBLIC - $ - ) diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index f445a73a41..8d06ab9b70 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -11,10 +11,9 @@ vcpkg_from_github( REF 01193a245ee3c36458e650b1cf4402caad8983ef # v2.1 SHA512 ee98ca26426e7129917c920cd59817cb5d4faf1f5aa12f4085f9ac431875e9ec23ffee7792d65286bad4b922c474c56d5c2f2008b38fddf1ede096644f13ad47 PATCHES - build_fixes.patch - 0001-eigen_3.4.0.patch - fast-c-language.diff - no-absolute-paths.patch + 0001-fix-build.patch + 0002-fast-c-language.patch + 0003-no-absolute-paths.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake" diff --git a/ports/openmvg/vcpkg.json b/ports/openmvg/vcpkg.json index d93c6433e9..eb67f01653 100644 --- a/ports/openmvg/vcpkg.json +++ b/ports/openmvg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openmvg", "version": "2.1", - "port-version": 2, + "port-version": 3, "description": "open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.", "license": null, "supports": "(x86 | x64 | arm64) & !xbox", diff --git a/ports/openmvs/fix-eigen3.patch b/ports/openmvs/fix-eigen3.patch new file mode 100644 index 0000000000..8c12f0a82b --- /dev/null +++ b/ports/openmvs/fix-eigen3.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 03225b8..e343aba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -184,14 +184,12 @@ if(Boost_FOUND) + SET(_USE_BOOST TRUE) + endif() + +-FIND_PACKAGE(Eigen3 REQUIRED) +-if(EIGEN3_FOUND) +- LIST(APPEND OpenMVS_EXTRA_INCLUDES ${EIGEN3_INCLUDE_DIR}) +- INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR}) ++FIND_PACKAGE(Eigen3 CONFIG REQUIRED) ++if(Eigen3_FOUND) + LIST(APPEND OpenMVS_DEFINITIONS -D_USE_EIGEN) +- ADD_DEFINITIONS(${EIGEN3_DEFINITIONS}) ++ LINK_LIBRARIES(Eigen3::Eigen) + SET(_USE_EIGEN TRUE) +- MESSAGE(STATUS "Eigen ${EIGEN3_VERSION} found (include: ${EIGEN3_INCLUDE_DIR})") ++ MESSAGE(STATUS "Eigen ${Eigen3_VERSION} found") + endif() + + FIND_PACKAGE(OpenCV REQUIRED) diff --git a/ports/openmvs/fix_no_zstd.patch b/ports/openmvs/fix_no_zstd.patch deleted file mode 100644 index 155670ec9a..0000000000 --- a/ports/openmvs/fix_no_zstd.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 39ec359..ee90ae6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -177,10 +177,8 @@ if(Boost_FOUND) - LIST(APPEND OpenMVS_DEFINITIONS -D_USE_BOOST) - ADD_DEFINITIONS(${Boost_DEFINITIONS}) - LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) -- if(NOT MSVC AND DEFINED CMAKE_TOOLCHAIN_FILE) -- # work around this missing library link in vcpkg -- LIST(APPEND Boost_LIBRARIES zstd) -- endif() -+ # work around this missing library link in vcpkg -+ LIST(APPEND Boost_LIBRARIES zstd) - SET(_USE_BOOST TRUE) - endif() - diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index 22d36d5e7f..c7b8849106 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( no-absolute-paths.patch fix-static-build.patch fix-lib-name-conflict.patch + fix-eigen3.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/openmvs/vcpkg.json b/ports/openmvs/vcpkg.json index a153b82826..434586d643 100644 --- a/ports/openmvs/vcpkg.json +++ b/ports/openmvs/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openmvs", "version": "2.1.0", - "port-version": 7, + "port-version": 8, "description": "OpenMVS: open Multi-View Stereo reconstruction library", "homepage": "https://cdcseacave.github.io/openMVS", "license": "AGPL-3.0-only", diff --git a/ports/pagmo2/doxygen.patch b/ports/pagmo2/0001-doxygen.patch similarity index 100% rename from ports/pagmo2/doxygen.patch rename to ports/pagmo2/0001-doxygen.patch diff --git a/ports/pagmo2/find-tbb.patch b/ports/pagmo2/0002-find-tbb.patch similarity index 100% rename from ports/pagmo2/find-tbb.patch rename to ports/pagmo2/0002-find-tbb.patch diff --git a/ports/pagmo2/disable-werror.patch b/ports/pagmo2/0003-disable-werror.patch similarity index 100% rename from ports/pagmo2/disable-werror.patch rename to ports/pagmo2/0003-disable-werror.patch diff --git a/ports/pagmo2/0004-support-eigen3-5.patch b/ports/pagmo2/0004-support-eigen3-5.patch new file mode 100644 index 0000000000..d7872b690a --- /dev/null +++ b/ports/pagmo2/0004-support-eigen3-5.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e422554..984ae24 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -163,7 +163,7 @@ endif() + + # Eigen3 + if(PAGMO_WITH_EIGEN3) +- find_package(Eigen3 3.3 REQUIRED NO_MODULE) ++ find_package(Eigen3 3.3...5 REQUIRED NO_MODULE) + endif() + + # NLopt +@@ -456,7 +456,7 @@ install(TARGETS pagmo + # Setup of the optional deps. + set(_PAGMO_CONFIG_OPTIONAL_DEPS) + if(PAGMO_WITH_EIGEN3) +- set(_PAGMO_CONFIG_OPTIONAL_DEPS "${_PAGMO_CONFIG_OPTIONAL_DEPS}find_package(Eigen3 3.3 REQUIRED NO_MODULE)\n") ++ set(_PAGMO_CONFIG_OPTIONAL_DEPS "${_PAGMO_CONFIG_OPTIONAL_DEPS}find_package(Eigen3 3.3...5 REQUIRED NO_MODULE)\n") + endif() + if(PAGMO_WITH_NLOPT) + set(_PAGMO_CONFIG_OPTIONAL_DEPS "${_PAGMO_CONFIG_OPTIONAL_DEPS}find_package(NLopt 2.6 REQUIRED NO_MODULE)\n") diff --git a/ports/pagmo2/portfile.cmake b/ports/pagmo2/portfile.cmake index 995d9dc41b..ccc0ebe7ff 100644 --- a/ports/pagmo2/portfile.cmake +++ b/ports/pagmo2/portfile.cmake @@ -5,14 +5,15 @@ vcpkg_from_github( SHA512 9ebe7f63b907607ea5762e56a884be62630efaca3f45d9ba9ad85ca1818d60d09864422bd075c2653aea1a14609fe9ad6520297aee5a00e07fa88df45872cef9 HEAD_REF master PATCHES - doxygen.patch - find-tbb.patch - disable-werror.patch + 0001-doxygen.patch + 0002-find-tbb.patch + 0003-disable-werror.patch + 0004-support-eigen3-5.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - nlopt PAGMO_WITH_NLOPT + FEATURES + nlopt PAGMO_WITH_NLOPT ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAGMO_BUILD_STATIC_LIBRARY) vcpkg_cmake_configure( diff --git a/ports/pagmo2/vcpkg.json b/ports/pagmo2/vcpkg.json index 54e644ab03..f82a370e2f 100644 --- a/ports/pagmo2/vcpkg.json +++ b/ports/pagmo2/vcpkg.json @@ -1,6 +1,7 @@ { "name": "pagmo2", "version": "2.19.1", + "port-version": 1, "description": "A C++ platform to perform parallel computations of optimization tasks (global and local) via the asynchronous generalized island model.", "homepage": "https://esa.github.io/pagmo2/", "license": "GPL-3.0-or-later OR LGPL-3.0-or-later", diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index 77b6322971..c77077e40e 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -3,7 +3,11 @@ vcpkg_download_distfile(BOOST_1_89_0_COMPAT_PATCH FILENAME PointCloudLibrary-pcl-boost-1-89-0-compat.patch SHA512 2fefaeaeda9fe423b481cddf4de85eff58418286f24f065be8610216e87d8faeb869406b72b3a7158abd22d17e25742b54f6b9eb3c81f82a1718f938bb8e0d26 ) - +vcpkg_download_distfile(EIGEN3_5_0_0_COMPAT_PATCH + URLS https://github.com/PointCloudLibrary/pcl/commit/2d6929bdcd98beaa28fa8ee3a105beb566f16347.patch?full_index=1 + FILENAME PointCloudLibrary-pcl-eigen3-5-0-0-compat.patch + SHA512 993a1f29d8dd62cee526a92f0c2bf62dca566428523166abfb74337da137d47dcf97febb9d98b2a17ee6cea331045350bfb37b221403c08214beaebb7120bf41 +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PointCloudLibrary/pcl @@ -17,6 +21,7 @@ vcpkg_from_github( install-examples.patch fix-clang-cl.patch "${BOOST_1_89_0_COMPAT_PATCH}" + "${EIGEN3_5_0_0_COMPAT_PATCH}" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS) diff --git a/ports/pcl/vcpkg.json b/ports/pcl/vcpkg.json index 3ee07509cc..b292bd44be 100644 --- a/ports/pcl/vcpkg.json +++ b/ports/pcl/vcpkg.json @@ -1,6 +1,7 @@ { "name": "pcl", "version": "1.15.1", + "port-version": 1, "description": "Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.", "homepage": "https://github.com/PointCloudLibrary/pcl", "license": "BSD-3-Clause", diff --git a/ports/rbdl/0001-fix-eigen3.patch b/ports/rbdl/0001-fix-eigen3.patch new file mode 100644 index 0000000000..3b707368dd --- /dev/null +++ b/ports/rbdl/0001-fix-eigen3.patch @@ -0,0 +1,155 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d25936d..3a26204 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,15 +69,9 @@ OPTION (RBDL_USE_PYTHON_2 "Use python 2 instead of python 3" OFF) + OPTION (RBDL_BUILD_CASADI "Use the CasADi backend" OFF) + OPTION (RBDL_VCPKG_BUILD "Building RBDL in vcpkg environment" OFF) + +- + # Find and use the system's Eigen3 library +-FIND_PACKAGE (Eigen3 3.0.0) +- +-IF (NOT EIGEN3_FOUND) +- MESSAGE (WARNING "Could not find Eigen3 on your system. Please install it!") +-ENDIF (NOT EIGEN3_FOUND) +- +-INCLUDE_DIRECTORIES (${EIGEN3_INCLUDE_DIR}) ++FIND_PACKAGE (Eigen3 REQUIRED) ++LINK_LIBRARIES (Eigen3::Eigen) + + # Addons + IF (RBDL_BUILD_ADDON_URDFREADER) +diff --git a/addons/urdfreader/thirdparty/CMakeLists.txt b/addons/urdfreader/thirdparty/CMakeLists.txt +index a57f5a7..77a36dd 100644 +--- a/addons/urdfreader/thirdparty/CMakeLists.txt ++++ b/addons/urdfreader/thirdparty/CMakeLists.txt +@@ -1,7 +1,9 @@ +-FIND_FILE(URDF_MODULE CMakeLists.txt PATHS ${CMAKE_CURRENT_SOURCE_DIR}/urdfparser NO_DEFAULT_PATH) +-IF (URDF_MODULE STREQUAL URDF_MODULE-NOTFOUND) +- MESSAGE(FATAL_ERROR "The urdfreader module was not initalized correctly! Please make sure that you recursively cloned rbdl. For more information take a closer look at the README!") +-ENDIF(URDF_MODULE STREQUAL URDF_MODULE-NOTFOUND) ++SET(URDF_MODULE "${CMAKE_CURRENT_SOURCE_DIR}/urdfparser/CMakeLists.txt") ++IF (NOT EXISTS "${URDF_MODULE}") ++ MESSAGE(FATAL_ERROR "The urdfreader module was not initialized correctly!\n" ++ "The required file '${URDF_MODULE}' does not exist.\n" ++ "Please make sure that you recursively cloned rbdl. For more information take a closer look at the README!") ++ENDIF() + ADD_SUBDIRECTORY( + urdfparser + ) +diff --git a/include/rbdl/rbdl_eigenmath.h b/include/rbdl/rbdl_eigenmath.h +index 917eb41..8cf2f8c 100644 +--- a/include/rbdl/rbdl_eigenmath.h ++++ b/include/rbdl/rbdl_eigenmath.h +@@ -44,15 +44,11 @@ class RBDL_TEMPLATE_DLLAPI Vector2_t : public Eigen::Vector2d + const double& v0, const double& v1 + ) + { +- Base::_check_template_params(); +- + (*this) << v0, v1; + } + + void set(const double& v0, const double& v1) + { +- Base::_check_template_params(); +- + (*this) << v0, v1; + } + }; +@@ -81,15 +77,11 @@ class RBDL_TEMPLATE_DLLAPI Vector3_t : public Eigen::Vector3d + const double& v0, const double& v1, const double& v2 + ) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2; + } + + void set(const double& v0, const double& v1, const double& v2) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2; + } + }; +@@ -120,8 +112,6 @@ class RBDL_TEMPLATE_DLLAPI Matrix3_t : public Eigen::Matrix3d + const double& m20, const double& m21, const double& m22 + ) + { +- Base::_check_template_params(); +- + (*this) + << m00, m01, m02, + m10, m11, m12, +@@ -154,15 +144,11 @@ class RBDL_TEMPLATE_DLLAPI Vector4_t : public Eigen::Vector4d + const double& v0, const double& v1, const double& v2, const double& v3 + ) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2, v3; + } + + void set(const double& v0, const double& v1, const double& v2, const double& v3) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2, v3; + } + }; +@@ -192,8 +178,6 @@ class RBDL_TEMPLATE_DLLAPI SpatialVector_t : public Eigen::Matrix + const double& v3, const double& v4, const double& v5 + ) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2, v3, v4, v5; + } + +@@ -202,8 +186,6 @@ class RBDL_TEMPLATE_DLLAPI SpatialVector_t : public Eigen::Matrix + const double& v3, const double& v4, const double& v5 + ) + { +- Base::_check_template_params(); +- + (*this) << v0, v1, v2, v3, v4, v5; + } + }; +@@ -235,8 +217,6 @@ class RBDL_TEMPLATE_DLLAPI Matrix4_t : public Eigen::Matrix + const Scalar& m30, const Scalar& m31, const Scalar& m32, const Scalar& m33 + ) + { +- Base::_check_template_params(); +- + (*this) + << m00, m01, m02, m03 + , m10, m11, m12, m13 +@@ -252,8 +232,6 @@ class RBDL_TEMPLATE_DLLAPI Matrix4_t : public Eigen::Matrix + const Scalar& m30, const Scalar& m31, const Scalar& m32, const Scalar& m33 + ) + { +- Base::_check_template_params(); +- + (*this) + << m00, m01, m02, m03 + , m10, m11, m12, m13 +@@ -292,8 +270,6 @@ class RBDL_TEMPLATE_DLLAPI SpatialMatrix_t : public Eigen::Matrix + const Scalar& m50, const Scalar& m51, const Scalar& m52, const Scalar& m53, const Scalar& m54, const Scalar& m55 + ) + { +- Base::_check_template_params(); +- + (*this) + << m00, m01, m02, m03, m04, m05 + , m10, m11, m12, m13, m14, m15 +@@ -313,8 +289,6 @@ class RBDL_TEMPLATE_DLLAPI SpatialMatrix_t : public Eigen::Matrix + const Scalar& m50, const Scalar& m51, const Scalar& m52, const Scalar& m53, const Scalar& m54, const Scalar& m55 + ) + { +- Base::_check_template_params(); +- + (*this) + << m00, m01, m02, m03, m04, m05 + , m10, m11, m12, m13, m14, m15 diff --git a/ports/rbdl/portfile.cmake b/ports/rbdl/portfile.cmake index 425c88d970..61d47c0c6e 100644 --- a/ports/rbdl/portfile.cmake +++ b/ports/rbdl/portfile.cmake @@ -3,18 +3,20 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RBDL_STATIC) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rbdl/rbdl - REF 619175a441ba769ab1be34a727644f4dd13bf841 - SHA512 0c6cd78c4385e582f481a6f92d5c3a01f5d3bcd3a7cc3417a504209dae1856d788157db8d9f4173493619f103dea323bd57ddae0bc63162d72b03031dae9a822 + REF "v${VERSION}" + SHA512 85128dd7184a876d541278ebe0f986774c7c891b4925f320e14932f6809f8bbd07ef4b5d915afe9b49c2245bd494012993ae6643631f4157e3d217e9eccb6e48 HEAD_REF master + PATCHES + 0001-fix-eigen3.patch ) -vcpkg_from_github( - OUT_SOURCE_PATH PARSER_SOURCE_PATH - REPO ORB-HD/URDF_Parser - REF 8fcc3174743cf3e7561ffb6625524f8133161df4 - SHA512 6cba22e98f23e74fd7c1dcb356d88b5e24c61913dc900e584ed313b1fcce5d6832ceafcf15a3ea7a56714ab82d3cd7d9f4350d3d242614561c836bd4735e3f4f -) if(NOT EXISTS "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser/CMakeLists.txt") + vcpkg_from_github( + OUT_SOURCE_PATH PARSER_SOURCE_PATH + REPO ORB-HD/URDF_Parser + REF 8fcc3174743cf3e7561ffb6625524f8133161df4 + SHA512 6cba22e98f23e74fd7c1dcb356d88b5e24c61913dc900e584ed313b1fcce5d6832ceafcf15a3ea7a56714ab82d3cd7d9f4350d3d242614561c836bd4735e3f4f + ) file(REMOVE_RECURSE "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") file(RENAME "${PARSER_SOURCE_PATH}" "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") endif() @@ -38,4 +40,4 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RBDL PACKAGE_NAME RBDL) vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rbdl/vcpkg.json b/ports/rbdl/vcpkg.json index f06685bc95..a6ce7f1d31 100644 --- a/ports/rbdl/vcpkg.json +++ b/ports/rbdl/vcpkg.json @@ -1,7 +1,6 @@ { "name": "rbdl", - "version": "3.3.0", - "port-version": 7, + "version": "3.3.1", "description": "Rigid Body Dynamics Library", "homepage": "https://github.com/rbdl/rbdl", "dependencies": [ diff --git a/ports/robotraconteur-companion/0001-support-eigen3-5.patch b/ports/robotraconteur-companion/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..e0804cc379 --- /dev/null +++ b/ports/robotraconteur-companion/0001-support-eigen3-5.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 531f4c5..beff998 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,7 @@ endif() + + find_package(RobotRaconteur 0.17.0 REQUIRED) + find_package(yaml-cpp REQUIRED) +-find_package(Eigen3 3.3 REQUIRED NO_MODULE) ++find_package(Eigen3 3.3...5 REQUIRED NO_MODULE) + find_package(OpenCV) + + if(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/robdef/group1") diff --git a/ports/robotraconteur-companion/portfile.cmake b/ports/robotraconteur-companion/portfile.cmake index 232cb952ef..ca6936e80f 100644 --- a/ports/robotraconteur-companion/portfile.cmake +++ b/ports/robotraconteur-companion/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 8bee3f71f6f1cedc6af9b30d32ed16515c2c117a4d43c3b6304c799fe90447056c5e447f573c96018c57112d9c174de422c16eba3a27b5c1343e88377d7e4117 HEAD_REF master + PATCHES + 0001-support-eigen3-5.patch ) vcpkg_from_github( diff --git a/ports/robotraconteur-companion/vcpkg.json b/ports/robotraconteur-companion/vcpkg.json index caaa860908..25a3ff3fb8 100644 --- a/ports/robotraconteur-companion/vcpkg.json +++ b/ports/robotraconteur-companion/vcpkg.json @@ -1,6 +1,7 @@ { "name": "robotraconteur-companion", "version-semver": "0.4.2", + "port-version": 1, "homepage": "https://github.com/robotraconteur/robotraconteur_companion", "license": "Apache-2.0", "supports": "(windows & (x86 | x64)) | (linux & (x86 | x64 | arm64 | arm32)) | (osx & (x64 | arm64))", diff --git a/ports/scenepic/fix-CMakeInstall.patch b/ports/scenepic/0001-fix-dependencies.patch similarity index 52% rename from ports/scenepic/fix-CMakeInstall.patch rename to ports/scenepic/0001-fix-dependencies.patch index e78955cdc2..d803b49f2b 100644 --- a/ports/scenepic/fix-CMakeInstall.patch +++ b/ports/scenepic/0001-fix-dependencies.patch @@ -1,8 +1,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a2a14bb..7a06c65 100644 +index 6df6915..de73c67 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -186,8 +186,8 @@ endif() +@@ -100,13 +100,11 @@ FetchContent_Declare( + + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + +-if(NOT TARGET Eigen3::Eigen) +- FetchContent_GetProperties(eigen) +- if(NOT eigen_POPULATED) +- FetchContent_Populate(eigen) +- set( BUILD_TESTING OFF ) +- add_subdirectory(${eigen_SOURCE_DIR} ${eigen_BINARY_DIR} EXCLUDE_FROM_ALL) +- endif() ++find_package(Eigen3 REQUIRED) ++ ++if(Eigen3_FOUND) ++ set( BUILD_TESTING OFF ) ++ include_directories(${EIGEN3_INCLUDE_DIR}) + if(NOT TARGET Eigen3::Eigen) + add_library(Eigen3::Eigen ALIAS eigen) + endif() +@@ -194,8 +192,8 @@ endif() # -------------------- Install ------------------------------------ set(INSTALL_CONFIGDIR cmake) @@ -13,7 +32,7 @@ index a2a14bb..7a06c65 100644 install(TARGETS scenepic EXPORT scenepic-targets -@@ -195,7 +195,7 @@ install(TARGETS scenepic +@@ -203,7 +201,7 @@ install(TARGETS scenepic LIBRARY DESTINATION ${INSTALL_LIBDIR} ) @@ -22,6 +41,18 @@ index a2a14bb..7a06c65 100644 if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") install(FILES $/scenepic.pdb +diff --git a/src/include/scenepic/matrix.h b/src/include/scenepic/matrix.h +index c93e3c5..0e723da 100644 +--- a/src/include/scenepic/matrix.h ++++ b/src/include/scenepic/matrix.h +@@ -9,6 +9,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/src/scenepic/CMakeLists.txt b/src/scenepic/CMakeLists.txt index f3d9673..916ab28 100644 --- a/src/scenepic/CMakeLists.txt diff --git a/ports/scenepic/fix_dependencies.patch b/ports/scenepic/fix_dependencies.patch deleted file mode 100644 index 88c7407343..0000000000 --- a/ports/scenepic/fix_dependencies.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a2db3db..a10a942 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -100,13 +100,11 @@ FetchContent_Declare( - - set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) - --if(NOT TARGET Eigen3::Eigen) -- FetchContent_GetProperties(eigen) -- if(NOT eigen_POPULATED) -- FetchContent_Populate(eigen) -- set( BUILD_TESTING OFF ) -- add_subdirectory(${eigen_SOURCE_DIR} ${eigen_BINARY_DIR} EXCLUDE_FROM_ALL) -- endif() -+find_package(Eigen3 3.4.0 REQUIRED) -+ -+if(Eigen3_FOUND) -+ set( BUILD_TESTING OFF ) -+ include_directories(${EIGEN3_INCLUDE_DIR}) - if(NOT TARGET Eigen3::Eigen) - add_library(Eigen3::Eigen ALIAS eigen) - endif() diff --git a/ports/scenepic/portfile.cmake b/ports/scenepic/portfile.cmake index 2c0a379a02..73f97eb146 100644 --- a/ports/scenepic/portfile.cmake +++ b/ports/scenepic/portfile.cmake @@ -7,8 +7,7 @@ vcpkg_from_github( SHA512 79c20697051ef7061a51cc73f232e5ba83f8bc5a62ee3b9a4d55182112b201c805c25461fcd6699cc6db70c4439b116d1d27e66cd4e431471438ac7968836eed HEAD_REF main PATCHES - "fix_dependencies.patch" - "fix-CMakeInstall.patch" + 0001-fix-dependencies.patch ) # Run npm install and npm run build on the cloned project diff --git a/ports/scenepic/vcpkg.json b/ports/scenepic/vcpkg.json index df86cc9749..869aec929b 100644 --- a/ports/scenepic/vcpkg.json +++ b/ports/scenepic/vcpkg.json @@ -1,6 +1,7 @@ { "name": "scenepic", "version": "1.1.1", + "port-version": 1, "description": "A Powerful, easy to use, and portable visualization toolkit for mixed 3D and 2D content", "homepage": "https://microsoft.github.io/scenepic/", "license": "MIT", diff --git a/ports/sophus/0001-support-eigen3-5.patch b/ports/sophus/0001-support-eigen3-5.patch new file mode 100644 index 0000000000..7454f17514 --- /dev/null +++ b/ports/sophus/0001-support-eigen3-5.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c4f3185..5147fa4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -49,7 +49,7 @@ endif() + # example defined by a parent project including Sophus via `add_subdirectory`.) + + if(NOT TARGET Eigen3::Eigen) +- find_package(Eigen3 3.4.0 REQUIRED) ++ find_package(Eigen3 REQUIRED) + endif() + + # Define interface library target diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake index 2f05e41104..24cc410a04 100644 --- a/ports/sophus/portfile.cmake +++ b/ports/sophus/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strasdat/Sophus - REF 1.24.6-rc1 - SHA512 c1ba40b823cabce3fe83f528837ac111f4d746d6679fb920abd7be32de149c0937bb9a5049da156aec28a9b9fedbebae76a056de12707c01c5cb40dc9197c3e4 + REF 1.24.6 + SHA512 cbc01e92c8361937194bed320ac84a7cfd8b71ecc3a842d3d3c9796ff52a08d13aa0b4f30184c4c7ddc223da0141a80176382c8b25a328e53fa00c4627511ec3 HEAD_REF main + PATCHES + 0001-support-eigen3-5.patch ) vcpkg_cmake_configure( diff --git a/ports/sophus/vcpkg.json b/ports/sophus/vcpkg.json index 4a42b5fe10..8a66bb7216 100644 --- a/ports/sophus/vcpkg.json +++ b/ports/sophus/vcpkg.json @@ -1,6 +1,6 @@ { "name": "sophus", - "version": "1.24.6-r1", + "version": "1.24.6", "description": "Lie group library for C++", "homepage": "https://github.com/strasdat/Sophus", "license": "MIT", diff --git a/ports/vowpal-wabbit/fix-external-libraries.patch b/ports/vowpal-wabbit/fix-external-libraries.patch index 00e8ac7982..e31d48e339 100644 --- a/ports/vowpal-wabbit/fix-external-libraries.patch +++ b/ports/vowpal-wabbit/fix-external-libraries.patch @@ -14,9 +14,10 @@ index e03de86..073db1c 100644 @@ -101,8 +99,7 @@ endif() if(VW_EIGEN_SYS_DEP) # Since EXACT is not specified, any version compatible with 3.4.0 is accepted (>= 3.4.0) - find_package(Eigen3 3.4.0 CONFIG REQUIRED) +- find_package(Eigen3 3.4.0 CONFIG REQUIRED) - add_library(eigen INTERFACE) - target_include_directories(eigen INTERFACE ${EIGEN3_INCLUDE_DIR}) ++ find_package(Eigen3 3.4.0...5 CONFIG REQUIRED) + add_library(eigen ALIAS Eigen3::Eigen) else() if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/eigen/CMakeLists.txt) diff --git a/ports/vowpal-wabbit/vcpkg.json b/ports/vowpal-wabbit/vcpkg.json index da00c9bdbb..c499df0ecb 100644 --- a/ports/vowpal-wabbit/vcpkg.json +++ b/ports/vowpal-wabbit/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vowpal-wabbit", "version": "9.10.0", - "port-version": 3, + "port-version": 4, "description": "Reduction based online learning framework with a focus on contextual bandits and reinforcement learning.", "homepage": "https://github.com/vowpalwabbit/vowpal_wabbit", "license": "BSD-3-Clause", diff --git a/ports/vtk/fix-eigen3.patch b/ports/vtk/fix-eigen3.patch new file mode 100644 index 0000000000..af2e1cbe80 --- /dev/null +++ b/ports/vtk/fix-eigen3.patch @@ -0,0 +1,65 @@ +diff --git a/CMake/FindEigen3.cmake b/CMake/FindEigen3.cmake +deleted file mode 100644 +index 103690ed5a..0000000000 +--- a/CMake/FindEigen3.cmake ++++ /dev/null +@@ -1,33 +0,0 @@ +-find_path(Eigen3_INCLUDE_DIR +- NAMES signature_of_eigen3_matrix_library +- PATH_SUFFIXES eigen3 eigen +- DOC "Eigen include directory") +-mark_as_advanced(Eigen3_INCLUDE_DIR) +- +-if (Eigen3_INCLUDE_DIR) +- file(STRINGS "${Eigen3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _Eigen3_version_lines +- REGEX "#define[ \t]+EIGEN_(WORLD|MAJOR|MINOR)_VERSION") +- string(REGEX REPLACE ".*EIGEN_WORLD_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_world "${_Eigen3_version_lines}") +- string(REGEX REPLACE ".*EIGEN_MAJOR_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_major "${_Eigen3_version_lines}") +- string(REGEX REPLACE ".*EIGEN_MINOR_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_minor "${_Eigen3_version_lines}") +- set(Eigen3_VERSION "${_Eigen3_version_world}.${_Eigen3_version_major}.${_Eigen3_version_minor}") +- unset(_Eigen3_version_world) +- unset(_Eigen3_version_major) +- unset(_Eigen3_version_minor) +- unset(_Eigen3_version_lines) +-endif () +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(Eigen3 +- REQUIRED_VARS Eigen3_INCLUDE_DIR +- VERSION_VAR Eigen3_VERSION) +- +-if (Eigen3_FOUND) +- set(Eigen3_INCLUDE_DIRS "${Eigen3_INCLUDE_DIR}") +- +- if (NOT TARGET Eigen3::Eigen3) +- add_library(Eigen3::Eigen3 INTERFACE IMPORTED) +- set_target_properties(Eigen3::Eigen3 PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES "${Eigen3_INCLUDE_DIR}") +- endif () +-endif () +diff --git a/CMake/vtkInstallCMakePackage.cmake b/CMake/vtkInstallCMakePackage.cmake +index 7dbd33024c..343910c144 100644 +--- a/CMake/vtkInstallCMakePackage.cmake ++++ b/CMake/vtkInstallCMakePackage.cmake +@@ -93,7 +93,6 @@ configure_file( + set(vtk_cmake_module_files + Finddouble-conversion.cmake + FindDirectX.cmake +- FindEigen3.cmake + FindEXPAT.cmake + FindExprTk.cmake + FindFFMPEG.cmake +diff --git a/ThirdParty/eigen/CMakeLists.txt b/ThirdParty/eigen/CMakeLists.txt +index 38e1bdc3b1..f9ce623c44 100644 +--- a/ThirdParty/eigen/CMakeLists.txt ++++ b/ThirdParty/eigen/CMakeLists.txt +@@ -14,7 +14,8 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS + EXTERNAL + PACKAGE Eigen3 +- TARGETS Eigen3::Eigen3 ++ TARGETS Eigen3::Eigen ++ CONFIG_MODE + STANDARD_INCLUDE_DIRS) + + configure_file( diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index d5872008b6..241635c4f5 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -47,10 +47,11 @@ vcpkg_from_github( use-compile-tools.diff zspace.diff # https://gitlab.kitware.com/vtk/vtk/-/commit/01a8bd7a917d33892f67a8d76ce7fc4b524d56b4 mpi-language.diff + fix-eigen3.patch ) # ============================================================================= -#Overwrite outdated modules if they have not been patched: +# Overwrite outdated modules if they have not been patched: file(COPY "${CURRENT_PORT_DIR}/FindHDF5.cmake" DESTINATION "${SOURCE_PATH}/CMake/patches/99") # due to usage of targets in netcdf-c file(REMOVE "${SOURCE_PATH}/CMake/FindOGG.cmake") @@ -257,8 +258,6 @@ endif() # ============================================================================= # Configure & Install - - # We set all libraries to "system" and explicitly list the ones that should use embedded copies vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json index cd5af93b85..f9855e4016 100644 --- a/ports/vtk/vcpkg.json +++ b/ports/vtk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vtk", "version-semver": "9.3.0-pv5.12.1", - "port-version": 13, + "port-version": 14, "description": "Software system for 3D computer graphics, image processing, and visualization", "homepage": "https://github.com/Kitware/VTK", "license": null, diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index 78ed656002..aae65562a4 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -61,6 +61,11 @@ blitz:arm64-windows=fail caf(android | uwp)=fail casclib(uwp)=fail cctag:x64-windows-static-md=fail +cctag[cuda]:x64-linux=feature-fails +cctag[cuda]:x64-windows-release=feature-fails +cctag[cuda]:x64-windows-release=feature-fails +cctag[cuda]:x64-windows-static=feature-fails +cctag[cuda]:x64-windows=feature-fails cello(uwp)=fail clamav:arm64-windows=fail clapack(android)=fail # needs target configuration data @@ -434,7 +439,6 @@ dlib[cuda]:x86-windows = cascade dlib[cuda](osx) = cascade dlib[cuda](uwp) = cascade dv-processing:arm64-uwp = cascade -dv-processing:arm64-windows = cascade dv-processing:x64-uwp = cascade dv-processing[tools](uwp) = cascade easycl:arm64-uwp = cascade @@ -1117,7 +1121,7 @@ openmama:arm64-uwp = cascade openmama:arm64-windows = cascade openmama:x64-uwp = cascade openmama:x64-windows-static = cascade -openmvg[opencv,software](arm & windows) = cascade +openmvg[software](arm & windows) = cascade openmvg(uwp) = cascade openmvs[cuda]((!windows | !x64 | uwp | xbox) & (!linux | !x64) & (!linux | !arm64)) = cascade openmvs(uwp) = cascade @@ -1722,7 +1726,6 @@ opencv3[ffmpeg] = feature-fails # ffmpeg5+ is not supported under opencv3. See h opencv3[halide](linux | osx) = feature-fails # Same as opencv4[halide] opencv3[opengl](android) = feature-fails opencv3[opengl](linux | osx) = no-separate-feature-test # needs gui (gtk | qt) -opencv3[sfm](android) = feature-fails opencv4[core,cuda,world](windows)=options opencv4[halide](!android & !(windows & staticcrt) & !uwp & !(arm & windows))=feature-fails # error C2039: 'attachHalide': is not a member of 'cv::dnn::GeluFunctor' opencv4[opengl]:x64-linux=feature-fails @@ -1730,7 +1733,10 @@ opencv4[opengl](android)=feature-fails opencv4[opengl](windows & !uwp)=feature-fails # Option WITH_OPENGL is enabled but corresponding dependency have not been found: "HAVE_OPENGL" is FALSE opencv4[ovis](android)=feature-fails openmvg[core](arm & windows & !uwp) = combination-fails # nmmintrin.h(17): fatal error C1189: #error: This header is specific to X86, X64, ARM64, and ARM64EC targets. See https://github.com/microsoft/vcpkg/issues/33746 +openmvg[opencv](arm & windows & !uwp) = feature-fails openmvg[openmp](arm & windows & !uwp) = feature-fails +openmvg[software]:x64-windows-static = feature-fails +openmvg[software]:x64-windows-static-md = feature-fails openmvs[cuda]:x64-linux = feature-fails openmvs[cuda]:x64-windows-static = feature-fails openscap[python](!windows) = feature-fails # CI image lacks swig @@ -1774,9 +1780,10 @@ vlpp[tools](linux) = feature-fails # See https://github.com/microsoft/vcpkg/issu vlpp[tools](osx) = feature-fails # error: use of undeclared identifier 'PATH_MAX' vsgqt(android) = fail # https://github.com/vsg-dev/vsgQt/pull/53 vtk[all](!windows & !android & !osx) = feature-fails # Wait for fix: https://github.com/microsoft/vcpkg/pull/29260 -vtk[all,python]:x64-windows-static-md = feature-fails # vtk[*] dbg: defaultlib 'MSVCRT' conflicts with use of other libs due to python +vtk[core,all,atlmfc,cgns,cuda,debugleaks,fontconfig,gdal,geojson,libharu,libtheora,mpi,netcdf,opengl,openmp,openvr,paraview,proj,qt,seacas,sql,tbb,utf8,vtkm]:x64-windows-static-md = combination-fails vtk[core,python,paraview]:x64-linux = options # paraview's transitive gfortran linkage breaks python vtk[openmp](osx) = feature-fails +vtk[python]:x64-windows-static-md = feature-fails # vtk[*] dbg: defaultlib 'MSVCRT' conflicts with use of other libs due to python vtk-m[cuda](windows & !arm64) = feature-fails vtk-m[omp](osx) = feature-fails # no openmp on default osx toolchain vtk-m[omp](windows) = feature-fails # needs openmp 4.0, msvc has openmp 2.0 diff --git a/versions/baseline.json b/versions/baseline.json index 5fa17e32a9..5de2aa0fe4 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1642,7 +1642,7 @@ }, "cctag": { "baseline": "1.0.4", - "port-version": 0 + "port-version": 1 }, "cctz": { "baseline": "2.5", @@ -1670,7 +1670,7 @@ }, "ceres": { "baseline": "2.2.0", - "port-version": 5 + "port-version": 6 }, "cfitsio": { "baseline": "3.49", @@ -1734,7 +1734,7 @@ }, "chronoengine": { "baseline": "8.0.0", - "port-version": 1 + "port-version": 2 }, "cialloo-rcon": { "baseline": "1.0.0", @@ -2342,7 +2342,7 @@ }, "dartsim": { "baseline": "6.15.0", - "port-version": 5 + "port-version": 6 }, "dataframe": { "baseline": "3.7.0", @@ -2601,7 +2601,7 @@ "port-version": 0 }, "dv-processing": { - "baseline": "2.0.1", + "baseline": "2.0.2", "port-version": 0 }, "dx": { @@ -2709,8 +2709,8 @@ "port-version": 0 }, "eigen3": { - "baseline": "3.4.1", - "port-version": 1 + "baseline": "5.0.1", + "port-version": 0 }, "eipscanner": { "baseline": "1.3.0", @@ -2918,7 +2918,7 @@ }, "fcl": { "baseline": "0.7.0", - "port-version": 4 + "port-version": 5 }, "fdk-aac": { "baseline": "2.0.3", @@ -3185,8 +3185,8 @@ "port-version": 4 }, "g2o": { - "baseline": "2024-12-14", - "port-version": 5 + "baseline": "2024-12-28", + "port-version": 0 }, "g3log": { "baseline": "2.6", @@ -3554,7 +3554,7 @@ }, "gtsam": { "baseline": "4.2.0", - "port-version": 1 + "port-version": 2 }, "guetzli": { "baseline": "2020-09-14", @@ -4037,7 +4037,7 @@ "port-version": 0 }, "itk": { - "baseline": "5.4.3", + "baseline": "5.4.4", "port-version": 0 }, "itlib": { @@ -4738,7 +4738,7 @@ }, "libczi": { "baseline": "0.67.2", - "port-version": 0 + "port-version": 1 }, "libdatachannel": { "baseline": "0.24.0", @@ -5042,7 +5042,7 @@ }, "libinterpolate": { "baseline": "2.7.2", - "port-version": 0 + "port-version": 1 }, "libirecovery": { "baseline": "2023-05-13", @@ -6046,7 +6046,7 @@ }, "ltla-cppirlba": { "baseline": "2.0.2", - "port-version": 0 + "port-version": 1 }, "ltla-cppkmeans": { "baseline": "4.0.4", @@ -6190,7 +6190,7 @@ }, "manif": { "baseline": "0.0.5", - "port-version": 0 + "port-version": 1 }, "manifold": { "baseline": "3.2.1", @@ -7210,11 +7210,11 @@ }, "opencv3": { "baseline": "3.4.20", - "port-version": 0 + "port-version": 1 }, "opencv4": { "baseline": "4.12.0", - "port-version": 0 + "port-version": 1 }, "opendnp3": { "baseline": "3.1.2", @@ -7278,11 +7278,11 @@ }, "openmvg": { "baseline": "2.1", - "port-version": 2 + "port-version": 3 }, "openmvs": { "baseline": "2.1.0", - "port-version": 7 + "port-version": 8 }, "openni2": { "baseline": "2.2.0.33", @@ -7426,7 +7426,7 @@ }, "pagmo2": { "baseline": "2.19.1", - "port-version": 0 + "port-version": 1 }, "paho-mqtt": { "baseline": "1.3.15", @@ -7498,7 +7498,7 @@ }, "pcl": { "baseline": "1.15.1", - "port-version": 0 + "port-version": 1 }, "pcre": { "baseline": "8.45", @@ -8473,8 +8473,8 @@ "port-version": 1 }, "rbdl": { - "baseline": "3.3.0", - "port-version": 7 + "baseline": "3.3.1", + "port-version": 0 }, "re2": { "baseline": "2025-11-05", @@ -8674,7 +8674,7 @@ }, "robotraconteur-companion": { "baseline": "0.4.2", - "port-version": 0 + "port-version": 1 }, "rocksdb": { "baseline": "10.4.2", @@ -8834,7 +8834,7 @@ }, "scenepic": { "baseline": "1.1.1", - "port-version": 0 + "port-version": 1 }, "scintilla": { "baseline": "5.5.6", @@ -9249,7 +9249,7 @@ "port-version": 3 }, "sophus": { - "baseline": "1.24.6-r1", + "baseline": "1.24.6", "port-version": 0 }, "soqt": { @@ -10414,7 +10414,7 @@ }, "vowpal-wabbit": { "baseline": "9.10.0", - "port-version": 3 + "port-version": 4 }, "vs-yasm": { "baseline": "0.5.0", @@ -10442,7 +10442,7 @@ }, "vtk": { "baseline": "9.3.0-pv5.12.1", - "port-version": 13 + "port-version": 14 }, "vtk-compile-tools": { "baseline": "9.3.0-pv5.12.1", diff --git a/versions/c-/cctag.json b/versions/c-/cctag.json index d50eb95f09..e52156f88d 100644 --- a/versions/c-/cctag.json +++ b/versions/c-/cctag.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3f54ca33b00b33092cdc48fd6fce3d25495a4426", + "version-semver": "1.0.4", + "port-version": 1 + }, { "git-tree": "ce8749684cd638c95c3e2ff15ea713ae11cd991d", "version-semver": "1.0.4", diff --git a/versions/c-/ceres.json b/versions/c-/ceres.json index 0833094a48..8df059dcd2 100644 --- a/versions/c-/ceres.json +++ b/versions/c-/ceres.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "96cf5bb8c4f52057b347db0a6c88f83f32d80938", + "version": "2.2.0", + "port-version": 6 + }, { "git-tree": "da138ec4e0e7cccd3a1b448af30fd13abb6235b7", "version": "2.2.0", diff --git a/versions/c-/chronoengine.json b/versions/c-/chronoengine.json index 40ab007e8e..c12ae13648 100644 --- a/versions/c-/chronoengine.json +++ b/versions/c-/chronoengine.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c889698787962a6469880f44933b8fb84a199f95", + "version": "8.0.0", + "port-version": 2 + }, { "git-tree": "7db5f822e4f4debf9b0b9400a3050fff89dca5c7", "version": "8.0.0", diff --git a/versions/d-/dartsim.json b/versions/d-/dartsim.json index 20ee66e210..a02a077254 100644 --- a/versions/d-/dartsim.json +++ b/versions/d-/dartsim.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8923c1b29c08a783df07c025b20f3cc366cd849f", + "version": "6.15.0", + "port-version": 6 + }, { "git-tree": "9f0f05a131132b7cf6e81dff077b22812e42e71a", "version": "6.15.0", diff --git a/versions/d-/dv-processing.json b/versions/d-/dv-processing.json index a3cf6395e2..7e5c9f1b5a 100644 --- a/versions/d-/dv-processing.json +++ b/versions/d-/dv-processing.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7905ca395b38c29b5d1e05d14bacd4266b542a96", + "version": "2.0.2", + "port-version": 0 + }, { "git-tree": "1001d3deb1bbb50c7dcf33a89117b411f491124b", "version": "2.0.1", diff --git a/versions/e-/eigen3.json b/versions/e-/eigen3.json index 1091e4209f..1d1854edd7 100644 --- a/versions/e-/eigen3.json +++ b/versions/e-/eigen3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d76be65aad61fe24ae3d70c10fca0bd2c592308e", + "version": "5.0.1", + "port-version": 0 + }, { "git-tree": "ea6ed04401cca325eff95c17cc0d01326a3c6a85", "version": "3.4.1", diff --git a/versions/f-/fcl.json b/versions/f-/fcl.json index 1de77f24ec..9aa7fe0ce2 100644 --- a/versions/f-/fcl.json +++ b/versions/f-/fcl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "01512768a327562b4e3b7c55a4f7cc8255736b96", + "version": "0.7.0", + "port-version": 5 + }, { "git-tree": "c579ae1dd0494bc4ce7266fb3f4063cf06017fda", "version": "0.7.0", diff --git a/versions/g-/g2o.json b/versions/g-/g2o.json index a66df341cf..b4a977f093 100644 --- a/versions/g-/g2o.json +++ b/versions/g-/g2o.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "95b5e795045b54fc940f70b1ea2ff6f3c1e2e25b", + "version-date": "2024-12-28", + "port-version": 0 + }, { "git-tree": "bba68d23af872af24aeeaf3a14cb3e0265f4d151", "version-date": "2024-12-14", diff --git a/versions/g-/gtsam.json b/versions/g-/gtsam.json index 16106a62eb..5fb54351f2 100644 --- a/versions/g-/gtsam.json +++ b/versions/g-/gtsam.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a624959f90d8bb11e218a292848fff0a31e177a5", + "version": "4.2.0", + "port-version": 2 + }, { "git-tree": "dadafa88d5125e1f2984266b23444c241d8dba02", "version": "4.2.0", diff --git a/versions/i-/itk.json b/versions/i-/itk.json index 822a1ea2bf..975a84c146 100644 --- a/versions/i-/itk.json +++ b/versions/i-/itk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "786e8e21cd7685b239e5c454ffc0cef289f7a91a", + "version": "5.4.4", + "port-version": 0 + }, { "git-tree": "b1df2b67b330a3b5f3cf99884f1f71b1a308e6b6", "version": "5.4.3", diff --git a/versions/l-/libczi.json b/versions/l-/libczi.json index 3a354b1521..6fd77faeed 100644 --- a/versions/l-/libczi.json +++ b/versions/l-/libczi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "77c3bd1c126791ce8ecc5b6e79d7fcb8df1827de", + "version": "0.67.2", + "port-version": 1 + }, { "git-tree": "29f11013966fda96463f8b817d962c87706d30e4", "version": "0.67.2", diff --git a/versions/l-/libinterpolate.json b/versions/l-/libinterpolate.json index 4cc34222a9..7ec77e9a51 100644 --- a/versions/l-/libinterpolate.json +++ b/versions/l-/libinterpolate.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4b9be387780b7b39b6cd96ef064f9c79201bb1e3", + "version": "2.7.2", + "port-version": 1 + }, { "git-tree": "988f6b9d813ef9fee41ee11e9387409defaac22f", "version": "2.7.2", diff --git a/versions/l-/ltla-cppirlba.json b/versions/l-/ltla-cppirlba.json index 1f23368bae..59d5e88164 100644 --- a/versions/l-/ltla-cppirlba.json +++ b/versions/l-/ltla-cppirlba.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f64be8821822004f766791ab2865e8d8e6ef3db3", + "version": "2.0.2", + "port-version": 1 + }, { "git-tree": "09c366d323bb1062dd1a51fd019d62692f83e333", "version": "2.0.2", diff --git a/versions/m-/manif.json b/versions/m-/manif.json index e45ecf8f6e..e51dfd4c6b 100644 --- a/versions/m-/manif.json +++ b/versions/m-/manif.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ee3548b40ebb27013bacd8b6d4bdcc9160a57703", + "version": "0.0.5", + "port-version": 1 + }, { "git-tree": "a42f06eab26de6a24426fdcf6b0c914bf863fb63", "version": "0.0.5", diff --git a/versions/o-/opencv3.json b/versions/o-/opencv3.json index f6197787c6..5b100f7beb 100644 --- a/versions/o-/opencv3.json +++ b/versions/o-/opencv3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "463f53721cfa935828d3fd9cfcc89a8ddf426628", + "version": "3.4.20", + "port-version": 1 + }, { "git-tree": "9058081f84a29712d9758047d0decc6dd61439f3", "version": "3.4.20", diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json index eb5b6756d4..4aa56b5972 100644 --- a/versions/o-/opencv4.json +++ b/versions/o-/opencv4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2dd9b5e8ea99670d3fcb0e45303aa7dc66a1a8f5", + "version": "4.12.0", + "port-version": 1 + }, { "git-tree": "66f8dced6fe206c5dbe9481ed6e45414e3e96a0b", "version": "4.12.0", diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 6d607ea272..1cff7d0bc7 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0114098d479fd69ed1e1bd25504443108b9f88db", + "version": "2.1", + "port-version": 3 + }, { "git-tree": "26f65270e3a45107e6e23f45dc8837143d77fb90", "version": "2.1", diff --git a/versions/o-/openmvs.json b/versions/o-/openmvs.json index 9b346986db..8c8efab2c1 100644 --- a/versions/o-/openmvs.json +++ b/versions/o-/openmvs.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "180701ef9b2ef5a070917ab46687231efef250a2", + "version": "2.1.0", + "port-version": 8 + }, { "git-tree": "6d824efc50d1c478cde43b1838b5e13eb9e3addb", "version": "2.1.0", diff --git a/versions/p-/pagmo2.json b/versions/p-/pagmo2.json index ea6729174a..498b76cb03 100644 --- a/versions/p-/pagmo2.json +++ b/versions/p-/pagmo2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f38ed65a09e604e74ab96a2877249215af53af63", + "version": "2.19.1", + "port-version": 1 + }, { "git-tree": "299fff9dc6a18da12c34fe585137b7787b4c90f2", "version": "2.19.1", diff --git a/versions/p-/pcl.json b/versions/p-/pcl.json index b907a8aabc..205763b14a 100644 --- a/versions/p-/pcl.json +++ b/versions/p-/pcl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3a0bafd7f2dd8f94ff0472c124f04227a65bb682", + "version": "1.15.1", + "port-version": 1 + }, { "git-tree": "355c97b4bb2ed3fcb7928dcfbda833109ca617d0", "version": "1.15.1", diff --git a/versions/r-/rbdl.json b/versions/r-/rbdl.json index 3394686a2f..d25e412fa6 100644 --- a/versions/r-/rbdl.json +++ b/versions/r-/rbdl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8b019be51a2dc20b04a91f7ce5bc23e67de4e211", + "version": "3.3.1", + "port-version": 0 + }, { "git-tree": "1dc8279017fb2aa827bcaf37fcf9e6af6b8bb751", "version": "3.3.0", diff --git a/versions/r-/robotraconteur-companion.json b/versions/r-/robotraconteur-companion.json index ce0715e576..cf58c0aca4 100644 --- a/versions/r-/robotraconteur-companion.json +++ b/versions/r-/robotraconteur-companion.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d96b2913b98c2b0c267078e21cd9e99d93ac3734", + "version-semver": "0.4.2", + "port-version": 1 + }, { "git-tree": "96ef1842bbd28e5d714e6f4b3c6aebc0a7705cbc", "version-semver": "0.4.2", diff --git a/versions/s-/scenepic.json b/versions/s-/scenepic.json index 9468005504..786775c121 100644 --- a/versions/s-/scenepic.json +++ b/versions/s-/scenepic.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6e8030aaa1eb613d8e24ea49b8856d7c11b1fea6", + "version": "1.1.1", + "port-version": 1 + }, { "git-tree": "fc61189e9e83da1481c0e2e822e1af0c1b0e214e", "version": "1.1.1", diff --git a/versions/s-/sophus.json b/versions/s-/sophus.json index 2cf9f73410..e171119333 100644 --- a/versions/s-/sophus.json +++ b/versions/s-/sophus.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "49be1b6ceb9d34ecbf5a7256a5a670315b9083dc", + "version": "1.24.6", + "port-version": 0 + }, { "git-tree": "00175a8c00123bfc1f5b85458c457f2c313c7abb", "version": "1.24.6-r1", diff --git a/versions/v-/vowpal-wabbit.json b/versions/v-/vowpal-wabbit.json index 61048acb7c..60adc4f97b 100644 --- a/versions/v-/vowpal-wabbit.json +++ b/versions/v-/vowpal-wabbit.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5bd7448c095c20485a0c5986a21a36c9dbc799b0", + "version": "9.10.0", + "port-version": 4 + }, { "git-tree": "22e382e620d49854bd068472c49e1e7ac237ab94", "version": "9.10.0", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index ff4de0519b..4912254563 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "86f81ec3d5ff811d205139756a3fb47b22c032a9", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 14 + }, { "git-tree": "8ff6c94473bcb9575780025c9483582dd9148351", "version-semver": "9.3.0-pv5.12.1",