Skip to content

Hopefully fix eigen building on windows#162

Merged
poshul merged 1 commit intomasterfrom
fix_eigen
Dec 4, 2025
Merged

Hopefully fix eigen building on windows#162
poshul merged 1 commit intomasterfrom
fix_eigen

Conversation

@poshul
Copy link
Copy Markdown
Contributor

@poshul poshul commented Dec 4, 2025

Summary by CodeRabbit

  • Chores
    • Enhanced build configuration stability by improving process isolation and extending configuration timeout to accommodate more complex dependency setups.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 4, 2025

Walkthrough

Modified libraries.cmake/eigen.cmake to enhance Eigen configuration robustness by implementing null stdin input handling, disabling Fortran compiler detection, and increasing the configure timeout from 300 to 600 seconds.

Changes

Cohort / File(s) Change Summary
Eigen CMake Configuration
libraries.cmake/eigen.cmake
Creates null input file (null_input.txt) to prevent stdin inheritance; disables Fortran compiler via CMAKE_Fortran_COMPILER=NOTFOUND; extends configure timeout to 600 seconds; removes explicit timeout from build/install step while retaining result capture

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Single-file change with straightforward configuration adjustments
  • No complex logic or control flow modifications
  • Configuration parameters (timeouts, compiler flags) and file generation are self-contained
  • Changes follow a consistent pattern and are isolated from broader codebase logic

Poem

A rabbit hops through CMake's test,
Null stdin stops the stdin fest,
More time to wait, no Fortran's call,
Configuration smooth—no stall at all! 🐰✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main objective of the changeset: fixing Eigen library building on Windows through CMake configuration adjustments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix_eigen

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
libraries.cmake/eigen.cmake (2)

28-32: Null-input stdin redirection is a good fix; minor comment/doc nit

Creating null_input.txt and wiring it via INPUT_FILE is a clean way to avoid inherited stdin hangs, especially on Windows. The only nit is that the comment says “Use CMAKE_COMMAND to create an empty file”, while you’re using CMake’s file(WRITE ...) instead; consider rewording the comment so future readers don’t look for a missing -E invocation.


67-72: Build step now has no timeout; confirm intentional removal

Previously the build/install execute_process had a timeout; now it can run indefinitely if the build hangs. That may be exactly what you want (avoid spurious timeouts on slow Windows builders), but it does change failure mode from “timeout” to “potentially stuck job”. Consider either confirming that this is acceptable in your CI, or reintroducing a more generous timeout if you still want protection against hard hangs.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be8c14f and ad77f2c.

📒 Files selected for processing (1)
  • libraries.cmake/eigen.cmake (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build (ubuntu-24.04-arm)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: build (windows-latest)
  • GitHub Check: build (macos-latest)
🔇 Additional comments (1)
libraries.cmake/eigen.cmake (1)

39-46: Disabling Fortran and extending configure timeout: confirm this is acceptable for all targets

Setting CMAKE_Fortran_COMPILER=NOTFOUND will suppress Fortran detection globally for this Eigen configure step, even on platforms where a Fortran toolchain exists. Given that this contrib build only installs headers and already disables testing, that’s probably fine, but worth confirming that no downstream expects Eigen’s CMake to see a Fortran compiler. The increased configure TIMEOUT 600 also seems reasonable for slower Windows setups.

@poshul poshul merged commit 2855524 into master Dec 4, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant