1 set(ARM_C_COMPILER "arm-none-eabi-gcc")
2 set(ARM_ASM_COMPILER "arm-none-eabi-gcc")
3 set(ARM_CXX_COMPILER "arm-none-eabi-g++")
4 set(ARM_OBJCOPY "arm-none-eabi-objcopy")
6 find_program(ARM_C_COMPILER_PATH ${ARM_C_COMPILER})
8 if(NOT ARM_C_COMPILER_PATH)
9 message(WARNING "ARM compiler is NOT FOUND, skipping luci-micro build")
14 -DLUCI_INTERPRETER_STATIC=ON
16 -DBUILD_CMSIS_NN_FUNCTIONS=ON
17 -DTARGET_CPU=cortex-m7
18 "-DCMAKE_TOOLCHAIN_FILE=${NNAS_PROJECT_SOURCE_DIR}/infra/nncc/cmake/buildtool/config/arm-non-eabi-gcc.cmake"
19 "-DLUCI_INTERPRETER_PAL_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../luci-interpreter/pal/mcu"
20 "-DNNAS_PROJECT_SOURCE_DIR=${NNAS_PROJECT_SOURCE_DIR}"
21 "-DNNAS_EXTERNALS_DIR=${NNAS_EXTERNALS_DIR}"
22 -DC_COMPILER=${ARM_C_COMPILER}
23 -DCXX_COMPILER=${ARM_CXX_COMPILER}
24 -DASM_COMPILER=${ARM_ASM_COMPILER}
25 -DOBJCOPY=${ARM_OBJCOPY}
26 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
29 "-DNNAS_ROOT=${NNAS_PROJECT_SOURCE_DIR}"
30 -DENABLE_STRICT_BUILD=OFF
33 set(MICRO_ARM_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/standalone_arm")
34 file(MAKE_DIRECTORY "${MICRO_ARM_BUILD_DIR}")
36 set(MICRO_ARM_BUILD_DEPENDENCY "${MICRO_ARM_BUILD_DIR}/CMakeCache.txt")
39 OUTPUT "${MICRO_ARM_BUILD_DEPENDENCY}"
40 COMMAND "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/standalone" ${CMAKE_ARM_OPTIONS}
41 WORKING_DIRECTORY "${MICRO_ARM_BUILD_DIR}"
42 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/standalone/CMakeLists.txt"
46 add_custom_target(luci_interpreter_micro_arm_cmake DEPENDS "${MICRO_ARM_BUILD_DEPENDENCY}")
48 set(MICRO_ARM_BINARY "${MICRO_ARM_BUILD_DIR}/compiler/luci-interpreter/src/libluci_interpreter.a")
51 OUTPUT "${MICRO_ARM_BINARY}"
52 COMMAND "${CMAKE_MAKE_PROGRAM}" luci_interpreter -j ${CPU_COUNT}
53 WORKING_DIRECTORY "${MICRO_ARM_BUILD_DIR}"
54 DEPENDS luci_interpreter_micro_arm_cmake
58 add_custom_target(luci_interpreter_micro_arm DEPENDS "${MICRO_ARM_BINARY}")