From a56322f64aba7c92fb23a5afb3bea064f7cdd042 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:12:14 +0000 Subject: [PATCH 01/46] Support Eigen 5 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5851511..bb3efb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) find_package(pybind11 CONFIG REQUIRED) # Find Eigen 3.4+ -find_package(Eigen3 3.4 REQUIRED) +find_package(Eigen3 3.4...5 REQUIRED) # Add project sources to python module file(GLOB SOURCES src/*.cpp) From 5b953feeeb63afcdeaf7163f9f7054c76e606267 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:12:20 +0000 Subject: [PATCH 02/46] Update cibuildhweel action --- .github/workflows/build_wheels.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index b68cae5..54b4660 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -14,20 +14,19 @@ jobs: strategy: matrix: # Note: builds on these are backward compatible - # macos-13 is an intel runner, macos-14 is apple silicon - os: [ubuntu-latest, macos-13, macos-14, windows-latest] + os: [ubuntu-latest, macos-15-intel, macos-15, windows-latest] steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v4.2.1 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value env: # List of platforms to build on - CIBW_BUILD: cp3{10,11,12,13}-manylinux_x86_64 cp3{10,11,12,13}-macosx_x86_64 cp3{10,11,12,13}-macosx_arm64 cp3{10,11,12,13}-win_amd64 + CIBW_BUILD: cp3{10,11,12,13,14}-manylinux_x86_64 cp3{10,11,12,13,14}-macosx_x86_64 cp3{10,11,12,13,14}-macosx_arm64 cp3{10,11,12,13,14}-win_amd64 # Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_LINUX: > From 9c262ff7ab9b5cb530dbf4aeba032f18ab0d3db1 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:23:21 +0000 Subject: [PATCH 03/46] [CI] Find Eigen --- .github/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 51e670e..69b8a0c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10","3.11","3.12","3.13"] + python-version: ["3.10","3.11","3.12","3.13","3.14"] steps: - uses: actions/checkout@v4 @@ -28,6 +28,7 @@ jobs: run: | eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" brew install eigen pybind11 + export CMAKE_PREFIX_PATH="/home/linuxbrew/.linuxbrew/opt/eigen" pip install . - name: Tests run: | From 352ea3eb577e66a6bb434382d966301eac77d1a8 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:25:02 +0000 Subject: [PATCH 04/46] [CI] Find Eigen differently --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 69b8a0c..6c3695c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: run: | eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" brew install eigen pybind11 - export CMAKE_PREFIX_PATH="/home/linuxbrew/.linuxbrew/opt/eigen" + export Eigen3_DIR="/home/linuxbrew/.linuxbrew/opt/eigen/share/eigen3/cmake" pip install . - name: Tests run: | From 65919b596511d65433f21d2bab66a2d6b6a0866e Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:29:44 +0000 Subject: [PATCH 05/46] [CI] Try to find Eigen again... --- .github/workflows/test.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6c3695c..fc7cff9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,8 +28,10 @@ jobs: run: | eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" brew install eigen pybind11 - export Eigen3_DIR="/home/linuxbrew/.linuxbrew/opt/eigen/share/eigen3/cmake" - pip install . + export CPLUS_INCLUDE_PATH="/home/linuxbrew/.linuxbrew/opt/eigen/include/eigen3:$CPLUS_INCLUDE_PATH" + export CMAKE_PREFIX_PATH="/home/linuxbrew/.linuxbrew/opt/eigen" + export CMAKE_ARGS="-DCMAKE_PREFIX_PATH=/home/linuxbrew/.linuxbrew/opt/eigen" + pip install . --no-build-isolation - name: Tests run: | pip install numpy --only-binary=numpy From 78487944901826d273866e4e8a8c74462e3b1473 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:31:19 +0000 Subject: [PATCH 06/46] [CI] And again... --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fc7cff9..1e5cbff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: export CPLUS_INCLUDE_PATH="/home/linuxbrew/.linuxbrew/opt/eigen/include/eigen3:$CPLUS_INCLUDE_PATH" export CMAKE_PREFIX_PATH="/home/linuxbrew/.linuxbrew/opt/eigen" export CMAKE_ARGS="-DCMAKE_PREFIX_PATH=/home/linuxbrew/.linuxbrew/opt/eigen" - pip install . --no-build-isolation + pip install . - name: Tests run: | pip install numpy --only-binary=numpy From cafd5c6addca916991590ca605b92435fedef28e Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:43:42 +0000 Subject: [PATCH 07/46] Support Eigen 5 all --- src/findiff.h | 7 +++++++ src/lhs.h | 7 +++++++ src/multistart.h | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/src/findiff.h b/src/findiff.h index 88c7056..c9bb7dc 100644 --- a/src/findiff.h +++ b/src/findiff.h @@ -14,6 +14,13 @@ #include #include +// Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes +#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +namespace Eigen { + using namespace Eigen::placeholders; +} +#endif + /* * Forward finite difference approximation to the Jacobian * diff --git a/src/lhs.h b/src/lhs.h index 98b83fc..0205749 100644 --- a/src/lhs.h +++ b/src/lhs.h @@ -14,6 +14,13 @@ #include +// Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes +#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +namespace Eigen { + using namespace Eigen::placeholders; +} +#endif + /* * Generate Latin Hypercube Design on [0,1]^n * diff --git a/src/multistart.h b/src/multistart.h index 5f21156..5732307 100644 --- a/src/multistart.h +++ b/src/multistart.h @@ -13,6 +13,13 @@ #include "regularisation.h" +// Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes +#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +namespace Eigen { + using namespace Eigen::placeholders; +} +#endif + /* * Multistart adaptive quadratic regularisation * From 5c258abbc98181606dc8b9997b419c2b1df885bf Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:52:03 +0000 Subject: [PATCH 08/46] Simplify macros --- src/findiff.h | 2 +- src/lhs.h | 2 +- src/multistart.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/findiff.h b/src/findiff.h index c9bb7dc..b347054 100644 --- a/src/findiff.h +++ b/src/findiff.h @@ -15,7 +15,7 @@ #include // Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes -#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4 namespace Eigen { using namespace Eigen::placeholders; } diff --git a/src/lhs.h b/src/lhs.h index 0205749..9857402 100644 --- a/src/lhs.h +++ b/src/lhs.h @@ -15,7 +15,7 @@ #include // Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes -#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4 namespace Eigen { using namespace Eigen::placeholders; } diff --git a/src/multistart.h b/src/multistart.h index 5732307..e174b38 100644 --- a/src/multistart.h +++ b/src/multistart.h @@ -14,7 +14,7 @@ #include "regularisation.h" // Eigen 5.0 moved all to the placeholders namespace to prevent global name clashes -#if EIGEN_WORLD_VERSION >= 5 || (EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4) +#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION > 4 namespace Eigen { using namespace Eigen::placeholders; } From 34d5f6f2873d7cba54ab79eb73ebe07af081dac2 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 10:58:11 +0000 Subject: [PATCH 09/46] [CI] use system Eigen on manylinux --- .github/workflows/build_wheels.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 54b4660..98be04b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -28,19 +28,8 @@ jobs: # List of platforms to build on CIBW_BUILD: cp3{10,11,12,13,14}-manylinux_x86_64 cp3{10,11,12,13,14}-macosx_x86_64 cp3{10,11,12,13,14}-macosx_arm64 cp3{10,11,12,13,14}-win_amd64 - # Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4) - CIBW_BEFORE_ALL_LINUX: > - sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && - sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && - yum install -y wget && - wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz && - tar xzf eigen-3.4.0.tar.gz && - cd eigen-3.4.0 && - mkdir build && - cd build && - cmake .. && - make install && - cd ../.. + # Install Eigen and pybind11 on manylinux images + CIBW_BEFORE_ALL_LINUX: yum install -y eigen3-devel CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From 8fda001257c3e15e3b3a7c3256e2f774c1824dd4 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:02:09 +0000 Subject: [PATCH 10/46] Drop unsupported license classifier --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 76e0aee..5e0f49f 100644 --- a/setup.py +++ b/setup.py @@ -132,7 +132,7 @@ def build_extension(self, ext): "Documentation": "https://ralna.github.io/GOFit/", "Source Code": "https://github.com/ralna/gofit/", }, - license='New BSD', + license='BSD-3-Clause', keywords = "mathematics optimization", classifiers=[ 'Development Status :: 5 - Production/Stable', @@ -140,7 +140,6 @@ def build_extension(self, ext): 'Framework :: IPython', 'Framework :: Jupyter', 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: BSD License', 'Operating System :: Unix', 'Programming Language :: Python', 'Programming Language :: Python :: 3', From 779619ad4faf34c38e4b54bc627834aa5a6fa988 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:05:38 +0000 Subject: [PATCH 11/46] [CI] Add include path for macOS --- .github/workflows/build_wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 98be04b..e62aead 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -34,6 +34,7 @@ jobs: # Install Eigen and pybind11 on macOS CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 + CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3'" # Install Eigen and pybind11 on Windows CIBW_BEFORE_ALL_WINDOWS: choco install eigen From 4d132b1bb85ac3ca166f22eb5f67b5d8faa2b25c Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:11:45 +0000 Subject: [PATCH 12/46] [CI] Pull in latest Eigen for Linux --- .github/workflows/build_wheels.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index e62aead..559671c 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -28,8 +28,17 @@ jobs: # List of platforms to build on CIBW_BUILD: cp3{10,11,12,13,14}-manylinux_x86_64 cp3{10,11,12,13,14}-macosx_x86_64 cp3{10,11,12,13,14}-macosx_arm64 cp3{10,11,12,13,14}-win_amd64 - # Install Eigen and pybind11 on manylinux images - CIBW_BEFORE_ALL_LINUX: yum install -y eigen3-devel + # Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4) + CIBW_BEFORE_ALL_LINUX: > + yum install -y wget && + wget https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz && + tar xzf eigen-5.0.1.tar.gz && + cd eigen-5.0.1 && + mkdir build && + cd build && + cmake .. && + make install && + cd ../.. CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From 83d28a94fb9ab068d08fa1af9448400660bb854e Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:28:12 +0000 Subject: [PATCH 13/46] [CI] Install Eigen 5 on Windows --- .github/workflows/build_wheels.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 559671c..3210763 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -45,8 +45,16 @@ jobs: CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3'" - # Install Eigen and pybind11 on Windows - CIBW_BEFORE_ALL_WINDOWS: choco install eigen + # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) + CIBW_BEFORE_ALL_WINDOWS: """ + powershell -Command "\ + Invoke-WebRequest \ + -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip \ + -OutFile eigen.zip; \ + Expand-Archive eigen.zip -DestinationPath C:\\eigen; \ + Move-Item C:\\eigen\\eigen-5.0.1 C:\\eigen\\include\ + " + """ CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From d50d675dc398fd800f5ee232d2b1ef0684201bdf Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:35:46 +0000 Subject: [PATCH 14/46] [CI] Fix syntax --- .github/workflows/build_wheels.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 3210763..1ba063b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -46,15 +46,8 @@ jobs: CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3'" # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) - CIBW_BEFORE_ALL_WINDOWS: """ - powershell -Command "\ - Invoke-WebRequest \ - -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip \ - -OutFile eigen.zip; \ - Expand-Archive eigen.zip -DestinationPath C:\\eigen; \ - Move-Item C:\\eigen\\eigen-5.0.1 C:\\eigen\\include\ - " - """ + CIBW_BEFORE_ALL_WINDOWS: | + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen; Move-Item C:\eigen\eigen-5.0.1 C:\eigen\include" CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 575c0c3c8865a5b69724585e865914d570198c1a Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 11:44:18 +0000 Subject: [PATCH 15/46] [CI] Find eigen on Intel macs --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 1ba063b..4e55130 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -43,7 +43,7 @@ jobs: # Install Eigen and pybind11 on macOS CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 - CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3'" + CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3:/usr/local/include/eigen3'" # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | From d3730db4d33c01b65c29fc64505d3c14e15dee97 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:22:24 +0000 Subject: [PATCH 16/46] [CI] Find eigen on Windows --- .github/workflows/build_wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 4e55130..6d13268 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,6 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen; Move-Item C:\eigen\eigen-5.0.1 C:\eigen\include" + CIBW_ENVIRONMENT_WINDOWS: 'INCLUDE="C:\eigen\include;\$INCLUDE"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 9a5e981c0dd70c3f0bf1e0162eaf92ad1c7f5c84 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:30:57 +0000 Subject: [PATCH 17/46] [CI] Try again... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 6d13268..d2e52a4 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -43,12 +43,12 @@ jobs: # Install Eigen and pybind11 on macOS CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 - CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3:/usr/local/include/eigen3'" + CIBW_ENVIRONMENT_MACOS: 'CMAKE_PREFIX_PATH="$(brew --prefix)"' # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen; Move-Item C:\eigen\eigen-5.0.1 C:\eigen\include" - CIBW_ENVIRONMENT_WINDOWS: 'INCLUDE="C:\eigen\include;\$INCLUDE"' + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 0118a7e3f31fceb2d2f470c3ae310a0a2e684041 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:34:10 +0000 Subject: [PATCH 18/46] [CI] Trying to be too clever... --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index d2e52a4..3e553c0 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -43,7 +43,7 @@ jobs: # Install Eigen and pybind11 on macOS CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 - CIBW_ENVIRONMENT_MACOS: 'CMAKE_PREFIX_PATH="$(brew --prefix)"' + CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3:/usr/local/include/eigen3'" # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | From d42e9fc5cbd4fe300788e1e8aef207570816e5ff Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:40:45 +0000 Subject: [PATCH 19/46] [CI] I hate Windows... --- .github/workflows/build_wheels.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 3e553c0..7ac013b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,7 +47,12 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen; Move-Item C:\eigen\eigen-5.0.1 C:\eigen\include" + powershell -Command " ` + Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; ` + Expand-Archive eigen.zip -DestinationPath C:\eigen-src; ` + cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen; ` + cmake --install C:\eigen-build ` + " CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel From 807276127f0add698aa6c7039af64b3839f1aeac Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:45:17 +0000 Subject: [PATCH 20/46] [CI] And powershell... --- .github/workflows/build_wheels.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 7ac013b..df198f6 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,12 +47,12 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command " ` - Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; ` - Expand-Archive eigen.zip -DestinationPath C:\eigen-src; ` - cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen; ` - cmake --install C:\eigen-build ` - " + powershell -Command { + Invoke-WebRequest -Uri "https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip" -OutFile "eigen.zip" + Expand-Archive -Path "eigen.zip" -DestinationPath "C:\eigen-src" + cmake -S "C:\eigen-src\eigen-5.0.1" -B "C:\eigen-build" -DCMAKE_INSTALL_PREFIX="C:\eigen" + cmake --install "C:\eigen-build" + } CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel From f346534d2642fe0e7c418ae8c7789d26e3718062 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:49:37 +0000 Subject: [PATCH 21/46] [CI] ... --- .github/workflows/build_wheels.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index df198f6..8225c72 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,12 +47,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command { - Invoke-WebRequest -Uri "https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip" -OutFile "eigen.zip" - Expand-Archive -Path "eigen.zip" -DestinationPath "C:\eigen-src" - cmake -S "C:\eigen-src\eigen-5.0.1" -B "C:\eigen-build" -DCMAKE_INSTALL_PREFIX="C:\eigen" - cmake --install "C:\eigen-build" - } + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen; cmake --install C:\eigen-build" CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel From f872eac94f57ca32aabc031559aa6757e08c83a6 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:54:25 +0000 Subject: [PATCH 22/46] [CI] Fix Eigen install on Windows --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 8225c72..4594c61 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,7 +47,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen; cmake --install C:\eigen-build" + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_PKGCONFIG=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel From 2b32bd43c612f7482a0b1ab86c19256b588edc10 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 12:59:37 +0000 Subject: [PATCH 23/46] [CI] Fix Eigen install on Windows again --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 4594c61..719f35e 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,7 +47,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_PKGCONFIG=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel From 8b98f59051e44c8fb5209b8d537f345fdb842b05 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 13:55:53 +0000 Subject: [PATCH 24/46] [CI] Getting there... --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 719f35e..a209d2d 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,7 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen" INCLUDE="C:\eigen\include\eigen3;\$INCLUDE"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 9126e54eccb441a3d9ecfe77352e6eb741135910 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:00:02 +0000 Subject: [PATCH 25/46] [CI] Almost... --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index a209d2d..1b1a64b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,7 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen" INCLUDE="C:\eigen\include\eigen3;\$INCLUDE"' + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen" CMAKE_INCLUDE_PATH="C:\eigen\include\eigen3"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From df7e76fbb35a8303fa833b7296e0b269a48c393e Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:08:09 +0000 Subject: [PATCH 26/46] [CI] I Think... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 1b1a64b..5ca549e 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen" CMAKE_INCLUDE_PATH="C:\eigen\include\eigen3"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; New-Item -ItemType Junction -Path C:\eigen\include\Eigen -Target C:\eigen\include\eigen3\Eigen" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 6e9ca59dc71757ecc28dd195c157940e8c2cd5e2 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:16:53 +0000 Subject: [PATCH 27/46] [CI] Maybe... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 5ca549e..6b03aee 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; New-Item -ItemType Junction -Path C:\eigen\include\Eigen -Target C:\eigen\include\eigen3\Eigen" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=./eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install eigen-build" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 7258da1f6546794154fbf29bf7e85dd8c80ea026 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:22:48 +0000 Subject: [PATCH 28/46] [CI] Or maybe not... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 6b03aee..2c52b50 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=./eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; New-Item -ItemType Directory -Path .\eigen-local\include; Move-Item .\eigen-5.0.1\Eigen .\eigen-local\include\Eigen; Move-Item .\eigen-5.0.1\cmake .\eigen-local\cmake" + CIBW_ENVIRONMENT_WINDOWS: 'Eigen3_DIR="eigen-local/cmake" CMAKE_INCLUDE_PATH="eigen-local/include"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 6bfeef3b641aa2fb3b7af2b3ea1f1fb67c106fe1 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:28:56 +0000 Subject: [PATCH 29/46] [CI] Definitely not... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 2c52b50..742c8e2 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; New-Item -ItemType Directory -Path .\eigen-local\include; Move-Item .\eigen-5.0.1\Eigen .\eigen-local\include\Eigen; Move-Item .\eigen-5.0.1\cmake .\eigen-local\cmake" - CIBW_ENVIRONMENT_WINDOWS: 'Eigen3_DIR="eigen-local/cmake" CMAKE_INCLUDE_PATH="eigen-local/include"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=.\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From eb8f2f541de0fa8f5cbee7a4c78c0b88c42d6656 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:39:34 +0000 Subject: [PATCH 30/46] [CI] Told you... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 742c8e2..ba7fbc1 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=.\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; New-Item -ItemType Directory -Path .\eigen-local\include; Move-Item .\eigen-5.0.1\Eigen .\eigen-local\include\Eigen; New-Item -ItemType Directory -Path .\cmake; Set-Content -Path .\cmake\FindEigen3.cmake -Value 'add_library(Eigen3::Eigen INTERFACE IMPORTED) \n set_target_properties(Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES \"\${CMAKE_CURRENT_SOURCE_DIR}/eigen-local/include\")'" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_MODULE_PATH="cmake"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 53614cb63fa18047cda46cd09541f77056b38c8f Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:49:39 +0000 Subject: [PATCH 31/46] [CI] Hmmm... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index ba7fbc1..9ea96cf 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath .; New-Item -ItemType Directory -Path .\eigen-local\include; Move-Item .\eigen-5.0.1\Eigen .\eigen-local\include\Eigen; New-Item -ItemType Directory -Path .\cmake; Set-Content -Path .\cmake\FindEigen3.cmake -Value 'add_library(Eigen3::Eigen INTERFACE IMPORTED) \n set_target_properties(Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES \"\${CMAKE_CURRENT_SOURCE_DIR}/eigen-local/include\")'" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_MODULE_PATH="cmake"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=.\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Move-Item .\eigen-install\include\eigen3\Eigen .\eigen-install\include\Eigen; (Get-Content .\eigen-install\share\eigen3\cmake\Eigen3Targets.cmake) -replace '/include/eigen3', '/include' | Set-Content .\eigen-install\share\eigen3\cmake\Eigen3Targets.cmake " + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 45a2a8e221cd9bbba52ae30491457b5bd822ddcb Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 14:57:28 +0000 Subject: [PATCH 32/46] [CI] Right... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 9ea96cf..9aed0e8 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=.\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Move-Item .\eigen-install\include\eigen3\Eigen .\eigen-install\include\Eigen; (Get-Content .\eigen-install\share\eigen3\cmake\Eigen3Targets.cmake) -replace '/include/eigen3', '/include' | Set-Content .\eigen-install\share\eigen3\cmake\Eigen3Targets.cmake " - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="eigen-install"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Move-Item C:\eigen-install\include\eigen3\Eigen C:\eigen-install\include\Eigen" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen-install" Eigen3_DIR="C:\eigen-install\share\eigen3\cmake" CMAKE_INCLUDE_PATH="C:\eigen-install\include"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 2e024adc4b3f4fc52a4d611ceadf990e70d45304 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:06:59 +0000 Subject: [PATCH 33/46] [CI] More promising... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 9aed0e8..8456514 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Move-Item C:\eigen-install\include\eigen3\Eigen C:\eigen-install\include\Eigen" - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_PREFIX_PATH="C:\eigen-install" Eigen3_DIR="C:\eigen-install\share\eigen3\cmake" CMAKE_INCLUDE_PATH="C:\eigen-install\include"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" + CIBW_CONFIG_SETTINGS_WINDOWS: "cmake.args=-DCMAKE_PREFIX_PATH=C:\\eigen-install -DCMAKE_INCLUDE_PATH=C:\\eigen-install\\include\\eigen3" CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 95bf6f7c15df98600212b0bed9fe4d4fa33953e1 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:14:20 +0000 Subject: [PATCH 34/46] [CI] Even more promising... --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 8456514..9a5d62f 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,7 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_CONFIG_SETTINGS_WINDOWS: "cmake.args=-DCMAKE_PREFIX_PATH=C:\\eigen-install -DCMAKE_INCLUDE_PATH=C:\\eigen-install\\include\\eigen3" + CIBW_ENVIRONMENT_WINDOWS: 'CL="/I C:\eigen-install\include\eigen3"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 6a19baa08204687605460a62c7bb3ac08d54bc4c Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:20:35 +0000 Subject: [PATCH 35/46] [CI] Seriously? It was this simple?? --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 9a5d62f..026c996 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,7 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CL="/I C:\eigen-install\include\eigen3"' + CIBW_ENVIRONMENT_WINDOWS: "INCLUDE=C:\\eigen-install\\include\\eigen3" CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From d84e98c354c7fd38a3f0b265ba6bebcbcdad2fdd Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:30:14 +0000 Subject: [PATCH 36/46] [CI] It was that simple --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 026c996..86f040f 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -48,7 +48,7 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: "INCLUDE=C:\\eigen-install\\include\\eigen3" + CIBW_ENVIRONMENT_WINDOWS: 'CXXFLAGS="/I C:\eigen-install\include\eigen3"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 35746dd5cd9ae0557e30d22d5e489803a6218c25 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:43:25 +0000 Subject: [PATCH 37/46] [CI] Of course it was not... --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 86f040f..c053892 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,8 +47,8 @@ jobs: # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build" - CIBW_ENVIRONMENT_WINDOWS: 'CXXFLAGS="/I C:\eigen-install\include\eigen3"' + powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Set-Content -Path .\CMakeInitialCache.cmake -Value 'set(CMAKE_PREFIX_PATH \"C:/eigen-install\" CACHE PATH \"\" FORCE) \n set(CMAKE_INCLUDE_PATH \"C:/eigen-install/include/eigen3\" CACHE PATH \"\" FORCE)'" + CIBW_CONFIG_SETTINGS_WINDOWS: "cmake.args=-C;CMakeInitialCache.cmake" CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From 606fec2d5063d4429ef05fff671e03076a5736e5 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:48:58 +0000 Subject: [PATCH 38/46] [CI] Try chocolatey... --- .github/workflows/build_wheels.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index c053892..8d649c0 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -46,9 +46,8 @@ jobs: CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3:/usr/local/include/eigen3'" # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) - CIBW_BEFORE_ALL_WINDOWS: | - powershell -Command "Invoke-WebRequest -Uri https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip -OutFile eigen.zip; Expand-Archive eigen.zip -DestinationPath C:\eigen-src; cmake -S C:\eigen-src\eigen-5.0.1 -B C:\eigen-build -DCMAKE_INSTALL_PREFIX=C:\eigen-install -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF; cmake --install C:\eigen-build; Set-Content -Path .\CMakeInitialCache.cmake -Value 'set(CMAKE_PREFIX_PATH \"C:/eigen-install\" CACHE PATH \"\" FORCE) \n set(CMAKE_INCLUDE_PATH \"C:/eigen-install/include/eigen3\" CACHE PATH \"\" FORCE)'" - CIBW_CONFIG_SETTINGS_WINDOWS: "cmake.args=-C;CMakeInitialCache.cmake" + CIBW_BEFORE_ALL_WINDOWS: "choco install eigen -y" + CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_ARGS="-DCMAKE_PREFIX_PATH=C:\ProgramData\chocolatey\lib\eigen -DCMAKE_INCLUDE_PATH=C:\ProgramData\chocolatey\lib\eigen\include\eigen3"' CIBW_BEFORE_BUILD_WINDOWS: pip install pybind11[global] delvewheel # cibuildwheel doesn't yet ship a default repair command for Windows From b2fb4de5bdab3e6c79ca93ba1868d7456b9ee051 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:54:25 +0000 Subject: [PATCH 39/46] Fix CMakelists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bb3efb8..5851511 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) find_package(pybind11 CONFIG REQUIRED) # Find Eigen 3.4+ -find_package(Eigen3 3.4...5 REQUIRED) +find_package(Eigen3 3.4 REQUIRED) # Add project sources to python module file(GLOB SOURCES src/*.cpp) From 8231b006497363086467226ad97edf00bdbe7af8 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 15:59:47 +0000 Subject: [PATCH 40/46] Fix CMakelists.txt again --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5851511..69e04a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,10 @@ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) find_package(pybind11 CONFIG REQUIRED) # Find Eigen 3.4+ -find_package(Eigen3 3.4 REQUIRED) +find_package(Eigen3 REQUIRED) +if(Eigen3_VERSION VERSION_LESS "3.4.0") + message(FATAL_ERROR "Eigen3 version ${Eigen3_VERSION} is too old. GOFit requires at least version 3.4") +endif() # Add project sources to python module file(GLOB SOURCES src/*.cpp) From 596e5ccf5790d8c85f4d073bbde27208c75a0992 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:12:59 +0000 Subject: [PATCH 41/46] [CI] Faster Eigen install on Linux --- .github/workflows/build_wheels.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 8d649c0..a11770b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -30,15 +30,10 @@ jobs: # Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_LINUX: > - yum install -y wget && - wget https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz && + curl -L https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz && tar xzf eigen-5.0.1.tar.gz && - cd eigen-5.0.1 && - mkdir build && - cd build && - cmake .. && - make install && - cd ../.. + cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=/usr/local -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF && + cmake --install eigen-build CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From f8a0f5f188043a3a5a7b08b5bf2f6e1afe49a3f6 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:17:10 +0000 Subject: [PATCH 42/46] [CI] Fix curl oops --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index a11770b..5010c08 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -30,7 +30,7 @@ jobs: # Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_LINUX: > - curl -L https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz && + curl -L https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz -o eigen-5.0.1.tar.gz && tar xzf eigen-5.0.1.tar.gz && cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=/usr/local -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF && cmake --install eigen-build From 76c0ed43b14d8a8372b3c9504bcc821f472f5487 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:20:58 +0000 Subject: [PATCH 43/46] [CI] Fix stupid Cmake --- .github/workflows/build_wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 5010c08..60b654a 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -33,7 +33,8 @@ jobs: curl -L https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz -o eigen-5.0.1.tar.gz && tar xzf eigen-5.0.1.tar.gz && cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=/usr/local -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF && - cmake --install eigen-build + cmake --install eigen-build && + ln -sf /usr/local/include/eigen3/Eigen /usr/local/include/Eigen CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From 6ed9db89b90c116adc90ef6321dc3f4baa1e5cc9 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:24:17 +0000 Subject: [PATCH 44/46] [CI] This is nicer --- .github/workflows/build_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 60b654a..42f41dd 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -33,8 +33,8 @@ jobs: curl -L https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.gz -o eigen-5.0.1.tar.gz && tar xzf eigen-5.0.1.tar.gz && cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=/usr/local -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF && - cmake --install eigen-build && - ln -sf /usr/local/include/eigen3/Eigen /usr/local/include/Eigen + cmake --install eigen-build + CIBW_ENVIRONMENT_LINUX: 'CMAKE_ARGS="-DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INCLUDE_PATH=/usr/local/include/eigen3"' CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From 7feeef209d37c9d19d3b998371e13ccbf54bab36 Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:28:09 +0000 Subject: [PATCH 45/46] [CI] Even nicer --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 42f41dd..0c7684b 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -34,7 +34,7 @@ jobs: tar xzf eigen-5.0.1.tar.gz && cmake -S eigen-5.0.1 -B eigen-build -DCMAKE_INSTALL_PREFIX=/usr/local -DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_LAPACK=OFF -DBUILD_TESTING=OFF && cmake --install eigen-build - CIBW_ENVIRONMENT_LINUX: 'CMAKE_ARGS="-DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INCLUDE_PATH=/usr/local/include/eigen3"' + CIBW_ENVIRONMENT_LINUX: 'CPATH="/usr/local/include/eigen3"' CIBW_BEFORE_BUILD_LINUX: pip install pybind11[global] # Install Eigen and pybind11 on macOS From 0af2d8a1101aac78326d3c3a880e4f653a89494e Mon Sep 17 00:00:00 2001 From: Jaroslav Fowkes Date: Mon, 21 Sep 2026 16:33:02 +0000 Subject: [PATCH 46/46] [CI] Syntax tweak --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 0c7684b..cfa13fa 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -39,7 +39,7 @@ jobs: # Install Eigen and pybind11 on macOS CIBW_BEFORE_ALL_MACOS: brew install eigen pybind11 - CIBW_ENVIRONMENT_MACOS: "CPLUS_INCLUDE_PATH='/opt/homebrew/include/eigen3:/usr/local/include/eigen3'" + CIBW_ENVIRONMENT_MACOS: 'CPLUS_INCLUDE_PATH="/opt/homebrew/include/eigen3:/usr/local/include/eigen3"' # Install Eigen and pybind11 on Windows images (no brew, need Eigen >= 3.4) CIBW_BEFORE_ALL_WINDOWS: "choco install eigen -y"