* 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>
* donate-cpu-server.py: bumped version
* donate-cpu-server.py: adjusted some variables names
* donate-cpu-server.py: small date string parsing improvement
* donate-cpu-server.py: added timestamp to all messages
* donate-cpu-server.py: bail out if `donated-results` folder is missing
* donate-cpu-server.py: use more detailed timestamp in logging
* donate-cpu-server.py: use `with` scopes
* test_donate_cpu_lib.py: added more tests
* test_donate_cpu_lib.py: fixed non-working assert
* donate_cpu_lib.py: use `\t` in `LibraryIncludes` regular expressions instead of an actual TAB character
* donate_cpu_lib.py: bumped version
* donate_cpu_lib.py: use non-capturing group in `LibraryIncludes` regular expressions
* cleaned up triage.pro and pass all triage files to selfcheck
* CI-unixish.yml: factored out redundant selfcheck flags
* CI-unixish.yml: cleaned up selfcheck suppressions and fixed warnings
* added explicit `missingInclude` checks to selfcheck to work around current issues/limitations / fixed selfcheck includes / added some unit tests for `missingInclude`
* applied the selfcheck changes to the sanitizer jobs
* only fail TSAN CI build in case of TSAN error / updated sanitizer CI build TODOs
* donate_cpu_lib.py: bumped version
* donate-cpu.py: replaced `version.StrictVersion` from deprecated `distutils` with `version.Version` from `packaging`
* donate_cpu_lib.py: omit `-rp=` from `cppcheck-options`
* donate-cpu.py: use `get_client_version()` instead of constant
* donate_cpu_lib.py: use `os.path.join()`
* donate-cpu: removed remaining usage of `os.chdir()`
* donate_cpu_lib.py: moved library includes code into class
* donate_cpu_lib.py: pre-compile library include regular expressions
* donate_cpu_lib.py: pre-compile some more regular expressions
* donate_cpu_lib.py: small unpack_package() cleanup and optimization
* donate_cpu_lib.py: added some information about the extracted files to unpack_package()
* donate_cpu_lib.py: bumped version
* added test_donate_cpu_lib.py
* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance
only scan each file once for previously undetected libraries only
* test_donate_cpu_lib.py: fix for Python 3.5
* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions
* fixed `test_arguments_regression()` Python tests with additional pytest arguments
* donate_cpu_lib.py: use `subprocess.check_call()`
* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.