目录
CMake使用文档
于CMake官网看详细说明:
CMake - Cross Platform Make
https://cmake.org/cmake/help/v2.8.12/cmake.html#section_Commands
cmake快速入门 - 不忘初心 - CSDN博客
https://blog.csdn.net/kai_zone/article/details/82656964
CMake 教程 - 简书
https://www.jianshu.com/p/8df5b2aba316
CMake常用命令 - 嗜血苍狼 - 博客园
http://www.cnblogs.com/zhongjiangfeng/p/7478243.html
让cmake支持GDB调试的方法
在CmakeLists.txt中加入以下代码即可:(只加-g不行,需要加-g2)
# Version 2.4 might work, but it won't find static libraries with odd names
cmake_minimum_required(VERSION 2.6)
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
gdb编译选项(gcc/g++ 在编译时加入-g来加入debug信息)
- -g0等于不加-g,即不包含任何调试信息
- -g1包含最小的调试信息,一般来说只有在你不需要调试信息,之需要backtrack信息,并且很在意程序大小,或者有其他保密/特殊需求是才会使用-g1
- -g2为gdb默认,包含绝大多数你需要的调试信息
- -g3包含额外的调试信息,例如包含宏定义信息
设置编译选项
set(MCU_FLAGS "-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4") //启用硬件浮点计算功能
set(CMAKE_C_FLAGS "${MCU_FLAGS} -w -Wno-unknown-pragmas")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g2 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O3")
Armv8上不弃不离的NEON/FPU - 简书
https://www.jianshu.com/p/a19cc2ca59da
设置汇编编译:
set(CMAKE_ASM_COMPILER "arm-hisiv500-linux-gcc")
INCLUDE(CheckLanguage)
check_language(ASM)
enable_language(ASM)
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS}")
设置了这些选项,在源文件列表添加的*.s汇编文件就可以编译了。
Linux下实现飞控开发:使用CMake构建STM32工程 - 王伟韵 - CSDN博客
https://blog.csdn.net/loveuav/article/details/101361408