cmake笔记
2019-11-25
2019-11-25
变量
参数
命令行
- 指定生成器
cmake -G "Ninja" |
- 添加变量
cmake -DANROID |
- 删除
CMakeCache.txt
变量
cmake -UANDROID |
CMakeList
环境变量:
$ENV{PATH}
编译选项
CMAKE_CXX_FLAGS
- 为不同的目标文件设置不同编译选项:stackoverflow
add_executable(project1 myfile.cpp)
set_target_properties(project1 PROPERTIES COMPILE_FLAGS "flags1")
add_executable(project2 myfile.cpp)
set_target_properties(project2 PROPERTIES COMPILE_FLAGS "flags2")
- 为不同的目标文件设置不同编译选项:stackoverflow
链接器选项
target_link_libraries
: 直接在后面添加-l{library_name}
(如-lgmp
)
输出目录
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
CMAKE_LIBRARY_OUTPUT_DIRECTORY
LIBRARY_OUTPUT_DIRECTORY
CMAKE_RUNTIME_OUTPUT_DIRECTORY
GUI的参数导出
在对应目录的CMakeCache.txt
中查找
函数
add_custom_command
TODO
execute_process
execute_process(COMMAND <cmd1> [args1...]] |
aux_source_directory
aux_source_directory( |
添加dir
下所有源文件(c
/cpp
)至variable
add_library
add_library( |
- 库名
- 库文件类型
- TODO
- 源文件
link_directories
TODO
target_link_libraries
target_link_libraries( |
- 通过
add_executable
和add_library
生成的目标文件 - 库文件,无后缀名
- TODO
find_library
TODO
find_package
对于要查找的package,名为package
- 先要设置路径:
set(package_DIR 路径)
- 然后进行查找
find_package (package REQUIRED)
- 找到的lib将存放在
package_LIBS
中
include_directories
include_directories( |
- 添加头文件目录
- TODO
add_executable
# 1 |
- 目标文件
- TODO
- TODO
- 源文件
调试
cmake --debug-output |