M4F_FPU/cmake/armllvm.cmake

31 lines
2.1 KiB
CMake
Raw Normal View History

2024-07-25 10:41:25 +08:00
set(WIN32 TRUE)
if (WIN32)
set(TOOl_CHAIN_SUFFIX ".exe")
else()
set(TOOl_CHAIN_SUFFIX "")
endif()
# set(AS "$ENV{TOOl_CHAIN_DIR}\\bin\\arm-none-eabi-as${TOOl_CHAIN_SUFFIX}")
# set(AR "$ENV{TOOl_CHAIN_DIR}\\bin\\arm-none-eabi-ar${TOOl_CHAIN_SUFFIX}")
# set(OBJCOPY "$ENV{TOOl_CHAIN_DIR}\\bin\\arm-none-eabi-objcopy${TOOl_CHAIN_SUFFIX}")
# set(OBJDUMP "$ENV{TOOl_CHAIN_DIR}\\bin\\arm-none-eabi-objdump${TOOl_CHAIN_SUFFIX}")
# set(OBJSIZE "$ENV{TOOl_CHAIN_DIR}\\bin\\arm-none-eabi-size${TOOl_CHAIN_SUFFIX}")
# 设置交叉编译器所在路径
set(AS "C:/software/explab/tools/llvm/bin/llvm-as${TOOl_CHAIN_SUFFIX}")
set(AR "C:/software/explab/tools/llvm/bin/llvm-ar${TOOl_CHAIN_SUFFIX}")
set(OBJCOPY "C:/software/explab/tools/llvm/bin/llvm-objcopy${TOOl_CHAIN_SUFFIX}")
set(OBJDUMP "C:/software/explab/tools/llvm/bin/llvm-objdump${TOOl_CHAIN_SUFFIX}")
set(OBJSIZE "C:/software/explab/tools/llvm/bin/llvm-size${TOOl_CHAIN_SUFFIX}")
#设置编译器标志,适当修改
# CFLAGS
set(CMAKE_C_FLAGS "--target=armv7em-none-eabi -g -mthumb -fno-builtin -mcpu=$ENV{MCPU} -Wall -std=gnu99 -ffunction-sections -fdata-sections -fomit-frame-pointer -mabi=aapcs -fno-unroll-loops -ffast-math -ftree-vectorize" CACHE INTERNAL "c compiler flags")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D $ENV{DEFINE_DEVICE} -D $ENV{DEFINE_DRIVER} -D $ENV{FPUSEL}")
# CXXFLAGS
set (CMAKE_CXX_FLAGS "--target=armv7em-none-eabi -g -mthumb -fno-builtin -mcpu=$ENV{MCPU} ${FPU_FLAGS} -Wall -std=c++11 -ffunction-sections -fdata-sections -fomit-frame-pointer -mabi=aapcs -fno-unroll-loops -ffast-math -ftree-vectorize" CACHE INTERNAL "cxx compiler flags")
# ASMFLAGS
set (CMAKE_ASM_FLAGS "--target=armv7em-none-eabi -g -mthumb -mcpu=$ENV{MCPU} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
# LDFLAGS
set (CMAKE_EXE_LINKER_FLAGS "--target=armv7em-none-eabi -g -Wl,--gc-sections -mthumb -mcpu=$ENV{MCPU} -mabi=aapcs " CACHE INTERNAL "executable linker flags")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T ${ldscript}")
set(CMAKE_SYSROOT "C:/software/explab/tools/llvm/lib/clang-runtimes/armv7em_hard_fpv5_d16")
include_directories(${CMAKE_SYSROOT}/include)
link_directories(${CMAKE_SYSROOT}/lib)