home archives github knives links
tags cmake
categories
only title title and content
cmake笔记

变量

参数

命令行

参考:CSDN

cmake -G "Ninja"
cmake -DANROID
cmake -UANDROID

CMakeList

GUI的参数导出

在对应目录的CMakeCache.txt中查找

函数

add_custom_command

TODO

execute_process

execute_process(COMMAND <cmd1> [args1...]]
[COMMAND <cmd2> [args2...] [...]]
[WORKING_DIRECTORY <directory>]
[TIMEOUT <seconds>]
[RESULT_VARIABLE <variable>]
[OUTPUT_VARIABLE <variable>]
[ERROR_VARIABLE <variable>]
[INPUT_FILE <file>]
[OUTPUT_FILE <file>]
[ERROR_FILE <file>]
[OUTPUT_QUIET]
[ERROR_QUIET]
[OUTPUT_STRIP_TRAILING_WHITESPACE]
[ERROR_STRIP_TRAILING_WHITESPACE])

aux_source_directory

aux_source_directory(
dir variable
)

添加dir下所有源文件(c/cpp)至variable

add_library

add_library(
# 1
lib_name
# 2
STATIC | SHARED | MODULE
# 3
# 4
source.cpp
source.h)
  1. 库名
  2. 库文件类型
  3. TODO
  4. 源文件

TODO

target_link_libraries(
# 1
target
# 2
liba
libb
# 3
)
  1. 通过add_executableadd_library生成的目标文件
  2. 库文件,无后缀名
  3. TODO

find_library

TODO

find_package

参考:简书

对于要查找的package,名为package

include_directories

include_directories(
# 1
./dir1
./dir2
# 2
)
  1. 添加头文件目录
  2. TODO

add_executable

# 1
target
# 2
# 3
# 4
source.cpp
source.h
  1. 目标文件
  2. TODO
  3. TODO
  4. 源文件

调试

cmake --debug-output
cmake --trace