Create a CMake macro to handle project specific options
- Dominant language
- C++
- Stars
- 245
- Forks
- 36
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 4
Description
`cmake_dependent_option` just doesn't work like I always think it should so we should create our own called `serac_project_specific_option` that encapsulates the behavior we want.
For example:
* `ENABLE_BENCHMARKS` is a global BLT created option, it is used for multiple projects. Allow a user to turn that on and honor it
* Unless the project specific one is set `SERAC_ENABLE_BENCHMARKS` then honor that one.
* Always create a `SERAC_ENABLE_BENCHMARKS` because the rest of our build system is guarded on that
Contributor guide
Research direction
Start by locating existing uses of cmake_dependent_option, ENABLE_BENCHMARKS, and SERAC_ENABLE_BENCHMARKS in the build configuration. Review how BLT options are created and consumed, then define completion as a project-specific macro that consistently applies the stated global and project-specific option behavior and always creates the SERAC option.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100