34 lines
1.7 KiB
CMake
34 lines
1.7 KiB
CMake
|
cmake_minimum_required(VERSION 3.10)
|
|||
|
# 设置交叉编译标志(不设置,会编译出错),放在project之前才起作用
|
|||
|
set(CMAKE_SYSTEM_NAME "Generic")
|
|||
|
SET(CMAKE_SYSTEM_PROCESSOR arm)
|
|||
|
SET (CMAKE_C_COMPILER_WORKS 1)
|
|||
|
SET (CMAKE_CXX_COMPILER_WORKS 1)
|
|||
|
|
|||
|
# 配置工程
|
|||
|
project( n32g430)
|
|||
|
enable_language(ASM)
|
|||
|
set(CMAKE_C_STANDARD 11)
|
|||
|
# set(CMAKE_CXX_STANDARD 17)
|
|||
|
|
|||
|
#设置编译输出目录
|
|||
|
set (CMAKE_BINARY_DIR ${PROJECT_SOURCE_DIR}\\build)
|
|||
|
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}\\bin)
|
|||
|
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}\\lib)
|
|||
|
#设置工程相关宏
|
|||
|
include(${PROJECT_SOURCE_DIR}/cmake/n32g430.cmake)
|
|||
|
include(${PROJECT_SOURCE_DIR}/cmake/armgcc.cmake)
|
|||
|
# include(${PROJECT_SOURCE_DIR}/cmake/armllvm.cmake)
|
|||
|
# include(cmake/bsp.cmake)
|
|||
|
include(${PROJECT_SOURCE_DIR}/project.cmake)
|
|||
|
#,
|
|||
|
#设置交叉编译器
|
|||
|
|
|||
|
target_link_libraries(${PROJECT_NAME}.elf m)
|
|||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${PROJECT_BINARY_DIR}\\${PROJECT_NAME}.map")
|
|||
|
# Generate the binary file
|
|||
|
add_custom_target (${CMAKE_PROJECT_NAME}.bin ALL ${OBJCOPY} -Obinary "${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf" "${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.bin" DEPENDS ${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf)
|
|||
|
# Generate the hex file
|
|||
|
add_custom_target (${CMAKE_PROJECT_NAME}.hex ALL ${OBJCOPY} -Oihex "${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf" "${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.hex" DEPENDS ${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf)
|
|||
|
# Echo the size Infomation
|
|||
|
add_custom_target (size ALL ${OBJSIZE} "${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf" DEPENDS ${EXECUTABLE_OUTPUT_PATH}\\${CMAKE_PROJECT_NAME}.elf)
|