cmake常用命令总结
程序员文章站
2022-04-20 09:52:18
最近研究了下cmake,总结了一些常用命令,方便以后快速查找。 1. project(projectname [CXX] [C] [Java]): 1. 设置工程名。 2. set(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]]): 1. 设置变量VAR为指定值 ......
最近研究了下cmake,总结了一些常用命令,方便以后快速查找。
- project(projectname [cxx] [c] [java]):
- 设置工程名。
- set(var [value] [cache type docstring [force]]):
- 设置变量var为指定值。
- 例子:set(cxx_flags -g -wall)。将变量cxx_flags设置为"-g;-wall"。其中以分号分隔。
- include_directories([after|before] [system] dir1 dir2 ...):
- 将dir1, dir2作为include搜索路径。
- find_package(
[major.minor] [quiet] [no_module] [[required|components] [components...]]): - 暂时不是很理解。
- 例子:find_package(threads required)
- add_subdirectory(source_dir [binary_dir] [exclude_from_all]):
- source_dir下的cmakelists.txt也会被处理。
- 编译链接动作:
- add_library(libname [shared | static | module] [exclude_from_all] source1 source2 ... sourcen):
- 使用指定源文件生成库文件。该库文件会存储于cmake_archive_output_directory或者cmake_library_output_directory指定的目录。
- add_executable(exename [win32] [macosx_bundle] [exclude_from_all] source1 source2 ... sourcen):
- 使用指定源文件生成可执行文件。会存储于cmake_runtime_output_directory指定的位置。
- target_link_libraries(target library1 <debug | optimized> library2 ...):
- 将库文件链接到目标文件。
- add_library(libname [shared | static | module] [exclude_from_all] source1 source2 ... sourcen):
- 内置变量:
- 基础目录:
- 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。
- project_binary_dir:工程根目录。比如根cmakelists.txt位于/mnt/d/work/cpp/nanostl,那么该变量就是/mnt/d/work/cpp/nanostl。
- cmake_cxx_flags:编译器选项。
- 输出目录:
- cmake_archive_output_directory:编译后.a文件存储位置。
- cmake_library_output_directory:动态链接文件.so存储位置。
- cmake_runtime_output_directory:可执行文件存储位置。
- 基础目录:
- 常用链接:
上一篇: 使用Word 邮件合并功能批量生成多人诉讼文件减少工作量
下一篇: 第一次写博客