2 releases
Uses old Rust 2015
0.0.2 | Apr 16, 2023 |
---|---|
0.0.1 | Apr 16, 2023 |
#11 in #sanitizer
14KB
239 lines
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
-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
$ 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
Dependencies
~1.5MB
~21K SLoC