CMAKE-GUI(1)

πŸ’… CMAKE-GUI πŸ’…

okay bestie, so you know cmake-gui from the CMake family? yeah. this is its command-line reference page, and we're gonna get you fluent in it. no cap, it's a lot of --help-* flags, but they're all iconic in their own way.


✨ 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>]

like, four whole ways to show up to the party. pick your vibe πŸŽ€


🌸 DESCRIPTION 🌸

the cmake-gui executable is the CMake GUI. that's it, that's the whole thing. you get to set up your project configuration settings interactively, with your little mouse and your little clicks, and while the program is running there are brief instructions chillin' at the bottom of the window in case you forget what you're doing (we've all been there 🫢).

and if you're new here: CMake is a cross-platform build system generator. projects describe their build process using platform-independent CMake listfiles, and those live in each directory of a source tree under the name CMakeLists.txt. then you build your project by using CMake to generate a build system for a native tool on your platform. it's giving matchmaker but for compilers ✨


πŸ‘‘ OPTIONS πŸ‘‘

here comes the flag parade. buckle up, bestie πŸ’–

  • -S <path-to-source> β€” path to the root directory of the CMake project you want to build.
  • -B <path-to-build> β€” path to the directory CMake will use as the root of the build directory. and here's the cute part: if that directory doesn't already exist, CMake will make it. it's literally so thoughtful. πŸŽ€
  • --preset=<preset-name> β€” name of the preset to use from the project's presets files (cmake-presets(7)), if it has them. no presets? no problem.
  • --browse-manual [<filename>] β€” opens the CMake reference manual in a browser and immediately exits. like, opens it and dips πŸ‘‹. if you pass <filename>, it opens 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>] β€” shows the program name/version banner and exits. if you say json-v1, it prints extended version info in JSON format instead. that JSON output contains the versions for CMake and its dependencies. and the output gets printed to a named <file> if you give one. the JSON output format is described in machine-readable form by a JSON schema (iykyk).
  • -h, -H, --help, -help, -usage, /? β€” prints usage information and exits. usage describes the basic command line interface and its options. six whole ways to say "help me" 😭
  • --help <keyword> [<file>] β€” prints help for one single CMake keyword. <keyword> can be a property, variable, command, policy, generator or module. the relevant manual entry for <keyword> gets printed in a human-readable text format, and the output goes to a named <file> if you gave one.
⭐ Changed in version 3.28: prior to CMake 3.28, this option supported command names only. glow-up fr.
  • --help-full [<file>] β€” prints all the help manuals and exits. every single one, printed in a human-readable text format. the output goes to a named <file> if given. hydration but for documentation πŸ’§
  • --help-manual <man> [<file>] β€” prints one help manual and exits. the specified manual is printed in a human-readable text format, and the output goes to a named <file> if given.
  • --help-manual-list [<file>] β€” lists the help manuals available and exits. the list contains all manuals for which help may be obtained by using the --help-manual option followed by a manual name. output goes to a named <file> if given.
  • --help-command <cmd> [<file>] β€” prints help for one command and exits. the cmake-commands(7) manual entry for <cmd> is printed in a human-readable text format. output goes to a named <file> if given.
  • --help-command-list [<file>] β€” lists commands with help available and exits. the list contains all commands for which help may be obtained by using the --help-command option followed by a command name. output goes to a named <file> if given.
  • --help-commands [<file>] β€” prints the cmake-commands manual and exits. yes, the whole cmake-commands(7) manual, in a human-readable text format. output goes to a named <file> if given.
  • --help-module <mod> [<file>] β€” prints help for one module and exits. the cmake-modules(7) manual entry for <mod> is printed in a human-readable text format. output goes to a named <file> if given.
  • --help-module-list [<file>] β€” lists modules with help available and exits. the list contains all modules for which help may be obtained by using the --help-module option followed by a module name. output goes to a named <file> if given.
  • --help-modules [<file>] β€” prints the cmake-modules manual and exits. the cmake-modules(7) manual, printed in a human-readable text format. output goes to a named <file> if given.
  • --help-policy <cmp> [<file>] β€” prints help for one policy and exits. the cmake-policies(7) manual entry for <cmp> is printed in a human-readable text format. output goes to a named <file> if given.
  • --help-policy-list [<file>] β€” lists policies with help available and exits. the list contains all policies for which help may be obtained by using the --help-policy option followed by a policy name. output goes to a named <file> if given.
  • --help-policies [<file>] β€” prints the cmake-policies manual and exits. the cmake-policies(7) manual, printed in a human-readable text format. output goes to a named <file> if given.
  • --help-property <prop> [<file>] β€” prints help for one property and exits. the cmake-properties(7) manual entries for <prop> are printed in a human-readable text format (note the plural β€” entries πŸ‘€). output goes to a named <file> if given.
  • --help-property-list [<file>] β€” lists properties with help available and exits. the list contains all properties for which help may be obtained by using the --help-property option followed by a property name. output goes to a named <file> if given.
  • --help-properties [<file>] β€” prints the cmake-properties manual and exits. the cmake-properties(7) manual, printed in a human-readable text format. output goes to a named <file> if given.
  • --help-variable <var> [<file>] β€” prints help for one variable and exits. the cmake-variables(7) manual entry for <var> is printed in a human-readable text format. output goes to a named <file> if given.
  • --help-variable-list [<file>] β€” lists variables with help available and exits. the list contains all variables for which help may be obtained by using the --help-variable option followed by a variable name. output goes to a named <file> if given.
  • --help-variables [<file>] β€” prints the cmake-variables manual and exits. the cmake-variables(7) manual, printed in a human-readable text format. output goes to a named <file> if given.

πŸ¦‹ SEE ALSO πŸ¦‹

the following resources are available to get help using CMake, and honestly they're all worth a follow:

🏠 Home Page

https://cmake.org

the primary starting point for learning about CMake. main character energy, obviously.

🌈 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. go ask your questions, bestie, nobody's judging 🫢


2000-2026 Kitware, Inc. and Contributors


and that's the tea β˜• β€” this whole page is from CMake 4.4.5, dated Oct 28, 2026, and it's the CMAKE-GUI(1) manual, slay. now go configure something iconic πŸ’…βœ¨

πŸ“¦ where this page comes from