Easy-to-add enhancements for any C/C++ CMake project. Including AFL fuzzing, code-coverage, Thread/Address/Leak/Address/Undefined sanitizer instrumentation, compilation of GLSL shaders and more.
Accidentally broke LLVM-based code coverage when linking objects in.
Full Changelog: https://github.com/StableCoder/cmake-scripts/compare/24.04...24.04.1
Full Changelog: https://github.com/StableCoder/cmake-scripts/compare/23.09...24.04
prepare-catch.cmake
as deprecated, since modern Catch has solid CMake scripts and integration already.OBJECTS
set for code coverage now also adds static libraries in addition to the original shared libraries when displaying coverage information.CLANG_TIDY
, IWYU
and CPPCHECK
have been removed. Instead, it is up to the including project on when/how to enable these tools. The ability to 'reset' the tools, to disable them for certain scopes has been accommodated via the use of reset_*
macros.To remake the exact behaviour from before for tools.cmake, you can change something like this:
clang_tidy(...)
include_what_you_use(...)
cppcheck(...)
to
option(CLANG_TIDY "Turns on clang-tidy processing if it is found." OFF)
if(CLANG_TIDY)
clang_tidy(...)
endif()
option(IWYU "Turns on include-what-you-use processing if it is found." OFF)
if(IWYU)
include_what_you_use(...)
endif()
option(CPPCHECK "Turns on cppcheck processing if it is found." OFF)
if(CPPCHECK)
cppcheck(...)
endif()
Fixed code coverage support on Windows for the ccov-all-export
target, thanks to @stanczyk4 via https://github.com/StableCoder/cmake-scripts/issues/45.
Full Changelog: https://github.com/StableCoder/cmake-scripts/compare/22.01...23.04
Some fixes, some new features.
ccov-all
targets when using CMake pre-3.17 (code-coverage.cmake)ccov-all
targets on Windows (code-coverage.cmake)Changes from November 2020 -> January 2021
find_package
function in CMake to find various libraries not included with CMake: fmt, assimp, glm, OpenXR and yaml-cpp.Changes from April -> November 2020
What it says on the tin.