File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,7 +22,10 @@ macro(set_standards)
2222 endif ()
2323
2424 if ("{CMAKE_C_STANDARD}" STREQUAL "" )
25- if (DEFINED CMAKE_C17_STANDARD_COMPILE_OPTION OR DEFINED CMAKE_C17_EXTENSION_COMPILE_OPTION)
25+ if (NOT
26+ ${ProjectOptions_ENABLE_CPPCHECK} # cppcheck doesn't support C17 https://sourceforge.net/p/cppcheck/discussion/general/thread/19ea152bba/
27+ AND DEFINED CMAKE_C17_STANDARD_COMPILE_OPTION
28+ OR DEFINED CMAKE_C17_EXTENSION_COMPILE_OPTION)
2629 set (C_LATEST_STANDARD 17)
2730 elseif (DEFINED CMAKE_C11_STANDARD_COMPILE_OPTION OR DEFINED CMAKE_C11_EXTENSION_COMPILE_OPTION)
2831 set (C_LATEST_STANDARD 11)
Original file line number Diff line number Diff line change @@ -26,15 +26,27 @@ macro(enable_cppcheck CPPCHECK_OPTIONS)
2626 set (CMAKE_CXX_CPPCHECK ${CPPCHECK} --template=${CPPCHECK_TEMPLATE} ${CPPCHECK_OPTIONS} )
2727 endif ()
2828
29+ if (WARNINGS_AS_ERRORS)
30+ list (APPEND CMAKE_CXX_CPPCHECK --error-exitcode=2)
31+ endif ()
32+
33+ # C cppcheck
34+ set (CMAKE_C_CPPCHECK ${CMAKE_CXX_CPPCHECK} )
35+
2936 if (NOT
3037 "${CMAKE_CXX_STANDARD} "
3138 STREQUAL
3239 "" )
3340 set (CMAKE_CXX_CPPCHECK ${CMAKE_CXX_CPPCHECK} --std=c++${CMAKE_CXX_STANDARD} )
3441 endif ()
35- if (WARNINGS_AS_ERRORS)
36- list (APPEND CMAKE_CXX_CPPCHECK --error-exitcode=2)
42+
43+ if (NOT
44+ "${CMAKE_C_STANDARD} "
45+ STREQUAL
46+ "" )
47+ set (CMAKE_C_CPPCHECK ${CMAKE_C_CPPCHECK} --std=c${CMAKE_C_STANDARD} )
3748 endif ()
49+
3850 else ()
3951 message (${WARNING_MESSAGE} "cppcheck requested but executable not found" )
4052 endif ()
You can’t perform that action at this time.
0 commit comments