CMake Install Logic Checklist
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 296
- Forks
- 66
- Avg merge
- 1h 3m
- Merged PRs (30d)
- 1
Description
These will eventually make it into BLT docs as recommendations, but to start our list:
- Provide detailed installed cmake config file that reflects the features that your project was configured with:
https://github.com/LLNL/conduit/blob/develop/src/config/ConduitConfig.cmake.in
- On import, use import relative paths when looking for features and setting up combined targets:
https://github.com/LLNL/conduit/blob/d495f3f820508070210d22e88a910f28dca212cd/src/config/conduit_setup_deps.cmake#L17
https://github.com/LLNL/conduit/blob/d495f3f820508070210d22e88a910f28dca212cd/src/config/conduit_setup_targets.cmake#L67
- On import, resolve any dependencies that have not been found. But default, use paths that reflect the TPLs that your install was configured against. Allow TPL dirs to be overridden in downstream projects via vars like
ZZZ_DIR. Even if you support a different case (zzz_DIRorZzz_DIRORzZz_dIr), also supportZZZ_DIRfor consistency across packages.
- When exporting targets, use a
-targetssuffix in the exported target name, such as:
if you use your project's base name, you can encounter problems:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked Conduit and Axom CMake configuration examples and compare them with the BLT documentation. Add the listed installation and exported-target recommendations to the BLT docs; done means the checklist is captured clearly for users.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100