37 lines
1.4 KiB
CMake
37 lines
1.4 KiB
CMake
set(MCPU_FLAGS "-mthumb -mcpu=cortex-m0plus")
|
|
set(VFGP_FLAGS "")
|
|
|
|
set(CMAKE_SYSTEM_NAME Generic)
|
|
set(CMAKE_SYSTEM_PROCESSOR arm)
|
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
|
|
|
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
|
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
|
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
|
|
set(CMAKE_LINKER arm-none-eabi-gcc)
|
|
set(CMAKE_SIZE_UTIL arm-none-eabi-size)
|
|
set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
|
|
set(CMAKE_OBJDUMP arm-none-eabi-objdump)
|
|
set(CMAKE_NM_UTIL arm-none-eabi-gcc-nm)
|
|
set(CMAKE_AR arm-none-eabi-gcc-ar)
|
|
set(CMAKE_RANLIB arm-none-eabi-gcc-ranlib)
|
|
|
|
set(CMAKE_COMMON_FLAGS "-g3 -Wall -Wshadow -Wdouble-promotion -Wconversion -Wextra")
|
|
|
|
set(THIRDPARTY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
|
|
|
|
set(CMAKE_C_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} ${CMAKE_COMMON_FLAGS} -I ${THIRDPARTY}/samd21/include -I ${THIRDPARTY}/cmsis/Include")
|
|
set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} ${CMAKE_COMMON_FLAGS} -I ${THIRDPARTY}/samd21/include -I ${THIRDPARTY}/cmsis/Include")
|
|
set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} ${CMAKE_COMMON_FLAGS}")
|
|
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections,-print-memory-usage")
|
|
|
|
|
|
set(CMAKE_C_FLAGS_DEBUG "-O0 -DDEBUG")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG")
|
|
set(CMAKE_ASM_FLAGS_DEBUG "")
|
|
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "")
|
|
|
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
|
set(CMAKE_ASM_FLAGS_RELEASE "")
|
|
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "")
|