CMake使用指南

简介

CMake 是一个用于管理源代码构建的工具。最初,CMake 被设计为各种 Makefile 方言的生成器,但如今它还可以生成现代的构建系统,比如 Ninja,以及针对诸如 Visual Studio 和 Xcode 等集成开发环境的项目文件。

参考手册

命令行工具

cmake

Generate a Project Buildsystem

 cmake [<options>] -B <path-to-build> [-S <path-to-source>]

 cmake [<options>] <path-to-source | path-to-existing-build>

Build a Project

 cmake --build <dir> [<options>] [-- <build-tool-options>]

Install a Project

 cmake --install <dir> [<options>]

Open a Project

 cmake --open <dir>

Run a Script

 cmake [-D <var>=<value>]... -P <cmake-script-file>

Run a Command-Line Tool

 cmake -E <command> [<options>]

Run the Find-Package Tool

 cmake --find-package [<options>]

Run a Workflow Preset

 cmake --workflow [<options>]

View Help

 cmake --help[-<topic>]

ctest

Run Tests

 ctest [<options>] [--test-dir <path-to-build>]

Build and Test Mode

 ctest --build-and-test <path-to-source> <path-to-build>

       --build-generator <generator> [<options>...]

      [--build-options <opts>...]

      [--test-command <command> [<args>...]]

Dashboard Client

 ctest -D <dashboard>         [-- <dashboard-options>...]

 ctest -M <model> -T <action> [-- <dashboard-options>...]

 ctest -S <script>            [-- <dashboard-options>...]

 ctest -SP <script>           [-- <dashboard-options>...]

View Help

 ctest --help[-<topic>]

cpacket

-G <generators>

<generators> is a semicolon-separated list of generator names. cpack will iterate through this list and produce package(s) in that generator's format according to the details provided in the CPackConfig.cmake configuration file. If this option is not given, the CPACK_GENERATOR variable determines the default set of generators that will be used.

-C <configs>

Specify the project configuration(s) to be packaged (e.g. Debug, Release, etc.), where <configs> is a semicolon-separated list. When the CMake project uses a multi-configuration generator such as Xcode or Visual Studio, this option is needed to tell cpack which built executables to include in the package. The user is responsible for ensuring that the configuration(s) listed have already been built before invoking cpack.

-D <var>=<value>

Set a CPack variable. This will override any value set for <var> in the input file read by cpack.

--config <configFile>

Specify the configuration file read by cpack to provide the packaging details. By default, CPackConfig.cmake in the current directory will be used.

-V, --verbose

Run cpack with verbose output. This can be used to show more details from the package generation tools and is suitable for project developers.

--debug

Run cpack with debug output. This option is intended mainly for the developers of cpack itself and is not normally needed by project developers.

--trace

Put the underlying cmake scripts in trace mode.

--trace-expand

Put the underlying cmake scripts in expanded trace mode.

-P <packageName>

Override/define the value of the CPACK_PACKAGE_NAME variable used for packaging. Any value set for this variable in the CPackConfig.cmake file will then be ignored.

-R <packageVersion>

Override/define the value of the CPACK_PACKAGE_VERSION variable used for packaging. It will override a value set in the CPackConfig.cmake file or one automatically computed from CPACK_PACKAGE_VERSION_MAJOR, CPACK_PACKAGE_VERSION_MINOR and CPACK_PACKAGE_VERSION_PATCH.

-B <packageDirectory>

Override/define CPACK_PACKAGE_DIRECTORY, which controls the directory where CPack will perform its packaging work. The resultant package(s) will be created at this location by default and a _CPack_Packages subdirectory will also be created below this directory to use as a working area during package creation.

--vendor <vendorName>

Override/define CPACK_PACKAGE_VENDOR.

--preset <presetName>

Use a preset from cmake-presets(7).

--list-presets

List presets from cmake-presets(7).

-version [<file>], --version [<file>], /V [<file>]

Show program name/version banner and exit. The output is printed to a named <file> if given.

-h, -H, --help, -help, -usage, /?

Print usage information and exit.

Usage describes the basic command line interface and its options.

--help <keyword> [<file>]

Print help for one CMake keyword.

<keyword> can be a property, variable, command, policy, generator or module.

The relevant manual entry for <keyword> is printed in a human-readable text format. The output is printed to a named <file> if given.

Changed in version 3.28: Prior to CMake 3.28this option supported command names only.

--help-full [<file>]

Print all help manuals and exit.

All manuals are printed in a human-readable text format. The output is printed to a named <file> if given.

--help-manual <man> [<file>]

Print one help manual and exit.

The specified manual is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-manual-list [<file>]

List help manuals available and exit.

The list contains all manuals for which help may be obtained by using the --help-manual option followed by a manual name. The output is printed to a named <file> if given.

--help-command <cmd> [<file>]

Print help for one command and exit.

The cmake-commands(7) manual entry for <cmd> is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-command-list [<file>]

List commands with help available and exit.

The list contains all commands for which help may be obtained by using the --help-command option followed by a command name. The output is printed to a named <file> if given.

--help-commands [<file>]

Print cmake-commands manual and exit.

The cmake-commands(7) manual is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-module <mod> [<file>]

Print help for one module and exit.

The cmake-modules(7) manual entry for <mod> is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-module-list [<file>]

List modules with help available and exit.

The list contains all modules for which help may be obtained by using the --help-module option followed by a module name. The output is printed to a named <file> if given.

--help-modules [<file>]

Print cmake-modules manual and exit.

The cmake-modules(7) manual is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-policy <cmp> [<file>]

Print help for one policy and exit.

The cmake-policies(7) manual entry for <cmp> is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-policy-list [<file>]

List policies with help available and exit.

The list contains all policies for which help may be obtained by using the --help-policy option followed by a policy name. The output is printed to a named <file> if given.

--help-policies [<file>]

Print cmake-policies manual and exit.

The cmake-policies(7) manual is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-property <prop> [<file>]

Print help for one property and exit.

The cmake-properties(7) manual entries for <prop> are printed in a human-readable text format. The output is printed to a named <file> if given.

--help-property-list [<file>]

List properties with help available and exit.

The list contains all properties for which help may be obtained by using the --help-property option followed by a property name. The output is printed to a named <file> if given.

--help-properties [<file>]

Print cmake-properties manual and exit.

The cmake-properties(7) manual is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-variable <var> [<file>]

Print help for one variable and exit.

The cmake-variables(7) manual entry for <var> is printed in a human-readable text format. The output is printed to a named <file> if given.

--help-variable-list [<file>]

List variables with help available and exit.

The list contains all variables for which help may be obtained by using the --help-variable option followed by a variable name. The output is printed to a named <file> if given.

--help-variables [<file>]

Print cmake-variables manual and exit.

The cmake-variables(7) manual is printed in a human-readable text format. The output is printed to a named <file> if given.

参考资料

CMake Reference Documentation — CMake 3.28.2 Documentation

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值