cmake笔记

变量

参数

命令行

参考:CSDN

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

CMakeList

  • 环境变量:$ENV{PATH}

  • 编译选项

    • CMAKE_CXX_FLAGS
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")
  • 链接器选项

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

link_directories

TODO

target_link_libraries

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
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值