cmake常用命令总结

最近研究了下cmake,总结了一些常用命令,方便以后快速查找。

  1. project(projectname [CXX] [C] [Java]):
    1. 设置工程名。
  2. set(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]]):
    1. 设置变量VAR为指定值。
    2. 例子:set(CXX_FLAGS -g -Wall)。将变量CXX_FLAGS设置为"-g;-Wall"。其中以分号分隔。
  3. include_directories([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...):
    1. 将dir1, dir2作为include搜索路径。
  4. find_package( [major.minor] [QUIET] [NO_MODULE] [[REQUIRED|COMPONENTS] [components...]]):
    1. 暂时不是很理解。
    2. 例子:find_package(Threads REQUIRED)
  5. add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]):
    1. source_dir下的CmakeLists.txt也会被处理。
  6. 编译链接动作:
    1. add_library(libname [SHARED | STATIC | MODULE] [EXCLUDE_FROM_ALL] source1 source2 ... sourceN):
      1. 使用指定源文件生成库文件。该库文件会存储于CMAKE_ARCHIVE_OUTPUT_DIRECTORY或者CMAKE_LIBRARY_OUTPUT_DIRECTORY指定的目录。
    2. add_executable(exename [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 source2 ... sourceN):
      1. 使用指定源文件生成可执行文件。会存储于CMAKE_RUNTIME_OUTPUT_DIRECTORY指定的位置。
    3. target_link_libraries(target library1 <debug | optimized> library2 ...):
      1. 将库文件链接到目标文件。
  7. 内置变量:
    1. 基础目录:
      1. PROJECT_SOURCE_DIR:执行cmake的目录。比如我在/mnt/d/work/cpp/NanoSTL/build目录下执行cmake ..,虽然根CMakelists.txt位于/mnt/d/work/cpp/NanoSTL,PROJECT_SOURCE_DIR的值还是/mnt/d/work/cpp/NanoSTL/build。
      2. PROJECT_BINARY_DIR:工程根目录。比如根CMakelists.txt位于/mnt/d/work/cpp/NanoSTL,那么该变量就是/mnt/d/work/cpp/NanoSTL。
    2. CMAKE_CXX_FLAGS:编译器选项。
    3. 输出目录:
      1. CMAKE_ARCHIVE_OUTPUT_DIRECTORY:编译后.a文件存储位置。
      2. CMAKE_LIBRARY_OUTPUT_DIRECTORY:动态链接文件.so存储位置。
      3. CMAKE_RUNTIME_OUTPUT_DIRECTORY:可执行文件存储位置。
  8. 常用链接:
    1. cmake官方文档

转载于:https://www.cnblogs.com/gatsby123/p/10885555.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值