Files
ninlight-w600/cmake/arm-none-eabi.cmake
T
Michael Sauer 1b0501179d build: W600-SDK importiert, Firmware-Build und Hello am EVK
Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet,
Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont
gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs
(EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
2026-09-11 12:52:26 +02:00

25 lines
931 B
CMake

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
# Official ARM GNU toolchain (ships newlib). In Docker the compiler is found via PATH.
file(GLOB _nl_arm_bins "/Applications/ArmGNUToolchain/*/arm-none-eabi/bin")
list(SORT _nl_arm_bins ORDER DESCENDING)
set(_nl_arm_default "")
if(_nl_arm_bins)
list(GET _nl_arm_bins 0 _nl_arm_default)
endif()
set(NL_ARM_TOOLCHAIN_BIN "${_nl_arm_default}" CACHE PATH "bin directory of the ARM GNU toolchain (empty = PATH)")
if(NL_ARM_TOOLCHAIN_BIN)
set(_nl_prefix "${NL_ARM_TOOLCHAIN_BIN}/arm-none-eabi-")
else()
set(_nl_prefix "arm-none-eabi-")
endif()
set(CMAKE_C_COMPILER "${_nl_prefix}gcc")
set(CMAKE_ASM_COMPILER "${_nl_prefix}gcc")
set(CMAKE_OBJCOPY "${_nl_prefix}objcopy" CACHE INTERNAL "")
set(CMAKE_SIZE "${_nl_prefix}size" CACHE INTERNAL "")
set(CMAKE_EXE_LINKER_FLAGS_INIT "--specs=nosys.specs")