nasa / cFE

The Core Flight System (cFS) Core Flight Executive (cFE)
Apache License 2.0
413 stars 202 forks source link

Relax CMake directory expectations for elf2cfetbl #1907

Open astrogeco opened 3 years ago

astrogeco commented 3 years ago

Is your feature request related to a problem? Please describe. See conversation in https://github.com/nasa/cFS/discussions/319

From a dependency / scope standpoint, the cfe_add_tables() function really wants to be defined along with the table tool sources themselves. Then, after finding the table source directory, the cFE CMake infrastructure could import implementations of those cmake functions which are tool-specific. Then cFE and table generation can be decoupled via the cfe_add_tables() interface. In that way, different implementations for cfe_add_tables() can be used depending on the mission config.

Describe the solution you'd like

Create a modifiable CMAKE parameter for the location of elf2cfetbl so users can design custom directory structures

Describe alternatives you've considered

Long-term, let users define custom toolchain compositions using tools other than elf2cfetbl

Additional context See above

astrogeco commented 3 years ago

@jphickey here's the issue I wrote regarding elf2cfetbl

jbohren-hbr commented 3 years ago

@astrogeco I'm down with having a deeper conversation around how to address this in a scalable way.

What do you think about making the add_cfe_tables() function pluggable? It could be defined by whichever project implements the table tool (e.g. elf2cfetbl or eds2cfetbl), and then the CMake function definition could be include()ed in arch_build.cmake.