当前位置: 移动技术网 > IT编程>开发语言>C/C++ > cmake常用命令总结

cmake常用命令总结

2019年05月19日  | 移动技术网IT编程  | 我要评论

弹弹堂大力神,西大附中官网,大化网

最近研究了下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. 常用链接:

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网