set(CMAKE_TOOLCHAIN_PATH $ENV{TOOLCHAIN} CACHE STRING " " FORCE) set(CROSS_COMPILE ${CMAKE_TOOLCHAIN_PATH}$ENV{CROSS_COMPILE_NAME} CACHE PATH "" FORCE) set(GCC_LIB_PATH $ENV{TOOLCHAIN_LIB}) set(CMAKE_INSTALL_PATH "${CMAKE_BINARY_DIR}deploy" CACHE PATH "" FORCE) if(CMAKE_HOST_WIN32) set(CMAKE_C_COMPILER "${CROSS_COMPILE}gcc.exe" CACHE PATH "" FORCE) set(CMAKE_ASM_COMPILER "${CROSS_COMPILE}gcc.exe" CACHE PATH "" FORCE) set(CMAKE_CC_COMPILER "${CROSS_COMPILE}g++.exe" CACHE PATH "" FORCE) set(CMAKE_CXX_COMPILER "${CROSS_COMPILE}g++.exe" CACHE PATH "" FORCE) set(CMAKE_CPP_COMPILER "${CROSS_COMPILE}cpp.exe" CACHE PATH "" FORCE) set(CMAKE_LINKER "${CROSS_COMPILE}ld.exe" CACHE PATH "" FORCE) set(CMAKE_STRIP "${CROSS_COMPILE}strip.exe" CACHE PATH "" FORCE) set(CMAKE_OBJCOPY "${CROSS_COMPILE}objcopy.exe" CACHE PATH "" FORCE) set(CMAKE_OBJDUMP "${CROSS_COMPILE}objdump.exe" CACHE PATH "" FORCE) set(CMAKE_READELF "${CROSS_COMPILE}readelf.exe" CACHE PATH "" FORCE) set(CMAKE_SIZE "${CROSS_COMPILE}size.exe" CACHE PATH "" FORCE) set(CMAKE_NM "${CROSS_COMPILE}nm.exe" CACHE PATH "" FORCE) set(CMAKE_AR "${CROSS_COMPILE}ar.exe" CACHE PATH "" FORCE) else() set(CMAKE_C_COMPILER "${CROSS_COMPILE}gcc" CACHE PATH "" FORCE) set(CMAKE_ASM_COMPILER "${CROSS_COMPILE}gcc" CACHE PATH "" FORCE) set(CMAKE_CC_COMPILER "${CROSS_COMPILE}g++" CACHE PATH "" FORCE) set(CMAKE_CXX_COMPILER "${CROSS_COMPILE}g++" CACHE PATH "" FORCE) set(CMAKE_CPP_COMPILER "${CROSS_COMPILE}cpp" CACHE PATH "" FORCE) set(CMAKE_LINKER "${CROSS_COMPILE}ld" CACHE PATH "" FORCE) set(CMAKE_GOLD "${CROSS_COMPILE}gold" CACHE PATH "" FORCE) set(CMAKE_STRIP "${CROSS_COMPILE}strip" CACHE PATH "" FORCE) set(CMAKE_OBJCOPY "${CROSS_COMPILE}objcopy" CACHE PATH "" FORCE) set(CMAKE_OBJDUMP "${CROSS_COMPILE}objdump" CACHE PATH "" FORCE) set(CMAKE_READELF "${CROSS_COMPILE}readelf" CACHE PATH "" FORCE) set(CMAKE_SIZE "${CROSS_COMPILE}size" CACHE PATH "" FORCE) set(CMAKE_NM "${CROSS_COMPILE}nm" CACHE PATH "" FORCE) set(CMAKE_AR "${CROSS_COMPILE}ar" CACHE PATH "" FORCE) endif() set(PROJECT_BINARY_DIR ${CMAKE_SOURCE_DIR}/build) # set(CMAKE_INCLUDE_CURRENT_DIR ON) set(BOARD $ENV{BOARD}) include(mkrtos_cmake/top.cmake) set(ARCH ${CONFIG_ARCH} CACHE STRING "" FORCE) message(======="ARCH=${ARCH}") message(======="CPU_TYPE=${CONFIG_CPU_TYPE}") # -mfloat-abi=soft -u _printf_float -lc -lrdimon #-mfpu=fpv5-sp-d16 if (${CONFIG_ARCH} STREQUAL "cortex-m3" OR ${CONFIG_ARCH} STREQUAL "cortex-m4" OR ${CONFIG_ARCH} STREQUAL "cortex-m33" ) include(armv7_8.cmake) elseif(${CONFIG_ARCH} STREQUAL "aarch64" ) include(aarch64.cmake) link_directories(${CMAKE_SOURCE_DIR}/build/libc/output/lib) endif() set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_LINKER} --start-group --end-group -o " CACHE INTERNAL " " FORCE) set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_LINKER} --start-group --end-group -o " CACHE INTERNAL " " FORCE)