cclean: a cmake sanitizer
SUMMARY
cclean cleans up cmake's messiest build artifacts.
EXAMPLE
$ 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
-Bbuild directories - cclean wraps the cmake global
cleantarget - cclean removes cached
conanpackages
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
$ cargo install --force --path .
RUNTIME REQUIREMENTS
- cmake 3.4+
CONTRIBUTING
For more details on developing cclean itself, see DEVELOPMENT.md.
LICENSE
FreeBSD
SEE ALSO
- git, a distributed version control system
- gitignore.io, community maintained gitignore templates
- make, the classic, plain build system
- ninja, the fast, plain build system
- unmake, a linter for manually written makefiles