Files
mkrtos-real/mkrtos_user/CMakeLists.txt

81 lines
2.4 KiB
CMake
Raw Normal View History

2023-08-20 20:52:23 +08:00
cmake_minimum_required(VERSION 3.13)
2023-08-22 00:26:34 +08:00
2024-04-04 16:51:29 +00:00
if (${CONFIG_ARCH} STREQUAL "cortex-m3" OR
${CONFIG_ARCH} STREQUAL "cortex-m4" OR
${CONFIG_ARCH} STREQUAL "cortex-m33"
)
# -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
2025-02-12 17:29:30 +08:00
\
2024-04-04 16:51:29 +00:00
" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
2025-02-12 17:29:30 +08:00
\
2024-04-04 16:51:29 +00:00
" )
2025-02-01 12:26:56 +08:00
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
2025-02-12 17:29:30 +08:00
\
" )
2025-02-12 17:29:30 +08:00
#-Ttext-segment=0x0 -z max-page-size=0x4 -z common-page-size=0x4
set(CORTEX_M_LINK_FLAGS "-pie ")
2024-04-10 15:55:07 +00:00
set(LIBC_NAME "muslc")
2024-04-04 16:51:29 +00:00
set(ARCH_NAME "armv7_8m")
include_directories(
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/arch/arm/
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/arch/generic
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/obj/src/internal
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/src/include
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/src/internal
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/obj/include
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/mlibc/include
)
elseif(${CONFIG_ARCH} STREQUAL "aarch64")
set(CORTEX_M_LINK_FLAGS " --gc-section -z max-page-size=0x1000 -z common-page-size=0x1000 ")
set(LIBC_NAME "c")
set(ARCH_NAME "aarch64")
include_directories(
${CMAKE_SOURCE_DIR}/build/libc/output/include
)
endif()
2024-11-11 08:59:39 +08:00
include_directories(
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libc_backend/inc
)
if (${ARCH_NAME} STREQUAL "armv7_8m")
set(START_LIB start)
set(START_INIT_LIB start_init)
# add_subdirectory(app)
elseif(${CONFIG_ARCH} STREQUAL "aarch64" )
set(
START_LIB
""
)
set(START_INIT_LIB "")
set(
START_SRC
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crt1.o
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crti.o
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crtn.o
)
set(
START_SRC_INIT
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crt1_init.o
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crti.o
${CMAKE_SOURCE_DIR}/build/libc/output/lib/crtn.o
)
# add_subdirectory(uvmm)
# add_subdirectory(test)
endif()
2023-08-20 20:52:23 +08:00
add_subdirectory(lib)
2024-11-11 08:59:39 +08:00
add_subdirectory(server)
add_subdirectory(user)