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 "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/standalone/Toolchain.cmake"
17 "-DLUCI_INTERPRETER_PAL_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../luci-interpreter/pal/mcu"
18 "-DNNAS_PROJECT_SOURCE_DIR=${NNAS_PROJECT_SOURCE_DIR}"
19 "-DNNAS_EXTERNALS_DIR=${NNAS_EXTERNALS_DIR}"
21 -DC_COMPILER=${ARM_C_COMPILER}
22 -DCXX_COMPILER=${ARM_CXX_COMPILER}
23 -DASM_COMPILER=${ARM_ASM_COMPILER}
24 -DOBJCOPY=${ARM_OBJCOPY}
25 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
28 "-DNNAS_ROOT=${NNAS_PROJECT_SOURCE_DIR}"
29 -DENABLE_STRICT_BUILD=OFF
32 set(MICRO_ARM_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/standalone_arm")
33 file(MAKE_DIRECTORY "${MICRO_ARM_BUILD_DIR}")
35 set(MICRO_ARM_BUILD_DEPENDENCY "${MICRO_ARM_BUILD_DIR}/CMakeCache.txt")
38 OUTPUT "${MICRO_ARM_BUILD_DEPENDENCY}"
39 COMMAND "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/standalone" ${CMAKE_ARM_OPTIONS}
40 WORKING_DIRECTORY "${MICRO_ARM_BUILD_DIR}"
41 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/standalone/CMakeLists.txt"
45 add_custom_target(luci_interpreter_micro_arm_cmake DEPENDS "${MICRO_ARM_BUILD_DEPENDENCY}")
47 set(MICRO_ARM_BINARY "${MICRO_ARM_BUILD_DIR}/compiler/luci-interpreter/src/libluci_interpreter.a")
50 OUTPUT "${MICRO_ARM_BINARY}"
51 COMMAND "${CMAKE_MAKE_PROGRAM}" luci_interpreter -j ${CPU_COUNT}
52 WORKING_DIRECTORY "${MICRO_ARM_BUILD_DIR}"
53 DEPENDS luci_interpreter_micro_arm_cmake
57 add_custom_target(luci_interpreter_micro_arm DEPENDS "${MICRO_ARM_BINARY}")