11#
2- # Copyright (C) 2018-2020 by George Cave - gcave@stablecoder.ca
2+ # Copyright (C) 2018-2023 by George Cave - gcave@stablecoder.ca
33#
44# Licensed under the Apache License, Version 2.0 (the "License"); you may not
55# use this file except in compliance with the License. You may obtain a copy of
@@ -21,6 +21,9 @@ option(CPPCHECK "Turns on cppcheck processing if it is found." OFF)
2121# as the options set.
2222macro (clang_tidy)
2323 if (CLANG_TIDY AND CLANG_TIDY_EXE)
24+ set (CMAKE_C_CLANG_TIDY
25+ ${CLANG_TIDY_EXE} ${ARGN}
26+ CACHE STRING "" FORCE)
2427 set (CMAKE_CXX_CLANG_TIDY
2528 ${CLANG_TIDY_EXE} ${ARGN}
2629 CACHE STRING "" FORCE)
@@ -31,6 +34,9 @@ endmacro()
3134# used as the options set.
3235macro (include_what_you_use)
3336 if (IWYU AND IWYU_EXE)
37+ set (CMAKE_C_INCLUDE_WHAT_YOU_USE
38+ ${IWYU_EXE} ${ARGN}
39+ CACHE STRING "" FORCE)
3440 set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
3541 ${IWYU_EXE} ${ARGN}
3642 CACHE STRING "" FORCE)
@@ -41,6 +47,9 @@ endmacro()
4147# options set.
4248macro (cppcheck)
4349 if (CPPCHECK AND CPPCHECK_EXE)
50+ set (CMAKE_C_CPPCHECK
51+ ${CPPCHECK_EXE} ${ARGN}
52+ CACHE STRING "" FORCE)
4453 set (CMAKE_CXX_CPPCHECK
4554 ${CPPCHECK_EXE} ${ARGN}
4655 CACHE STRING "" FORCE)
@@ -53,17 +62,26 @@ if(CLANG_TIDY_EXE)
5362 message (STATUS "clang-tidy found: ${CLANG_TIDY_EXE} " )
5463 if (NOT CLANG_TIDY)
5564 message (STATUS "clang-tidy NOT ENABLED via 'CLANG_TIDY' variable!" )
65+ set (CMAKE_C_CLANG_TIDY
66+ ""
67+ CACHE STRING "" FORCE) # delete it
5668 set (CMAKE_CXX_CLANG_TIDY
5769 ""
5870 CACHE STRING "" FORCE) # delete it
5971 endif ()
6072elseif (CLANG_TIDY)
6173 message (SEND_ERROR "Cannot enable clang-tidy, as executable not found!" )
74+ set (CMAKE_C_CLANG_TIDY
75+ ""
76+ CACHE STRING "" FORCE) # delete it
6277 set (CMAKE_CXX_CLANG_TIDY
6378 ""
6479 CACHE STRING "" FORCE) # delete it
6580else ()
6681 message (STATUS "clang-tidy not found!" )
82+ set (CMAKE_C_CLANG_TIDY
83+ ""
84+ CACHE STRING "" FORCE) # delete it
6785 set (CMAKE_CXX_CLANG_TIDY
6886 ""
6987 CACHE STRING "" FORCE) # delete it
@@ -75,18 +93,27 @@ if(IWYU_EXE)
7593 message (STATUS "include-what-you-use found: ${IWYU_EXE} " )
7694 if (NOT IWYU)
7795 message (STATUS "include-what-you-use NOT ENABLED via 'IWYU' variable!" )
96+ set (CMAKE_C_INCLUDE_WHAT_YOU_USE
97+ ""
98+ CACHE STRING "" FORCE) # delete it
7899 set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
79100 ""
80101 CACHE STRING "" FORCE) # delete it
81102 endif ()
82103elseif (IWYU)
83104 message (
84105 SEND_ERROR "Cannot enable include-what-you-use, as executable not found!" )
106+ set (CMAKE_C_INCLUDE_WHAT_YOU_USE
107+ ""
108+ CACHE STRING "" FORCE) # delete it
85109 set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
86110 ""
87111 CACHE STRING "" FORCE) # delete it
88112else ()
89113 message (STATUS "include-what-you-use not found!" )
114+ set (CMAKE_C_INCLUDE_WHAT_YOU_USE
115+ ""
116+ CACHE STRING "" FORCE) # delete it
90117 set (CMAKE_CXX_INCLUDE_WHAT_YOU_USE
91118 ""
92119 CACHE STRING "" FORCE) # delete it
@@ -97,23 +124,35 @@ mark_as_advanced(FORCE CPPCHECK_EXE)
97124if (CPPCHECK_EXE)
98125 message (STATUS "cppcheck found: ${CPPCHECK_EXE} " )
99126 if (CPPECHECK)
127+ set (CMAKE_C_CPPCHECK
128+ "${CPPCHECK_EXE} ;--enable=warning,performance,portability,missingInclude;--template=\" [{severity}][{id}] {message} {callstack} \( On {file}:{line}\)\" ;--suppress=missingIncludeSystem;--quiet;--verbose;--force"
129+ )
100130 set (CMAKE_CXX_CPPCHECK
101131 "${CPPCHECK_EXE} ;--enable=warning,performance,portability,missingInclude;--template=\" [{severity}][{id}] {message} {callstack} \( On {file}:{line}\)\" ;--suppress=missingIncludeSystem;--quiet;--verbose;--force"
102132 )
103133 endif ()
104134 if (NOT CPPCHECK)
105135 message (STATUS "cppcheck NOT ENABLED via 'CPPCHECK' variable!" )
136+ set (CMAKE_C_CPPCHECK
137+ ""
138+ CACHE STRING "" FORCE) # delete it
106139 set (CMAKE_CXX_CPPCHECK
107140 ""
108141 CACHE STRING "" FORCE) # delete it
109142 endif ()
110143elseif (CPPCHECK)
111144 message (SEND_ERROR "Cannot enable cppcheck, as executable not found!" )
145+ set (CMAKE_C_CPPCHECK
146+ ""
147+ CACHE STRING "" FORCE) # delete it
112148 set (CMAKE_CXX_CPPCHECK
113149 ""
114150 CACHE STRING "" FORCE) # delete it
115151else ()
116152 message (STATUS "cppcheck not found!" )
153+ set (CMAKE_C_CPPCHECK
154+ ""
155+ CACHE STRING "" FORCE) # delete it
117156 set (CMAKE_CXX_CPPCHECK
118157 ""
119158 CACHE STRING "" FORCE) # delete it
0 commit comments