Hi,
i’m a little bit confused about set CMAKE_SYSTEM_PROCESSOR and the policy CMP0123 according to a Toolchainfile.
I want to build a cmake project for a bare metal system and i want to compile it with armclang.
I created a Toolchain File:
Snippet
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION "6")
set(COMPILER_PATH C:/Keil_v5/ARM/ARMCLANG)
find_program(ARM_CC NAMES armclang PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
find_program(ARM_CXX NAMES armclang PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
find_program(ARM_ASM NAMES armasm PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
find_program(ARM_AR NAMES armar PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
find_program(ARM_LINK NAMES armlink PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
find_program(ARM_FROMELF NAMES fromelf PATHS ${COMPILER_PATH}/bin REQUIRED NO_DEFAULT_PATH)
set(CMAKE_C_COMPILER ${ARM_CC} CACHE STRING "")
set(CMAKE_CXX_COMPILER ${ARM_CXX} CACHE STRING "")
set(CMAKE_ASM_COMPILER ${ARM_ASM} CACHE STRING "")
set(CMAKE_LINKER ${ARM_LINK} CACHE STRING "") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH ${COMPILER_PATH})
set(CMAKE_SYSROOT ${COMPILER_PATH})
According to CMP0123 i have inserted in the CMakeLists.txt
set(CMAKE_SYSTEM_PROCESSOR cortex-m4)
set(CMAKE_SYSTEM_ARCH armv7e-m)
but CMake give me the error that the CMAKE_SYSTEM_PROCESSOR and CMAKE_SYSTEM_ARCH are unset…
How can i set it correctly?
Bests
Brian