Files
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

84 lines
5.5 KiB
Go

package cc
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "cmake",
Description: "Command-line interface of the cross-platform buildsystem generator CMake",
Subcommands: []spec.Subcommand{
{Name: "permissions", Description: "Format: <u=rwx,g=rx,o=rx>"},
{Name: "cat", Description: "Concatenate files and print on the standard output"},
{Name: "chdir", Description: "Change the current working directory and run a command"},
{Name: "create_symlink", Description: "Create a symbolic link <new> naming <old>"},
{Name: "create_hardlink", Description: "Create a hard link <new> naming <old>"},
{Name: "echo", Description: "Displays arguments as text"},
{Name: "echo_append", Description: "Displays arguments as text but no new line"},
{Name: "env", Description: "Run command in a modified environment"},
{Name: "key value pair", Description: "Format: NAME=VALUE"},
{Name: "environment", Description: "Display the current environment variables"},
{Name: "false", Description: "Do nothing, with an exit code of 1"},
{Name: "md5sum", Description: "Create MD5 checksum of files in md5sum compatible format"},
{Name: "sha1sum", Description: "Create SHA1 checksum of files in sha1sum compatible format"},
{Name: "sha224sum", Description: "Create SHA224 checksum of files in sha224sum compatible format"},
{Name: "sha226sum", Description: "Create SHA226 checksum of files in sha226sum compatible format"},
{Name: "sha384sum", Description: "Create SHA384 checksum of files in sha384sum compatible format"},
{Name: "sha512sum", Description: "Create SHA512 checksum of files in sha512sum compatible format"},
{Name: "rm", Description: "Remove the files <file> or directories dir"},
{Name: "server", Description: "Launch cmake-server(7) mode"},
{Name: "sleep", Description: "Sleep for given number of seconds"},
{Name: "tar", Description: "Create or extract a tar or zip archive"},
{Name: "v", Description: "Produce verbose output"},
{Name: "z", Description: "Compress the resulting archive with gzip"},
{Name: "j", Description: "Compress the resulting archive with bzip2"},
{Name: "J", Description: "Compress the resulting archive with XZ"},
{Name: "time", Description: "Run command and display elapsed time"},
{Name: "true", Description: "Do nothing, with an exit code of 0"},
},
Options: []spec.Option{
{Name: "--build", Description: "Use a build preset to specify build options"},
{Name: "--list-presets", Description: "For multi-configuration tools, choose configuration <cfg>"},
{Name: "--clean-first", Description: "Build target clean first, then build"},
{Name: "--use-stderr", Description: "Ignored. Behavior is default in CMake >= 3.0"},
{Name: "--verbose", Description: "Pass remaining options to the native tool"},
{Name: "--install", Description: "Project binary directory to install. This is required and must be first"},
{Name: "--config", Description: "For multi-configuration generators"},
{Name: "--component", Description: "Component-based install. Only install component specified"},
{Name: "--prefix", Description: "Override the installation prefix"},
{Name: "--strip", Description: "Strip before installing"},
{Name: "--open", Description: "CMake provides builtin command-line tools through the signature"},
{Name: "--ignore-eol", Description: "Implies line-wise comparison and ignores LF/CRLF differences"},
{Name: "--unset", Description: "Display the current environment variables"},
{Name: "-f", Description: "Remove the files <file> or directories dir"},
{Name: "-r", Description: "Launch cmake-server(7) mode"},
{Name: "--zstd", Description: "Compress the resulting archive with Zstandard"},
{Name: "--files-from", Description: "Specify the format of the archive to be created"},
{Name: "--mtime", Description: "Specify modification time recorded in tarball entries"},
{Name: "-S", Description: "Path to root directory of the CMake project to build"},
{Name: "--help", Description: "Pre-load a script to populate the cache"},
{Name: "-D", Description: "Create or update a CMake CACHE entry"},
{Name: "-U", Description: "Remove matching entries from CMake CACHE"},
{Name: "-G", Description: "Specify a build system generator"},
{Name: "-T", Description: "Toolset specification for the generator, if supported"},
{Name: "-A", Description: "Specify platform name if supported by generator"},
{Name: "--install-prefix", Description: "Suppress developer warnings"},
{Name: "-Wdev", Description: "Enable developer warnings"},
{Name: "-Werror", Description: "Enable the type of warnings"},
{Name: "-Wno-error", Description: "Disable the type of warnings"},
{Name: "-Wdeprecated", Description: "Enable deprecated functionality warnings"},
{Name: "-Wno-deprecated", Description: "Suppress deprecated functionality warnings"},
{Name: "-L", Description: "List non-advanced cached-variables"},
{Name: "-N", Description: "View mode only"},
{Name: "--graphviz", Description: "Generate graphviz of dependencies"},
{Name: "--system-information", Description: "Dump information about this system"},
{Name: "--log-level", Description: "Set log-level"},
{Name: "--log-context", Description: "Enable the message() command outputting context attached to each message"},
{Name: "--debug-trycompile", Description: "Do not delete the try_compile() build tree"},
{Name: "--debug-output", Description: "Put cmake in a debug mode"},
{Name: "--debug-find", Description: "Put cmake find commands in a debug mode"},
},
})
}