Skip to content

Commit b70e00e

Browse files
committed
SMP linux/gnu: add cmake for sample
This allows to build SMP variant of `linux/gnu` port, and optionally with `sample_threadx`. Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
1 parent 50a7596 commit b70e00e

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

ports_smp/linux/gnu/CMakeLists.txt

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
target_sources(${PROJECT_NAME}
3+
PRIVATE
4+
# {{BEGIN_TARGET_SOURCES}}
5+
${CMAKE_CURRENT_LIST_DIR}/src/tx_initialize_low_level.c
6+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_restore.c
7+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_save.c
8+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_interrupt_control.c
9+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_schedule.c
10+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_stack_build.c
11+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_system_return.c
12+
${CMAKE_CURRENT_LIST_DIR}/src/tx_timer_interrupt.c
13+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_core_get.c
14+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_low_level_initialize.c
15+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_core_preempt.c
16+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_protect.c
17+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_current_state_get.c
18+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_time_get.c
19+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_current_thread_get.c
20+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_unprotect.c
21+
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_smp_initialize_wait.c
22+
23+
# {{END_TARGET_SOURCES}}
24+
)
25+
26+
target_include_directories(${PROJECT_NAME}
27+
PUBLIC
28+
${CMAKE_CURRENT_LIST_DIR}/inc
29+
)
30+
31+
target_compile_definitions(${PROJECT_NAME} PUBLIC "-D_GNU_SOURCE -DTX_LINUX_DEBUG_ENABLE")
32+
33+
if(THREADX_SAMPLE)
34+
add_subdirectory(example_build)
35+
endif()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Build sample_threadx program
2+
3+
project(sample_threadx)
4+
set(SRCS sample_threadx.c)
5+
6+
add_executable(${PROJECT_NAME})
7+
target_sources(${PROJECT_NAME} PRIVATE ${SRCS})
8+
set_target_properties(
9+
${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
10+
${CMAKE_CURRENT_BINARY_DIR}/../../../../)
11+
target_include_directories(
12+
${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../inc
13+
${CMAKE_CURRENT_LIST_DIR}/../../../../common_smp/inc)
14+
15+
target_link_libraries(${PROJECT_NAME} PRIVATE threadx)

0 commit comments

Comments
 (0)