# cmake-gui(1)

## Synopsis

    cmake-gui [<options>]
    cmake-gui [<options>] -B <path-to-build> [-S <path-to-source>]
    cmake-gui [<options>] <path-to-source | path-to-existing-build>
    cmake-gui [<options>] --browse-manual [<filename>]

## Description

The cmake-gui executable is the CMake GUI. Project configuration settings may be specified interactively. Brief instructions are provided at the bottom of the window when the program is running.

CMake is a cross-platform build system generator. Projects specify their build process with platform-independent CMake listfiles included in each directory of a source tree with the name `CMakeLists.txt`. Users build a project by using CMake to generate a build system for a native tool on their platform.

## Options

-S <path-to-source>

  Path to root directory of the CMake project to build.

-B <path-to-build>

  Path to directory which CMake will use as the root of build directory.

  If the directory doesn't already exist CMake will make it.

--preset=<preset-name>

  Name of the preset to use from the project's `presets` files, if it has them.

--browse-manual [<filename>]

  Open the CMake reference manual in a browser and immediately exit. If `<filename>` is specified, open that file within the reference manual instead of `index.html`.

-version[=json-v1] [<file>], --version[=json-v1] [<file>], /V[=json-v1] [<file>], /version[=json-v1] [<file>]

  Show program name/version banner and exit. If `json-v1` is specified, print extended version information in JSON format. The JSON output contains the versions for the CMake and its dependencies. The output is printed to a named `<file>` if given.

  The JSON output format is described in machine-readable form by `this JSON schema`.

-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.28, this 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.

## See Also

The following resources are available to get help using CMake:

Home Page

  https://cmake.org

  The primary starting point for learning about CMake.

Online Documentation and Community Resources

  https://cmake.org/documentation

  Links to available documentation and community resources may be found on this web page.

Discourse Forum

  https://discourse.cmake.org

  The Discourse Forum hosts discussion and questions about CMake.