Skip to content

Conversation

@thilinarmtb
Copy link
Collaborator

No description provided.

@thilinarmtb thilinarmtb force-pushed the split_libocca_target branch 14 times, most recently from 7bf66ef to 07e439f Compare November 7, 2025 16:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors CMake build configuration across the OCCA project. It splits the C and Fortran APIs into separate shared libraries (c_api and fortran_api), reformats all target_sources() and target_link_libraries() calls to use multi-line format for improved readability, and updates linking dependencies throughout the codebase.

Key changes:

  • Created separate c_api and fortran_api shared libraries
  • Reformatted all CMake function calls to use consistent multi-line style
  • Updated all examples and tests to link against the new library targets

Reviewed Changes

Copilot reviewed 38 out of 39 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CMakeLists.txt Reorganized RPATH settings, reformatted library configuration, moved Clang transpiler setup, updated install targets for new libraries
src/c/CMakeLists.txt Created new c_api shared library, reformatted source list
src/fortran/CMakeLists.txt Created new fortran_api shared library, changed from adding sources to libocca to standalone library
src/c/experimental/CMakeLists.txt Updated to add sources to c_api instead of libocca
tests/CMakeLists.txt Added linking to c_api and conditionally to fortran_api, reformatted function calls
examples/CMakeLists.txt Added linking to new API libraries with conditional Fortran support
src/loops/CMakeLists.txt Added target_include_directories configuration
src/functional/CMakeLists.txt Reformatted target_sources call
All other src/**/CMakeLists.txt Consistently reformatted target_sources calls to multi-line format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@thilinarmtb
Copy link
Collaborator Author

thilinarmtb commented Nov 7, 2025

All the tests pass on Polaris with the following commands:

module load gcc-native
module use /soft/modulefiles/
module load spack-pe-base cmake
cmake --workflow --preset gnu-default

@thilinarmtb thilinarmtb merged commit 591e45b into libocca:development Nov 7, 2025
3 checks passed
@thilinarmtb thilinarmtb deleted the split_libocca_target branch November 7, 2025 19:37
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