1818function (add_named_os_module NAMES )
1919 # Get first element of list
2020 list (GET NAMES 0 FIRST_ITEM)
21- set (OS_MODULE_NAME "Os_${FIRST_ITEM} _Common " )
21+ set (OS_MODULE_NAME "Os_${FIRST_ITEM} " )
2222 # Clear variables
23- set (SOURCE_FILES )
24- set (SOURCE_HEADERS )
23+ set (SOURCE_INPUTS )
24+ set (HEADER_INPUTS )
2525 # Add files for each name supplied
2626 foreach (NAME IN LISTS NAMES)
27- list (APPEND SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR} /${NAME} .cpp" )
28- list (APPEND SOURCE_HEADERS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .hpp" )
27+ list (APPEND SOURCE_INPUTS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .cpp" )
28+ list (APPEND HEADER_INPUTS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .hpp" )
2929 endforeach ()
3030 # Set up module
31- set (MOD_DEPS Fw_Types ${ARGN} )
32- require_fprime_implementation ("Os_${FIRST_ITEM} " )
33- register_fprime_module ("${OS_MODULE_NAME} " )
34- add_dependencies (Os "${OS_MODULE_NAME} " )
35- target_link_libraries (Os PUBLIC "${OS_MODULE_NAME} " )
31+ register_fprime_module (
32+ "${OS_MODULE_NAME} "
33+ REQUIRES_IMPLEMENTATIONS
34+ "Os_${FIRST_ITEM} "
35+ SOURCES
36+ ${SOURCE_INPUTS}
37+ HEADERS
38+ ${HEADER_INPUTS}
39+ DEPENDS
40+ Fw_Types ${ARGN}
41+ )
42+ fprime_target_dependencies (Os PUBLIC "${OS_MODULE_NAME} " )
3643endfunction ()
3744
3845####
@@ -66,36 +73,35 @@ function(add_fprime_supplied_os_module NAMES SUFFIX)
6673 # Setup variables
6774 set (OS_MODULE_NAME "Os_${FIRST_ITEM} _${SUFFIX} " )
6875 # Clear variables
69- set (SOURCE_FILES )
70- set (SOURCE_HEADERS )
76+ set (SOURCE_INPUTS )
77+ set (HEADERS_INPUTS )
7178 # Add files for each name supplied
7279 foreach (NAME IN LISTS NAMES)
73- list (APPEND SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR} /${NAME} .cpp" )
74- list (APPEND SOURCE_HEADERS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .hpp" )
80+ list (APPEND SOURCE_INPUTS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .cpp" )
81+ list (APPEND HEADERS_INPUTS "${CMAKE_CURRENT_LIST_DIR} /${NAME} .hpp" )
7582 endforeach ()
7683 # Set up module
77- set (MOD_DEPS "Os_${FIRST_ITEM} _Common" ${ARGN} )
78- register_fprime_module ("${OS_MODULE_NAME} " )
79- register_fprime_implementation ("Os_${FIRST_ITEM} " "${OS_MODULE_NAME} " "${CMAKE_CURRENT_LIST_DIR} /Default${FIRST_ITEM} .cpp" )
80- endfunction ()
81-
82- ####
83- # WARNING: not for use outside of fprime/Os
84- #
85- # Adds a test for OSAL layer. Helper to allow multiple tests per file.
86- #
87- # NAME: Name of test
88- # UT_SOURCE_FILES: list of source files
89- # IMPLEMENTATION_PAIRS: a list of pairs of implementation choices. e.g. "Os_File\;Os_File_Posix;Os_Task\;Os_Task_Stub"
90- # pairs are represented with internal escaped list separators.
91- # ARGN: extra MOD_DEPS to add
92- ####
93- function (add_fprime_os_test NAME UT_SOURCE_FILES IMPLEMENTATION_PAIRS )
94- set (UT_MOD_DEPS Os STest ${ARGN} )
95- foreach (PAIR IN LISTS IMPLEMENTATION_PAIRS)
96- choose_fprime_implementation (${PAIR} )
97- endforeach ()
98- register_fprime_ut ("${NAME} " )
84+ register_fprime_module (
85+ "${OS_MODULE_NAME} _Implementation"
86+ SOURCES
87+ ${SOURCE_INPUTS}
88+ HEADERS
89+ ${HEADER_INPUTS}
90+ DEPENDS
91+ Fw_Types
92+ "Os_${FIRST_ITEM} "
93+ ${ARGN}
94+ )
95+ register_fprime_implementation (
96+ "${OS_MODULE_NAME} "
97+ SOURCES
98+ "${CMAKE_CURRENT_LIST_DIR} /Default${FIRST_ITEM} .cpp"
99+ IMPLEMENTS
100+ "Os_${FIRST_ITEM} "
101+ DEPENDS
102+ Fw_Types
103+ "${OS_MODULE_NAME} _Implementation"
104+ )
99105endfunction ()
100106
101107add_fprime_subdirectory ("${CMAKE_CURRENT_LIST_DIR} /Models" )
@@ -105,23 +111,24 @@ add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Generic")
105111add_fprime_subdirectory ("${CMAKE_CURRENT_LIST_DIR} /Linux" )
106112add_fprime_subdirectory ("${CMAKE_CURRENT_LIST_DIR} /Darwin" )
107113
108- # Basic source files used in every OSAL layer. Contains common code and helpers.
109- set (SOURCE_FILES
110- "${CMAKE_CURRENT_LIST_DIR} /ValidateFileCommon.cpp"
111- "${CMAKE_CURRENT_LIST_DIR} /ValidatedFile.cpp"
112- "${CMAKE_CURRENT_LIST_DIR} /IntervalTimer.cpp"
113- "${CMAKE_CURRENT_LIST_DIR} /Types.fpp"
114- "${CMAKE_CURRENT_LIST_DIR} /Os.cpp"
115- )
116- set (SOURCE_HEADERS
117- "${CMAKE_CURRENT_LIST_DIR} /ValidatedFile.hpp"
118- "${CMAKE_CURRENT_LIST_DIR} /Os.hpp"
114+ register_fprime_module (
115+ Os
116+ AUTOCODER_INPUTS
117+ "${CMAKE_CURRENT_LIST_DIR} /Types.fpp"
118+ SOURCES
119+ "${CMAKE_CURRENT_LIST_DIR} /ValidateFileCommon.cpp"
120+ "${CMAKE_CURRENT_LIST_DIR} /ValidatedFile.cpp"
121+ "${CMAKE_CURRENT_LIST_DIR} /IntervalTimer.cpp"
122+ "${CMAKE_CURRENT_LIST_DIR} /Os.cpp"
123+ HEADERS
124+ "${CMAKE_CURRENT_LIST_DIR} /ValidatedFile.hpp"
125+ "${CMAKE_CURRENT_LIST_DIR} /Os.hpp"
126+ DEPENDS
127+ Fw_Types
119128)
120- set (MOD_DEPS Fw_Types)
121- register_fprime_module ()
122129
123130add_named_os_module (Console Fw_Logger )
124- add_named_os_module ("File;FileSystem;Directory" Utils/Hash )
131+ add_named_os_module ("File;FileSystem;Directory" Utils_Hash )
125132add_named_os_module (Task ${CMAKE_THREAD_LIBS_INIT} )
126133add_named_os_module ("Mutex;Condition" )
127134add_named_os_module (Queue )
0 commit comments