Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake updates #1181

Merged
merged 81 commits into from
Jan 3, 2025
Merged

CMake updates #1181

merged 81 commits into from
Jan 3, 2025

Conversation

victorapm
Copy link
Contributor

@victorapm victorapm commented Nov 9, 2024

  • Finalized implementation of HIP support in CMake build
  • Achieve feature parity between CMake and Autotools builds
  • Upgrade CMake minimum required version to 3.21 (required by HIP)
  • Update CMake to use modern keywords and best practices
  • Better status messaging when running cmake
  • Add HYPRE_SetupGPUToolkit.cmake to manage GPU options in cmake build
  • Refactor top-level CMakeLists and moved helper functions to HYPRE_CMakeUtilities.cmake, e.g., setup_git_version_info for configuring and displaying hypre version using git version info
  • Add SOVERSION field to CMake build
  • Enable configuration of third-party libraries (TPLs) via CMake module
  • Add summary table of options used to configure hypre in CMake build
  • Remove HYPRE_INSTALL_PATH in favor of the commonly used CMAKE_INSTALL_PATH
  • Remove HYPRE_BUILD_TYPE in favor of the commonly used CMAKE_BUILD_TYPE
  • Remove HYPRE_ENABLE_SHARED in favor of the commonly used BUILD_SHARED_LIBS
  • Update documentation to reflect mainly CMake changes + a few fixes
  • Add CMake tests to machine-tioga
  • Add CTest support
  • Add HYPRE_ENABLE_LTO option to turn on link-time optimization
  • Add HYPRE_MAYBE_UNUSED_FUNC to mark functions as possibly unused, e.g., static inline functions defined in header files.
  • Add Fortran mangling options to CMake build

Closes #1104
Closes #673
Closes #1084
Closes #1073
Closes #1072
Closes #1039
Closes #907
Closes #767
Closes #757
Closes #771
Closes #501
Closes #473
Closes #228
Closes #928
Closes #508
Closes #555
Closes #502
Closes #464

victorapm and others added 30 commits September 12, 2024 22:51
@victorapm
Copy link
Contributor Author

Thanks for the input, Rob!

Did you accidentally have a cmbuild directory in your source tree when you ran the tests?

Good catch! Sorry for this. I updated cmake.sh and I'm running the tests again to make sure

@rfalgout
Copy link
Contributor

Thanks for the input, Rob!

Did you accidentally have a cmbuild directory in your source tree when you ran the tests?

Good catch! Sorry for this. I updated cmake.sh and I'm running the tests again to make sure

I am fixing the autotest stuff, so don't work on this until I commit my changes. I was done, but have a conflict to fix now. :)

@rfalgout
Copy link
Contributor

Okay, this is all good now. Autotest is fixed and tested as well. I've removed all mention of 'cmbuild' in the repo except for one occurence in cmake.bat that we aren't using and I have no way to test right now anyway. Thanks for all the nice work here! This is going to be awesome!

@victorapm
Copy link
Contributor Author

Sounds great, thanks for the work, Rob! Let me relaunch all tests again with this newest version before merging this branch into master

HYPRE_FMANGLE controls how symbols for Fortran are mangled. This can be
changed via the configure script, but could not be configured during a
CMake build. This change adds 3 options to CMakeLists.txt exposing
HYPRE_FMANGLE, HYPRE_FMANGLE_BLAS, and HYPRE_FMANGLE_LAPACK such that
they can be configured during a CMake build.
@victorapm
Copy link
Contributor Author

@rfalgout regression tests are passing. Would you like to take a final look before we merge this PR? Thank you!

@rfalgout
Copy link
Contributor

rfalgout commented Jan 3, 2025

@rfalgout regression tests are passing. Would you like to take a final look before we merge this PR? Thank you!

Everything looks great, @victorapm ! I only have the question about checktest.sh.

@victorapm victorapm merged commit 6d01417 into master Jan 3, 2025
@victorapm victorapm deleted the cmake-hip branch January 3, 2025 17:30
@victorapm
Copy link
Contributor Author

Thanks Rob and everyone for helping with this PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
8 participants