cppcheck icon indicating copy to clipboard operation
cppcheck copied to clipboard

donate-cpu: added support for `mingw32-make` and improved support for `msbuild.exe`

Open firewave opened this issue 3 years ago • 0 comments

This allows both to build binaries and run the analysis successfully. Obviously they are not fully supported yet so I added a check which prevents uploads from happening for now.

A small assortments of TODOs (I will possibly file tickets for some of them):

  • handling of crashes/asserts/signals - https://trac.cppcheck.net/ticket/11255
    • stack trace generation
    • proper NDEBUG configuration - https://trac.cppcheck.net/ticket/10736
    • exitcode handling
  • handling of timeouts - https://trac.cppcheck.net/ticket/1124
    • process termination
  • process vs. thread usage in binary
  • proper coexistence of multiple build systems/compiler on same machine
    • possible clang, clang-cl support - https://trac.cppcheck.net/ticket/10542
  • newly added source TODOs

mingw32-make

cppcheck-options: --library=posix --library=gnu  --showtime=top5 --check-library --inconclusive --enable=style,information --inline-suppr --template=daca2 -D__GNUC__ --platform=unix64 -j7
platform: Windows-10-10.0.19044-SP0
python: 3.9.13
client-version: 1.3.31
compiler: g++ (GCC) 11.2.0
cppcheck: head 2.8
head-info: bdbd84b (2022-08-09 13:13:16 +0200)
count: 0 0
elapsed-time: 0.2 0.1

msbuild.exe

cppcheck-options: --library=posix --library=gnu  --showtime=top5 --check-library --inconclusive --enable=style,information --inline-suppr --template=daca2 -D__GNUC__ --platform=unix64 -j7
platform: Windows-10-10.0.19044-SP0
python: 3.9.13
client-version: 1.3.31
compiler: Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
cppcheck: head 2.8
head-info: bdbd84b (2022-08-09 13:13:16 +0200)
count: 0 0
elapsed-time: 0.2 0.2

@danmar It also highlights several of the still existing shortcomings of Makefile. I wonder if we should remove support for things like MinGW/Cygwin/Windows from Makefile and redirect to CMake for that. That would clean up the regular Makefile and give more stable support for those platforms.

firewave avatar Aug 11 '22 09:08 firewave