SAMRAIConfig.cmake should call find_dependency(<thirdparty>) for all third-party packages that SAMRAI uses
- Dominant language
- C++
- Stars
- 250
- Forks
- 89
- Avg merge
- 34m
- Merged PRs (30d)
- 1
Description
My code uses SAMRAI which is compiled with umpire and RAJA, although my code itself does not use Umpire or RAJA.
In order for my code to compile, I have to explicitly add find_package(umpire) and find_package(RAJA) in my CMakeLists.txt, otherwise the targets of umpire and RAJA will not be imported, and I will have got a linking error. Although I should not need to do this, this should be done by SAMRAIConfig.cmake, the cmake config file of SAMRAI, via find_dependency(umpire) and find_dependency(RAJA), if SAMRAI is compiled with these libraries. This is somehow the standard practice. And downstream codes that use SAMRAI won't need to adjust their CMakeLists.txt depending on the configuration of SAMRAI.
Contributor guide
Research direction
Start with SAMRAIConfig.cmake and inspect how third-party packages are currently handled when SAMRAI is built with them. Check the downstream CMakeLists.txt scenario described in the issue, then verify that consumers can link SAMRAI without explicitly calling find_package for Umpire or RAJA when those dependencies are enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100