Skip to content

Feat/icx python binding#23

Merged
markleader merged 3 commits intonasa:mainfrom
dfnca:feat/icxPythonBinding
Feb 9, 2026
Merged

Feat/icx python binding#23
markleader merged 3 commits intonasa:mainfrom
dfnca:feat/icxPythonBinding

Conversation

@dfnca
Copy link
Copy Markdown
Contributor

@dfnca dfnca commented Feb 6, 2026

Summary

The C and Python bindings don't build "out of the box" in native Windows with the Intel OneAPI compiler set. This can be a problem in environments where WSL or Msys alternatives are not available. This change updates the build configuration and documentation to successfully build in native Windows using Intel OneAPI while not affecting any other platform / compiler combinations.

This PR addresses Issue #22 .

Changes

Changes to cmake files and python interface test configuration:

  1. Enforces static linking on Windows for Intel /MSVC and when using Intel compilers on Linux
  2. Sets compiler flag to warn on Fortran 2008 non-complance based on platform and compiler
  3. Ensures correct portion of numpy header file is used when compiler is IntelLLVM (icx)
  4. Remove code to insert project python directory in system path as it isn't necessary and causes problems in some environments
  5. Adds documentation that provides a walkthrough for building and installing CEA with C and Python bindings on Windows.

Testing

GNU Fortran (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
ifx (IFX) 2025.3.2 20260112 on ubuntu
Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2025.3.2 Build 20260112 Win 11

Passes ctest and pytest suites on Windows with ifx, ubuntu with gfortran, ifx
test/main_interface/test_main.py produces same result as prior to change (13/14)

Compatibility / Numerical behavior

  • [ X] No expected changes to numerical results
  • Expected changes (explain and provide validation)

@markleader markleader merged commit 83c5234 into nasa:main Feb 9, 2026
8 of 12 checks passed
@dfnca dfnca deleted the feat/icxPythonBinding branch February 9, 2026 21:41
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.

2 participants