Implement modern CMake packaging #429
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Modern CMake packaging requires providing a
FindXYZ.cmake
orXYZconfig.cmake
file and then expecting the application code to usefind_package(FSFW REQUIRED)
. This could be used to configure the FSFW in addition or instead of theFSFWConfig.h
file. It would also allow the user to only compile specific parts of the code through linked targets, e.g. if a user needs the data link layer, they would need to links against theFSFW::DataLinkLayer
and if the user needs RMAP, they would need to link againstFSFW::RMAP
. It probably also would be a good idea to restructure the code into modules which are always required (internally) by the FSFW, e.g. returnvalues or the ObjectManager, and components which are optional. If this is done which is an API change anyway, it might also be a good idea to separate sources and headers like it is done in most C++/C projects ( but im not sure about that.. I actually like the current structure)It probably would be a good idea to move the version management to
CMake
completely like suggested in the CMake tutorial