set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_CROSSCOMPILING TRUE) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set(CROSS_COMPILE_PREFIX arm-none-eabi-) set(CMAKE_C_FLAGS "-Wall -fdata-sections -ffunction-sections -Wl,--gc-sections") set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -fno-rtti -fno-exceptions -fno-threadsafe-statics") set(CMAKE_EXE_LINKER_FLAGS "-Wl,-Map=${CMAKE_PROJECT_NAME}.map,--cref -Wl,--print-memory-usage") set(CMAKE_C_COMPILER ${CROSS_COMPILE_PREFIX}gcc) set(CMAKE_CXX_COMPILER ${CROSS_COMPILE_PREFIX}g++) set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} -x assembler-with-cpp) set(CMAKE_OBJCOPY ${CROSS_COMPILE_PREFIX}objcopy) set(CMAKE_SIZE ${CROSS_COMPILE_PREFIX}size) set(CMAKE_EXECUTABLE_SUFFIX_C ".elf") set(CMAKE_EXECUTABLE_SUFFIX_CXX ".elf") set(CMAKE_EXECUTABLE_SUFFIX_ASM ".elf")