diff --git a/ports/dv-processing/0001-support-eigen3-5.patch b/ports/dv-processing/0001-support-eigen3-5.patch deleted file mode 100644 index 40ef30a2be..0000000000 --- a/ports/dv-processing/0001-support-eigen3-5.patch +++ /dev/null @@ -1,99 +0,0 @@ -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 24f903f7cf..6d0c8aa0fc 100644 --- a/ports/dv-processing/portfile.cmake +++ b/ports/dv-processing/portfile.cmake @@ -1,59 +1,57 @@ -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com/inivation - OUT_SOURCE_PATH SOURCE_PATH - REPO dv/dv-processing - REF "${VERSION}" - SHA512 535680686214d9d44efa8281d9b7cb424e93a662b0742f02a07616ca6b1d313779f03845489059b082481aafd9a83eca20f5315a4b5319e8dc956a15ca790afa - HEAD_REF master - PATCHES - 0001-support-eigen3-5.patch -) - -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com/inivation - OUT_SOURCE_PATH CMAKEMOD_SOURCE_PATH - REPO dv/cmakemod - REF d107c76b73a49a16c3ac733749152037406a515e - SHA512 fe87530ce5fecfe5d1ccdc6a06addc652167c67c4707d9039bf2f022ced2966dc8295b8ed69c3d4154b965f0dd22f43a8830eb4f03e99ff3edfe38de759bd0d5 - HEAD_REF d107c76b73a49a16c3ac733749152037406a515e -) - -file(GLOB CMAKEMOD_FILES "${CMAKEMOD_SOURCE_PATH}/*") -file(COPY ${CMAKEMOD_FILES} DESTINATION "${SOURCE_PATH}/cmake/modules") - -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools DVP_ENABLE_UTILITIES -) - -vcpkg_find_acquire_program(PKGCONFIG) - -set(VCPKG_BUILD_TYPE release) # no lib binaries - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE # writes to include/dv-processing/version.hpp - OPTIONS - "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" - ${FEATURE_OPTIONS} - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - -DCMAKE_REQUIRE_FIND_PACKAGE_lz4=ON - -DCMAKE_REQUIRE_FIND_PACKAGE_zstd=ON - -DDVP_ENABLE_TESTS=OFF - -DDVP_ENABLE_SAMPLES=OFF - -DDVP_ENABLE_PYTHON=OFF - -DDVP_ENABLE_BENCHMARKS=OFF - -DDVP_BUILD_CONFIG_VCPKG=ON -) - -vcpkg_cmake_install() - -if(DVP_ENABLE_UTILITIES) - vcpkg_copy_tools(TOOL_NAMES dv-filestat dv-imu-bias-estimation dv-list-devices dv-tcpstat AUTO_CLEAN) -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # pkgconfig only, but incomplete - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com/inivation + OUT_SOURCE_PATH SOURCE_PATH + REPO dv/dv-processing + REF "${VERSION}" + SHA512 b53d59120b65aee8cfa8a524a5b9779c55687c649d847e20f344b246dd800aa639a31fe12e2f1cd810f38db743ec8051b9f6fbe895486e318942b86daab114c2 + HEAD_REF master +) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com/inivation + OUT_SOURCE_PATH CMAKEMOD_SOURCE_PATH + REPO dv/cmakemod + REF d107c76b73a49a16c3ac733749152037406a515e + SHA512 fe87530ce5fecfe5d1ccdc6a06addc652167c67c4707d9039bf2f022ced2966dc8295b8ed69c3d4154b965f0dd22f43a8830eb4f03e99ff3edfe38de759bd0d5 + HEAD_REF d107c76b73a49a16c3ac733749152037406a515e +) + +file(GLOB CMAKEMOD_FILES "${CMAKEMOD_SOURCE_PATH}/*") +file(COPY ${CMAKEMOD_FILES} DESTINATION "${SOURCE_PATH}/cmake/modules") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools DVP_ENABLE_UTILITIES +) + +vcpkg_find_acquire_program(PKGCONFIG) + +set(VCPKG_BUILD_TYPE release) # no lib binaries + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # writes to include/dv-processing/version.hpp + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + ${FEATURE_OPTIONS} + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_lz4=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_zstd=ON + -DDVP_ENABLE_TESTS=OFF + -DDVP_ENABLE_SAMPLES=OFF + -DDVP_ENABLE_PYTHON=OFF + -DDVP_ENABLE_BENCHMARKS=OFF + -DDVP_BUILD_CONFIG_VCPKG=ON +) + +vcpkg_cmake_install() + +if(DVP_ENABLE_UTILITIES) + vcpkg_copy_tools(TOOL_NAMES dv-filestat dv-imu-bias-estimation dv-list-devices dv-tcpstat AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # pkgconfig only, but incomplete + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/dv-processing/vcpkg.json b/ports/dv-processing/vcpkg.json index 4bd869d69d..c2a2b32872 100644 --- a/ports/dv-processing/vcpkg.json +++ b/ports/dv-processing/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dv-processing", - "version": "2.0.2", + "version": "2.0.3", "description": "Generic algorithms for event cameras. (C++20 required.)", "homepage": "https://gitlab.com/inivation/dv/dv-processing", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index 6cfc00db23..3409f36e71 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2673,7 +2673,7 @@ "port-version": 0 }, "dv-processing": { - "baseline": "2.0.2", + "baseline": "2.0.3", "port-version": 0 }, "dx": { diff --git a/versions/d-/dv-processing.json b/versions/d-/dv-processing.json index 7e5c9f1b5a..471e2a9461 100644 --- a/versions/d-/dv-processing.json +++ b/versions/d-/dv-processing.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "16eecab93455e6de3efa389ed7df98062bdb3993", + "version": "2.0.3", + "port-version": 0 + }, { "git-tree": "7905ca395b38c29b5d1e05d14bacd4266b542a96", "version": "2.0.2",