CMake Modernization: consolidate add library macros, patch targets, parallel options #20040
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Started down the road of updating creating visit_add_executable macro and updating CMakeLists as necessary, ran into a lot of duplication in regards to parallel settings, so decided to try to consolidate all the logic a bit better. This is the result of that effort. The actual executable changes will come later.
Added visit_patch_target to add additional settings to a target.
Added visit_patch_parallel_target which adds all the parallel flags/includes/links to a parallel target. Can be used for a library or an executable.
Modified visit_add_parallel_library to call visit_patch_parallel_target.
Modified the current PARALLEL settings to accommodate changes needed for the new. The old-style will eventually disappear.
Updated some libraries to utilize visit_patch_target.
Type of change
[ ] Bug fix[ ] New feature[ ] Documentation updateCMake modernization.
Checklist:
[ ] I have updated the release notes.[ ] I have made corresponding changes to the documentation.[ ] I have added debugging support to my changes.[ ] I have added tests that prove my fix is effective or that my feature works.[ ] I have confirmed new and existing unit tests pass locally with my changes.[ ] I have added new baselines for any new tests to the repo.[ ] I have NOT made any changes to protocol or public interfaces in an RC branch.