1
1
project (module-os VERSION 1.0
2
2
DESCRIPTION "OS module library" )
3
3
4
- set (SOURCES
5
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/ccondition_variable.cpp
6
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cevent_groups.cpp
7
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cmem_pool.cpp
8
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cmutex.cpp
9
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cqueue.cpp
10
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cread_write_lock.cpp
11
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/csemaphore.cpp
12
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/ctasklet.cpp
13
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cthread.cpp
14
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/ctickhook.cpp
15
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/ctimer.cpp
16
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/cworkqueue.cpp
17
-
18
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/application.c
19
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/event_groups.c
20
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/heap_4.c
21
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/list.c
22
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/queue.c
23
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/stream_buffer.c
24
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/timers.c
25
-
26
- ${CMAKE_CURRENT_SOURCE_DIR} /memory/usermem.c
27
-
28
- ${CMAKE_CURRENT_SOURCE_DIR} /CriticalSectionGuard.cpp
29
- ${CMAKE_CURRENT_SOURCE_DIR} /LockGuard.cpp
4
+ add_library (${PROJECT_NAME} STATIC
5
+
6
+ RTOSWrapper/ccondition_variable.cpp
7
+ RTOSWrapper/cevent_groups.cpp
8
+ RTOSWrapper/cmem_pool.cpp
9
+ RTOSWrapper/cmutex.cpp
10
+ RTOSWrapper/cqueue.cpp
11
+ RTOSWrapper/cread_write_lock.cpp
12
+ RTOSWrapper/csemaphore.cpp
13
+ RTOSWrapper/ctasklet.cpp
14
+ RTOSWrapper/cthread.cpp
15
+ RTOSWrapper/ctickhook.cpp
16
+ RTOSWrapper/ctimer.cpp
17
+ RTOSWrapper/cworkqueue.cpp
18
+
19
+ application.c
20
+ memory/usermem.c
21
+
22
+ CriticalSectionGuard.cpp
23
+ LockGuard.cpp
24
+
25
+ $<$<BOOL :${PROF_ON} >:prof/prof.c>
30
26
)
31
27
32
- add_library (${PROJECT_NAME} STATIC )
33
- target_sources (module-os PRIVATE ${SOURCES} )
34
- if (NOT ${SYSTEM_VIEW_ENABLED} )
35
- target_sources (module-os PRIVATE FreeRTOS/tasks.c)
36
- endif ()
37
- if (${PROF_ON} )
38
- target_sources (module-os PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/prof.c)
39
- endif ()
40
-
41
28
add_board_subdirectory(board)
42
29
43
30
# Board specific compilation definitions,options,include directories and features
@@ -50,15 +37,15 @@ target_compile_definitions(${PROJECT_NAME}
50
37
PUBLIC
51
38
52
39
CPP_FREERTOS_CONDITION_VARIABLES
53
- )
40
+ )
54
41
55
42
# enforce no optimization for RelWithDebInfo configuration to debug system memory
56
43
if (${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo" )
57
- target_compile_options ( ${PROJECT_NAME} PRIVATE "-O0" )
44
+ set_source_files_properties (memory/usermem.c PROPERTIES COMPILE_OPTIONS "-O0" )
58
45
endif ()
59
46
60
47
if (${CMAKE_BUILD_TYPE} STREQUAL "Debug" OR ${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo" )
61
- target_compile_definitions (${PROJECT_NAME} PRIVATE DEBUG_FREERTOS)
48
+ target_compile_definitions (${PROJECT_NAME} PUBLIC DEBUG_FREERTOS)
62
49
endif ()
63
50
64
51
target_include_directories (${PROJECT_NAME}
@@ -67,23 +54,19 @@ target_include_directories(${PROJECT_NAME}
67
54
68
55
${CMAKE_CURRENT_SOURCE_DIR}
69
56
70
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS/include
71
- ${CMAKE_CURRENT_SOURCE_DIR} /FreeRTOS
72
- ${CMAKE_CURRENT_SOURCE_DIR} /RTOSWrapper/include
57
+ RTOSWrapper/include
58
+ prof
73
59
74
60
)
75
61
76
62
#Add FreeRTOS SystemvView headers if enabled
77
- if ((${PROJECT_TARGET} STREQUAL "TARGET_RT1051" ) AND (${SYSTEM_VIEW_ENABLED} ))
78
- target_include_directories (${PROJECT_NAME}
79
- PUBLIC
80
- ${CMAKE_CURRENT_SOURCE_DIR} /systemviewPatch
81
- )
63
+ if ((${PROJECT_TARGET} STREQUAL "TARGET_RT1051" ) AND (${SYSTEM_VIEW_ENABLED} ))
82
64
target_link_libraries (${PROJECT_NAME} PUBLIC segger::systemview)
83
- endif ()
65
+ endif ()
84
66
85
- target_link_libraries (${PROJECT_NAME} PUBLIC log -api board-config)
67
+ target_link_libraries (${PROJECT_NAME} PUBLIC log -api board-config freertos_kernel )
86
68
87
69
if (${ENABLE_TESTS} )
88
70
add_subdirectory (test )
89
71
endif ()
72
+
0 commit comments