|
1 | | -set(CMAKE_SYSTEM_NAME Generic) |
2 | | -set(CMAKE_SYSTEM_PROCESSOR arm) |
| 1 | +set(CMAKE_SYSTEM_NAME Linux) |
| 2 | +set(CMAKE_SYSTEM_PROCESSOR ${EOS_TARGET_ARCH}) |
3 | 3 |
|
4 | | -set(EOS_TOOLCHAIN_PREFIX "arm-none-eabi-" CACHE STRING "Cross-compiler prefix") |
| 4 | +# Allow the compiler to be set from the command line (-DCMAKE_C_COMPILER=...) |
| 5 | +if(NOT CMAKE_C_COMPILER) |
| 6 | + set(EOS_TOOLCHAIN_PREFIX "arm-none-eabi-" CACHE STRING "Cross-compiler prefix") |
| 7 | + set(CMAKE_C_COMPILER "${EOS_TOOLCHAIN_PREFIX}gcc") |
| 8 | + set(CMAKE_CXX_COMPILER "${EOS_TOOLCHAIN_PREFIX}g++") |
| 9 | + set(CMAKE_ASM_COMPILER "${EOS_TOOLCHAIN_PREFIX}gcc") |
| 10 | + set(CMAKE_OBJCOPY "${EOS_TOOLCHAIN_PREFIX}objcopy") |
| 11 | + set(CMAKE_SIZE "${EOS_TOOLCHAIN_PREFIX}size") |
| 12 | +endif() |
5 | 13 |
|
6 | | -set(CMAKE_C_COMPILER "${EOS_TOOLCHAIN_PREFIX}gcc") |
7 | | -set(CMAKE_CXX_COMPILER "${EOS_TOOLCHAIN_PREFIX}g++") |
8 | | -set(CMAKE_ASM_COMPILER "${EOS_TOOLCHAIN_PREFIX}gcc") |
9 | | -set(CMAKE_OBJCOPY "${EOS_TOOLCHAIN_PREFIX}objcopy") |
10 | | -set(CMAKE_SIZE "${EOS_TOOLCHAIN_PREFIX}size") |
| 14 | +# Skip linker test during compiler check (cross-compilers may lack crt0) |
| 15 | +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) |
11 | 16 |
|
12 | | -set(CMAKE_C_FLAGS_INIT "-mcpu=cortex-a53 -mthumb -ffunction-sections -fdata-sections -fno-common") |
13 | | -set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--gc-sections -specs=nosys.specs") |
| 17 | +set(CMAKE_C_FLAGS_INIT "-ffunction-sections -fdata-sections -fno-common") |
| 18 | +set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--gc-sections") |
14 | 19 |
|
15 | 20 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
16 | 21 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
|
0 commit comments