* Fix#11081 GUI: Windows release build crashes
Use generator expressions rather than if statements when adding compiler
options or definitions.
* Fix#11081 GUI: Windows CMake debug build fails with default options
When DISABLE_CRTDBG_MAP_ALLOC is using the default value (OFF), the
debug build of cppcheck-gui fails, as the "realloc" method names in some
of the Qt headers are replaced by the macro defined by the compiler.
Thus DISABLE_CRTDBG_MAP_ALLOC is explicitely set when compiling
cppcheck-gui in Debug mode using MSVC.
* added CMake option `DISABLE_DMAKE` to disable `run-dmake` dependencies
* tools/CMakeLists.txt: added TODO
* use `ccache` for sanitizer builds
* aligned selfcheck between sanitizer workflows and disabled some currently unnecessary steps
* CI-unixish.yml: do not use precompiled headers with `ccache`
* Remove ccache.cmake so ccache can work on older cmake versions
* Revert "Remove ccache.cmake so ccache can work on older cmake versions"
This reverts commit 22301d41d31e72f7d1bbb68dfa601b0e3bf79b22.
* Update version
* CI-unixish.yml: handle precompiled headers with `ccache`
* actually support `ccache` in CMake < 3.17
* CI-unixish-docker.yml: split CMake build and test execution into separate steps
* findDependencies.cmake: only print message about macthcompiler being disabled when it is actually used
* CI-unixish-docker.yml: added missing `ccache` CMake options
* lib/CMakeLists.txt: removed unnecessary external include
* look up tinyxml2 include dir when using system one and specify it
* lib/CMakeLists.txt: do not treat bundled headers as system ones
* CI-unixish.yml: actually perform system tinyxml2 build on macos
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.
If tinyxml2 is found by find_package(), then tinyxml2_LIBRARIES
is empty. Set tinyxml2_LIBRARIES to "tinyxml2::tinyxml2" in this case.
- Fixes "undefined reference to `tinyxml2::"
- printInfo.cmake: Fix indentation of tinyxml2_LIBRARIES
* printInfo.cmake: small cleanup
* added SmallVector alias with conditional boost::container version
Co-authored-by: Ken-Patrick Lehrmann <kp.lehrmann+github@gmail.com>
* smallvector.h: added custom allocator to regular SmallVector version
Co-authored-by: Ken-Patrick Lehrmann <kp.lehrmann+github@gmail.com>
Co-authored-by: Paul Fultz II <pfultz2@yahoo.com>