cmakeList

获取路径下所有的.cpp/.c/.cc文件,并赋值给变量中
aux_source_directory(路径 变量)

给文件名/路径名或其他字符串起别名,用${变量}获取变量内容
set(变量 文件名/路径/…)

添加编译选项
add_definitions(编译选项)

打印消息
message(消息)

编译子文件夹的CMakeLists.txt
add_subdirectory(子文件夹名称)

将.cpp/.c/.cc文件生成.a静态库
注意,库文件名称通常为libxxx.so,在这里只要写xxx即可
add_library(库文件名称 STATIC 文件)

将.cpp/.c/.cc文件生成可执行文件
add_executable(可执行文件名称 文件)

规定.h头文件路径
include_directories(路径)

规定.so/.a库文件路径
link_directories(路径)


如果代码需要支持C++11,就直接加上这句
SET(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++0x”)

如果想要生成的可执行文件拥有符号表,可以gdb调试,就直接加上这句
add_definitions("-Wall -g")

--------------------------------------------------------
CMAKE_CXX_FLAGS 参数说明

CXXFLAGS 表示用于 C++ 编译器的选项
-O2 优化级别
-g 带有调试符号
-fPIC 生成可用于共享库的位置独立代码 作用于编译阶段,在编译动态库时(.so文件)告诉编译器产生与位置无关代码,若未指定-fPIC选项编译.so文件,则在加载动态库时需进行重定向
-march 为特定的cpu-type编译二进制代码(不能在更低级别的cpu上运行)

posted @ 2021-09-14 10:08  angryCoder996  阅读(101)  评论(1编辑  收藏  举报