-
Notifications
You must be signed in to change notification settings - Fork 202
/
mission_defaults.cmake
113 lines (98 loc) · 4.45 KB
/
mission_defaults.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
##################################################################
#
# cFS Mission default values
#
# This file provides default values for mission applications
# and module/library selection.
#
##################################################################
# The "MISSION_CORE_INTERFACES" defines the set of interface libraries
# that comprise CFE core. These are CMake interface libraries that define
# a set of include directories and compile options for all modules,
# including the ubiquitous "cfe.h" header file and all it depends on).
# NOTE: these interfaces are really what defines "CFE core" - changing
# this list is not recommended, as these interface names are important.
set(MISSION_CORE_INTERFACES
core_api # this is the "public" core API that apps use, includes cfe.h and all core headers
core_private # this is the "private" interface that core apps use, but not used by apps
)
# The "MISSION_CORE_MODULES" will be built and statically linked as part
# of the CFE core executable on every target. These can be used to amend
# or override parts of the CFE core on a mission-specific basis.
# NOTE: Everything in this list becomes part of the "core_api" interface above.
# Missions may add/remove/replace components in this list as needed.
set(MISSION_CORE_MODULES
"es"
"evs"
"fs"
"sb"
"tbl"
"time"
"osal"
"psp"
"msg"
"sbr"
"resourceid"
"config"
)
# The "MISSION_GLOBAL_APPLIST" is a set of apps/libs that will be built
# for every defined and target. These are built as dynamic modules
# and must be loaded explicitly via startup script or command.
# This list is effectively appended to every TGTx_APPLIST in targets.cmake.
set(MISSION_GLOBAL_APPLIST)
# The "MISSION_GLOBAL_STATIC_APPLIST" is similar to MISSION_GLOBAL_APPLIST
# but the apps are statically linked.
# This list is effectively appended to every TGTx_STATIC_APPLIST in targets.cmake.
set(MISSION_GLOBAL_STATIC_APPLIST)
# The "MISSION_MODULE_SEARCH_PATH" is a list of subdirectories
# which will be searched for modules (apps and libs) specified in
# the targets.cmake file. It may also be locally extended by setting
# the environment variable "CFS_APP_PATH"
set(MISSION_MODULE_SEARCH_PATH
"apps" # general purpose $[top}/apps directory
"libs" # general purpose $[top}/libs directory
"psp/fsw/modules" # modules for optional platform abstraction, associated with PSP
"cfe/modules" # modules for optional core functions, associated with CFE
)
# The path for specific components can also be set via
# a variable named "<component>_SEARCH_PATH". This is
# used for locating other modules that are not part
# of the standard search path.
set(osal_SEARCH_PATH ".")
set(psp_SEARCH_PATH ".")
# Account for differences when EDS is enabled
if(CFE_EDS_ENABLED_BUILD)
# The EDS database is an object (or set of objects) generated by the tools from the EDS files.
# This can be linked into CFE either as a whole (GLOBAL) or as part of each app (LOCAL).
#
# LOCAL mode may use less memory by only only including DB objects for the apps that are
# originating or terminating CFS message traffic, but GLOBAL mode is simpler as it ensures
# that the entire DB is accessible by any app, even for data definitions that are not its own.
#
# NOTE: If running CI/TO, SBN, or other "generic" apps that relay SB traffic (or otherwise
# handle data that may not have originated on the same CFE instance) then it is recommended
# to stay with GLOBAL mode.
if (NOT DEFINED CFE_EDS_LINK_MODE)
set(CFE_EDS_LINK_MODE GLOBAL)
endif()
# The standard msg module is not used in EDS build, edslib provides an alternate
list(REMOVE_ITEM MISSION_CORE_MODULES msg)
list(APPEND MISSION_CORE_MODULES
"edslib"
"missionlib"
"edsmsg"
)
list(APPEND MISSION_MODULE_SEARCH_PATH
"tools/eds/cfecfs" # CFE/CFS modules and extensions from EdsLib
)
# edslib exists directly under tools/eds (EDS runtime libraries)
set(edslib_SEARCH_PATH "tools/eds")
endif(CFE_EDS_ENABLED_BUILD)
# Include "cfe_assert" library in all builds, because it is included
# in the default startup script. It should not have any effect if not
# used.
list(APPEND MISSION_GLOBAL_APPLIST cfe_assert)
# If ENABLE_UNIT_TEST is enabled, then include the cfe_testcase app
if (ENABLE_UNIT_TESTS)
list(APPEND MISSION_GLOBAL_APPLIST cfe_testcase)
endif (ENABLE_UNIT_TESTS)