build-all.py - use find_package for eigen3

This commit is contained in:
Andrej730
2025-09-18 12:35:30 +05:00
parent 4d0737c49b
commit 235eb3c83c
2 changed files with 15 additions and 4 deletions
+3 -1
View File
@@ -863,7 +863,9 @@ endif(MSVC)
# Ensure other dependencies are provided. # Ensure other dependencies are provided.
if(NOT EXISTS "${EIGEN_DIR}") if(NOT EXISTS "${EIGEN_DIR}")
find_package(Eigen3 CONFIG) find_package(Eigen3 CONFIG)
if(NOT Eigen3_DIR) if(Eigen3_DIR)
message(STATUS "Eigen3: found config at '${Eigen3_DIR}'.")
else()
message( message(
FATAL_ERROR FATAL_ERROR
"EIGEN_DIR is not provided or provided folder doesn't exist (current value: '${EIGEN_DIR}'). " "EIGEN_DIR is not provided or provided folder doesn't exist (current value: '${EIGEN_DIR}'). "
+12 -3
View File
@@ -135,6 +135,7 @@ JSON_VERSION = "v3.6.1"
OCE_VERSION = "0.18.3" OCE_VERSION = "0.18.3"
OCCT_VERSION = "7.8.1" OCCT_VERSION = "7.8.1"
BOOST_VERSION = "1.86.0" BOOST_VERSION = "1.86.0"
EIGEN_VERSION = "3.3.9"
PCRE_VERSION = "8.41" PCRE_VERSION = "8.41"
PCRE2_VERSION = "10.32" PCRE2_VERSION = "10.32"
LIBXML2_VERSION = "2.13.8" LIBXML2_VERSION = "2.13.8"
@@ -750,8 +751,16 @@ if "json" in targets:
urlretrieve(json_url, json_install_path) urlretrieve(json_url, json_install_path)
if "eigen" in targets: if "eigen" in targets:
git_clone_or_pull_repository( dependency_name = f"eigen-install-{EIGEN_VERSION}"
"https://gitlab.com/libeigen/eigen.git", f"{DEPS_DIR}/install/eigen-3.3.9", revision="3.3.9" build_dependency(
name=f"{dependency_name}",
mode="cmake",
# We add '-install-' in the middle, so it won't be confused with git repo we used previously.
build_tool_args=[
f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/{dependency_name}",
],
download_url=f"https://gitlab.com/libeigen/eigen/-/archive/{EIGEN_VERSION}/",
download_name=f"eigen-{EIGEN_VERSION}.tar.gz",
) )
if "pcre" in targets: if "pcre" in targets:
@@ -1108,7 +1117,6 @@ cmake_args = [
"-DBUILD_SHARED_LIBS=" + OFF_ON[not BUILD_STATIC], "-DBUILD_SHARED_LIBS=" + OFF_ON[not BUILD_STATIC],
"-DGLTF_SUPPORT=ON", "-DGLTF_SUPPORT=ON",
f"-DJSON_INCLUDE_DIR={DEPS_DIR}/install/json", f"-DJSON_INCLUDE_DIR={DEPS_DIR}/install/json",
f"-DEIGEN_DIR={DEPS_DIR}/install/eigen-3.3.9",
"-DBoost_NO_BOOST_CMAKE=On", "-DBoost_NO_BOOST_CMAKE=On",
"-DADD_COMMIT_SHA=" + ("On" if ADD_COMMIT_SHA else "Off"), "-DADD_COMMIT_SHA=" + ("On" if ADD_COMMIT_SHA else "Off"),
"-DVERSION_OVERRIDE=" + ("On" if ADD_COMMIT_SHA else "Off"), "-DVERSION_OVERRIDE=" + ("On" if ADD_COMMIT_SHA else "Off"),
@@ -1116,6 +1124,7 @@ cmake_args = [
"""Default CMake args to use for all CMake configs.""" """Default CMake args to use for all CMake configs."""
cmake_args_prefix_path: list[str] = [ cmake_args_prefix_path: list[str] = [
f"{DEPS_DIR}/install/boost-{BOOST_VERSION}", f"{DEPS_DIR}/install/boost-{BOOST_VERSION}",
f"{DEPS_DIR}/install/eigen-install-{EIGEN_VERSION}",
] ]