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) |