LYNX

Links

Tags

Categories

cmake笔记

变量

参数

命令行

参考:CSDN

  • 指定生成器
cmake -G "Ninja"
  • 添加变量
cmake -DANROID
  • 删除CMakeCache.txt变量
cmake -UANDROID

CMakeList

  • 环境变量:$ENV{PATH}

  • 编译选项

    • CMAKE_CXX_FLAGS
  • 输出目录

    • 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...]]
[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

  • 先要设置路径:set(package_DIR 路径)

  • 然后进行查找

    find_package (package REQUIRED)
  • 找到的lib将存放在package_LIBS

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

Tags

Categories

1 / 1