cclean 0.0.2

a cmake sanitizer
Documentation
# cclean: a cmake sanitizer

# SUMMARY

cclean cleans up cmake's messiest build artifacts.

# EXAMPLE

```console
$ cd example

$ cmake .
$ cmake --build . --target hello
$ tree
.
├── CMakeCache.txt
├── CMakeFiles
...
├── CMakeLists.txt
├── Makefile
├── bin
│   └── hello
├── cmake_install.cmake
└── hello.c

$ cclean
$ tree
.
├── CMakeLists.txt
└── hello.c
```

See `cclean -h` for more options.

# ABOUT

cclean assists cmake with removing common internal artifacts. This is helpful for freeing up disk space.

cmake often enters a corrupt state, requiring manual intervention. cclean automates the process of resetting cmake back to a clean state.

cclean is particularly helpful for cross-platform workflows. For example, when building the same host directory once in WSL, and then again in PowerShell.

# NOTABLE FEATURES

* cclean runs independently of cmake, enabling it to remove sticky cmake artifacts like `.ninja_log`
* cclean removes custom `-B` build directories
* cclean wraps the cmake global `clean` target
* cclean removes cached `conan` packages

Like cmake, cclean encourages portable build steps. This enables cmake projects to build more reliably on more environments.

# WARNING

Configure the cmake global `clean` target (esp. `ADDITIONAL_CLEAN_FILES`) carefully, in order to avoid accidents.

# CRATE

https://crates.io/crates/cclean

# INSTALL FROM SOURCE

```console
$ cargo install --force --path .
```

# RUNTIME REQUIREMENTS

* [cmake]https://cmake.org/ 3.4+

# CONTRIBUTING

For more details on developing cclean itself, see [DEVELOPMENT.md](DEVELOPMENT.md).

# LICENSE

FreeBSD

# SEE ALSO

* [git]https://git-scm.com/, a distributed version control system
* [gitignore.io]https://www.toptal.com/developers/gitignore, community maintained gitignore templates
* [make]https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html, the classic, plain build system
* [ninja]https://ninja-build.org/, the fast, plain build system
* [unmake]https://github.com/mcandre/unmake, a linter for manually written makefiles