* 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.
* moved more code into `HAVE_RULES`
* properly enable all internal and rules code in selfcheck
* updated TODOs in selfcheck
* testrunner.vcxproj.filters: updated
* added missing `Debug-PCRE` and `Release-PCRE` configurations for `testrunner` Visual Studio project
* cppcheck.cpp: fixed `useStlAlgorithm` selfcheck warning
* removed old timing tracking code
* tools/triage_py/README.md: updated
* triage_version.py: fixed output when when stderr and stdout are not empty
* triage_version.py: added `--perf` to collect performance data in CSV format
* triage_version.py: added TODO about providing additional options
* triage_version.py: added `--start` to specify the first tag/commit to execute
* donate-cpu-server.py: bumped version
* donate-cpu-server.py: fixed some PyCharm inspection warnings
* donate-cpu-server.py: use `os.path.join()`
* donate-cpu-server.py: added support for basic `information` reports
* added `Settings::useSingleJob()` and use it instead of checking `jobs` or `jointSuppressionReport`
* extracted single job execution into `SingleExecutor`
* moved `reportStatus()` from `CppCheckExecutor` to Èxecutor
* TestSingleExecutor: improved tests
* added testing of markup extension handling in executors
* cleaned up includes based on `include-what-you-use`
* testsingleexecutor.cpp: suppress `performance-unnecessary-value-param` clang-tidy warnings
* ProcessExecutor: send color via pipe instead of applying it beforehand
* do not unconditionally apply colors to output / disable all colors in tests / adjusted tests for changed output behavior
* fixed precision loss in `Executor::reportStatus()`
* fixed `naming-varname` selfcheck warnings
* 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`
* Add try_retry-logic to get_packages_count()
Occasionally, get_packages_count() fails, which is a bit annoying since
it happens after compilation and therefore can take some time to detect.
Add try-retry to the function to make it more robust.
* Move try_retry-logic to lib.get_package()
Moving it to the library means test-my-pr also benefits from it. This
fixes Trac ticket #11405.
* dmake.cpp: use `endsWith()` in `getCppFiles()`
* dmake.cpp: optimized string concatenation in `getDeps()`
* dmake.cpp: avoid duplicated `std::string::find()` in `getDeps()`
* dmake.cpp: no need to get dependencies of headers without `.h` extension in `getDeps()`
* dmake.cpp: do not try to look for file in `externals` folder which does not contain any headers in `getDeps()`
* Makefile: bail out if `pcre-config` is missing
* CI-unixish.yml: install `pcre` for `macos` via `brew` since it suddenly disappeared from the runner images
* use python3 on debians too
in Debian 11 which is Bullseye, /usr/bin/python is a Python2
interpreter, which means that cppcheck-htmlreport fails to run here.
So I've chenged the shebang to use python3
* change all shebangs from python to python3
Co-authored-by: Sam M W <smw@alertergroup.co.uk>