Skip to content

Conversation

@michaeltryby
Copy link
Collaborator

@michaeltryby michaeltryby commented Aug 30, 2025

This pull request updates build tooling and dependencies for the SWMM Toolkit, focusing on modernizing CMake usage, updating OpenMP integration, and improving compatibility for macOS builds. The changes improve maintainability and ensure the project uses current best practices for building and linking libraries.

Build system modernization:

  • Updated minimum required CMake version in swmm-toolkit/CMakeLists.txt from 3.17 to 4.0.2, ensuring compatibility with newer CMake features.
  • Removed version pinning for build dependencies in build-requirements.txt, allowing installation of the latest compatible versions of setuptools, wheel, scikit-build, and cmake.

OpenMP integration improvements:

  • Refactored extern/openmp.cmake to use OpenMP 17.0.1 (was 12.0.1), added explicit handling for LLVM CMake modules, and improved target linking and compiler options for better compatibility and maintainability.

macOS build compatibility:

  • Changed the macOS build generator in setup.py from Ninja to Xcode and updated the deployment target from 10.9 to 11.0, improving support for recent macOS versions.

SWIG compile definitions:

  • Updated SWIG compile definitions for output and solver targets in src/swmm/toolkit/CMakeLists.txt to explicitly set them to empty, which may resolve build warnings or errors related to macro definitions.

Submodule update:

  • Updated the swmm-solver submodule to a newer commit, pulling in the latest changes from the solver codebase.

@michaeltryby michaeltryby self-assigned this Aug 30, 2025
@michaeltryby
Copy link
Collaborator Author

michaeltryby commented Aug 30, 2025

Actions is failing on all platforms because the series are now end period inclusive. So that means the changes made to the C-API are carrying through the SWIG wrapper. This is a good sign!

@bemcdonnell
Copy link
Member

@michaeltryby, not often enough is failure a sign of succsss. 😂😂😂

@michaeltryby michaeltryby merged commit 6173b78 into pyswmm:dev Aug 30, 2025
0 of 3 checks passed
@michaeltryby michaeltryby deleted the dev-build branch August 30, 2025 16: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