Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OMIT_DEPRECATED dependency on submodule defines undesirable #2492

Open
skliper opened this issue Jan 5, 2024 · 0 comments
Open

OMIT_DEPRECATED dependency on submodule defines undesirable #2492

skliper opened this issue Jan 5, 2024 · 0 comments

Comments

@skliper
Copy link
Contributor

skliper commented Jan 5, 2024

Is your feature request related to a problem? Please describe.
Setting OMIT_DEPRECATED=true from the make line should omit all deprecated elements. With the current pattern, submodules have similar prefixed defines like CFE_OMIT_DEPRECATED and the expectation is at the global/mission config level OMIT_DEPRECATED needs to set all the submodule defines. Users don't necessarily keep up with the additions, nor does the cFE example:

if (OMIT_DEPRECATED)
message (STATUS "OMIT_DEPRECATED=true: Not including deprecated elements in build")
add_definitions(-DCFE_OMIT_DEPRECATED_6_8 -DCFE_OMIT_DEPRECATED_6_7 -DCFE_OMIT_DEPRECATED_6_6 -DOSAL_OMIT_DEPRECATED)
set(MISSION_RESOURCEID_MODE "STRICT") # more type safe, but less backward compatible
else()

Note across cFS there's at minimum a CFE_OMIT_DEPRECATED as well as a few app specific ones like SC_OMIT_DEPRECATED.

Describe the solution you'd like
OMIT_DEPRECATED should omit all deprecated elements in a build. Consider at the submodule an or of the generic or submodule specific defines.

Describe alternatives you've considered
Submodule could define the submodule specific ones if the generic one is defined, but if it's a step away from where it's used that could also fall behind (like cFE did).

Additional context
Actual problem that was addressed in nasa/sch_lab#163, where sch_lab was using a deprecated cFE define since it wasn't being excluded correctly in the build CI when using OMIT_DEPRECATED.

Requester Info
Jacob Hageman - NASA/GSFC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant