CMAKE语法:add_definitions、add_compile_options

前言:

  • CMAKE命令通用理解:
command(\<target> [E] <A|B|C>)   

尖括号<> 必选变量,<target>;
方括号[] 可选变量,[E];
竖线| 或的意思,A|B|C;

1、add_library(<name> [STATIC|SHARED|MODULE] source1 [source2 …])
作用: 生成库文件(动态库.so、静态库.a等)
用法:

add_library(so_name SHARED abc.cpp)    
aux_source_directory(. DIR_SRCS)  
add_library(abc STATIC ${DIR_SRCS})  

参考资料:
1、CMAKE:add_library

2、add_definitions、add_compile_definitions、target_compile_definitions用法:
作用:

  • add_definitions&add_compile_definitions: 为当前以下层路径的所有源文件和target增加编译定义
  • target_compile_definitions:为指定target增加编译定义

用法:

target_compile_definitions(<target> <INTERFACE|PUBLIC|PRIVATE> [items1])  

例:

add_definitions(-DFOO)  
add_compile_definitions(FOO) 
target_compile_definitions(target PUBLIC FOO) 

参考资料:
1、 add_definitions
2、add_compile_definitions
3、target_compile_definitions

3、add_compile_options()用法
作用: 设置编译器编译选项

3.1、CMAKE_CXX_FLAGS、CMAKE_C_FLAG

用法: 单独设置C++或C的编译选项,编译选项放在“”内,同时要将“${CMAKE_C_FLAGS}字段保留

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") 
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-Werror ")    

3.2、add_compile_options()
用法: 针对所有编译器设置编译选项

add_compile_options(-std=c++11)  

参考文件:
1、cmake:设置编译选项的讲究

4、message([<mode>] “message text” …)
作用: 写在cmkae/Cmakelist.txt文件中,执行时输出日志
用法:

用法 解释
message(STATUS “message text”) 状态信息
message(“message text”) 一般通知
message(FATAL_ERROR “message text”) 验证错误,停止编译
message(WARNING “message text”) 警告,继续编译

5、execute_process
作用: 执行子进程
用法:

execute_process(COMMAND <cmd1> [args1...]] [WORKING_DIRECTORY <directory>])  

例:

execute_process(COMMAND python ${ABC_PATH}/test1.py WORKING_DIRECTORY ${AA_PATH}/ABC)  

命令解析:${AA_PATH}/ABC路径下执行test1.py脚本

参考资料:
1、CMAKE: execute_process

上一篇:预训练模型finetune使用思路


下一篇:maven 实用标签记录