Fix #1207, Add wrapper targets to simplify app builds #1210
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.
Describe the contribution
Adds the following functions to simplify tracking of dependencies and use of interface libraries provided by CFE:
add_cfe_app_dependency - dependency that applies to both FSW and coverage test
add_cfe_coverage_dependency - dependency that applies only to coverage test (i.e. for overrides)
add_cfe_coverage_test - creates object + executable targets for coverage test
add_cfe_coverage_unit_include - add extra include path to unit build (i.e. for overrides)
add_cfe_coverage_stubs - add a stub library for coverage testing other modules
The goal is to reduce/eliminate the need to directly specify any include paths or compile definitions for dependencies, relying
on target properties to do this instead.
Fixes #1207
Testing performed
Build and run all CFE unit tests (this only affects UT, not FSW)
Expected behavior changes
None, just adding the routines for now, sample app/lib will be transitioned to use them in subsequent PR
System(s) tested on
Ubuntu 20.04
Additional context
This is needed as part of preparation for directory reorganization in #1203. These wrapper functions will make it much easier to fixup apps that depended on the old include paths.
With this they shouldn't need to ever refer directly to an include path (or any path) from another target, so it should avoid any future issues if files get moved around again.
See also nasa/sample_lib#46 and nasa/sample_app#126
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.