Commit Graph

149 Commits

Author SHA1 Message Date
Oliver Stöneberg a0b1285f4a
added CMake option `BUILD_CORE_DLL` to build lib as `cppcheck-core.dll` with Visual Studio (#4733) 2023-01-26 22:13:07 +01:00
Oliver Stöneberg edbd4f6e81
printInfo.cmake: only print UI-related option if `BUILD_GUI` is specified (#4721) 2023-01-18 16:58:12 +01:00
Oliver Stöneberg 48a0d934a3
compilerDefinitions.cmake: specify proper define for "safe libc++" (#4672) 2023-01-02 22:10:50 +01:00
Oliver Stöneberg 8bb5ac0efd
improved `MathLib::to{ULong|Long|Double}Number()` and increased test coverage / added CMake option `USE_LIBCXX` / fixed #10695 (#4611) 2022-12-07 09:20:09 +01:00
Paul Fultz II 436c5c8efc
Update version check in ccache.cmake so ccache can work on older cmake versions (#4567)
* 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
2022-11-14 12:11:31 +01:00
Daniel Marjamäki 94c3108494 GUI: Detect when version is old 2022-10-09 18:51:01 +02:00
Oliver Stöneberg 3dfdb409c6
fixed and enabled some Clang compiler warnings (#4517) 2022-09-29 21:59:02 +02:00
Oliver Stöneberg 767db58a5b
findDependencies.cmake: no need to specify `COMPONENTS` for boost when using it header-only (#4511) 2022-09-27 18:49:38 +02:00
Oliver Stöneberg fd9d05300e
handle precompiled headers with `ccache` / fixed caching in some docker builds (#4505)
* 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
2022-09-26 18:21:43 +02:00
Oliver Stöneberg 433293b9ab
added missing version bumps to 2.10 (#4420) 2022-09-09 21:02:04 +02:00
Oliver Stöneberg b3762cd76a
actually perform system tinyxml2 build on macos / fixed system tinyxml2 include (#4445)
* 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
2022-09-06 18:30:59 +02:00
Paul Fultz II a586b9e8ee
Use safe compile option (#4413) 2022-08-27 23:22:31 +02:00
Oliver Stöneberg 1262c98416
some clang-tidy CMake integration improvements / fixed `SOVERSION` with multi-digit versions (#4391) 2022-08-22 20:13:13 +02:00
Oliver Stöneberg 1202efb438
some `--exception-handling` related improvements (#4368) 2022-08-20 20:54:31 +02:00
Oliver Stöneberg 32c0167eab
specify `-pipe` for GCC to use pipes instead of temporary files - greatly reduces I/O usage (#4360) 2022-08-16 22:12:01 +02:00
Oliver Stöneberg d6eb3a8f40
some changes for clang/clang-tidy 15 (#4310) 2022-07-26 15:30:53 +02:00
Oliver Stöneberg f644938eb0
fixed Cppcheck version (#4292) 2022-07-19 20:42:19 +02:00
Oliver Stöneberg e8b0f12367
replaced `if(MATCHES)` with `if(STREQUAL)` (#4263)
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.
2022-07-11 10:46:18 +02:00
Armin Müller 0ae9877766
Typos found by running "codespell" (#4260) 2022-07-10 22:40:05 +02:00
Oliver Stöneberg b51aea5531
separated process execution code into `ProcessExecutor` (#4249) 2022-07-08 16:42:57 +02:00
Paul Fultz II cee48e5e19
Add backtrace to valueflow in debug mode (#4195) 2022-06-12 07:13:42 +02:00
Oliver Stöneberg cfab6aeecf
use CMake for sanitizer builds / some CMake command cleanups (#4147) 2022-06-03 21:33:56 +02:00
Oliver Stöneberg d299d22fa2
updated CI to latest ubuntu and clang (#4004) 2022-05-22 15:27:32 +02:00
Oliver Stöneberg 14421ae627
fail `run-clang-tidy` in case of compiler warnings / fixed Clang warnings / cleanups (#4036) 2022-05-15 12:42:29 +02:00
Oliver Stöneberg fdca61add9
aligned build options of Visual Studio project configurations and added them to CMake (#4020) 2022-04-21 21:28:29 +02:00
Oliver Stöneberg e374176f17
options.cmake: do not prefer Qt6 by default (for now) (#4028) 2022-04-19 10:12:31 +02:00
Oliver Stöneberg 36ef4dc5b8
added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
Oliver Stöneberg 0e1a0b97ed
added make targets `checkCWEEntries`, `validateXML` and `validateRules` to CMake (#4010) 2022-04-13 20:56:07 +02:00
Daniel Marjamäki 8f386e15fd Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
Paul Fultz II 32ded1602b
Fix warnings in switch statements on clang (#3943) 2022-03-30 19:30:02 +02:00
Daniel Marjamäki 212ac6c214 compile_commands.json: ensure that order of include paths are kept 2022-03-24 22:50:04 +01:00
Wolfgang Stöggl 3cefba0259
Set tinyxml2_LIBRARIES after find_package() (#3918)
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
2022-03-22 21:41:44 +01:00
Oliver Stöneberg 9d4fb16d7d
added SmallVector alias with conditional boost::container version (#3799)
* 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>
2022-03-20 10:13:32 +01:00
Georgi D. Sotirov 33315b0ae5
Replace tinyxml2_LIBRARY with tinyxml2_LIBRARIES (#3897) 2022-03-15 21:17:03 +01:00
Oliver Stöneberg 0d336b868c
avoid some Clang compiler warnings (#3896) 2022-03-13 20:07:58 +01:00
Oliver Stöneberg 51371f7929
added CMake option USE_THREADS to be able to use threads instead of fork() / cleanups (#3852) 2022-02-23 09:04:35 +01:00
Oliver Stöneberg 12c1c081dc
run dmake and update Qt translation files on CMake build (#3820) 2022-02-16 07:06:59 +01:00
Oliver Stöneberg 04b2a6f1c5
use Python version provided by platform in CI / prefer python3 (#3776) 2022-02-11 19:37:32 +01:00
Oliver Stöneberg d528555002
some preparations for Qt6 support (#3777)
* findDependencies.cmake: cleaned up find_package() call for Qt

* some CMake preparations for Qt6 support

* some Qt6 compilation fixes
2022-02-07 17:35:25 +01:00
Oliver Stöneberg a15a227b73
bumped minimum supported GCC version to 4.8 (#3768) 2022-02-05 17:57:32 +01:00
Daniel Marjamäki 631a9eefd2 2.7: Set versions 2022-02-05 12:17:54 +01:00
Oliver Stöneberg 4b5fba19bd
added CMake option CPPCHK_GLIBCXX_DEBUG to make usage of _GLIBCXX_DEBUG in Debug build configurable (#3628) 2022-01-04 15:45:36 +01:00
Oliver Stöneberg c918e1bc50
added building of GUI tests to CMake (#3619) 2021-12-17 21:49:32 +01:00
Oliver Stöneberg 54d621555d
scan GUI sources with clang-tidy in CI (#3233)
* build UI dependencies before running clang-tidy

* clang-tidy.yml: enabled GUI sources and build some dependencies for clang-tidy

* work around missing dependency for Qt install step
2021-10-31 20:15:32 +01:00
Oliver Stöneberg b4704ba065
use target-specific configuration instead of global ones in CMake (#3534) 2021-10-30 09:08:07 +02:00
Paul Fultz II 1f5c3670bd
Use a unique variable name when checking if a flag is valid (#3532) 2021-10-30 09:07:06 +02:00
Oliver Stöneberg 70dcc9544e
updated latest ubuntu version to 21.10 / updated to clang-tidy-13 (#3494) 2021-10-24 11:07:45 +02:00
Oliver Stöneberg cc1a18806c
use -Weverything for clang in CMake / fixed some warnings (#3519) 2021-10-24 11:06:48 +02:00
Daniel Marjamäki 7684d7b98a 2.6 dev: set version 2021-10-02 13:15:12 +02:00
Paul Fultz II 59a1c1a9d8
Refactor: Remove variable analyzer (#3339) 2021-07-18 07:46:31 +02:00