llnl / llnl/SAMRAI

SAMRAIConfig.cmake should call find_dependency(<thirdparty>) for all third-party packages that SAMRAI uses

Open
#225 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.