refactor: replace vendored Eigen copy with shallow git submodule pinned to tag 3.4.0

The eigen/ directory was a byte-identical copy of upstream libeigen/eigen
tag 3.4.0 (commit 3147391d, the same release libCZI pins in
cmake/ExternalEIGEN3.cmake). Replace the copy with a shallow git submodule
(.gitmodules: shallow = true) for verifiable provenance and smaller fork.
The Eigen3::Eigen interface config moves to eigen-cfg/Eigen3Config.cmake
(the Eigen repo only ships the Eigen3Config.cmake.in template), and
build.rs points Eigen3_DIR there.
This commit is contained in:
w.pomp committed 2026-10-29 16:05:34 +01:00
1 parent 4be8fc422f
commit 4d366d1272
345 files changed
+35 -149012

No files matched your search

+6 -5
View File
@@ -151,12 +151,13 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
.define("LIBCZI_BUILD_AZURESDK_BASED_STREAM", "OFF")
.define("LIBCZI_BUILD_PREFER_EXTERNALPACKAGE_RAPIDJSON", "OFF")
.define("LIBCZI_BUILD_LIBCZIAPI", "ON")
// vendored Eigen 3.4.0 headers (eigen/, see its README) so neither a
// network clone (libCZI's gitlab ExternalProject) nor a system
// libeigen3-dev package is required; Eigen3_DIR finds the package
// via eigen/Eigen3Config.cmake
// Eigen 3.4.0 comes from the shallow git submodule (eigen/, pinned
// at the official tag 3.4.0) so neither a network clone (libCZI's
// gitlab ExternalProject) nor a system libeigen3-dev package is
// required; Eigen3_DIR finds the small interface config in
// eigen-cfg/Eigen3Config.cmake
.define("LIBCZI_BUILD_PREFER_EXTERNALPACKAGE_EIGEN3", "ON")
.define("Eigen3_DIR", manifest_dir.join("eigen"));
.define("Eigen3_DIR", manifest_dir.join("eigen-cfg"));
if is_cross {
if is_windows {