Explorar el Código

#IQRV #comment 添加额外参数2

80374374 hace 1 mes
padre
commit
045122fa1d
Se han modificado 2 ficheros con 13 adiciones y 10 borrados
  1. 4 10
      addin/cmake/CppCheckAnalysis.cmake
  2. 9 0
      addin/cmake/FindCPPCHECK.cmake

+ 4 - 10
addin/cmake/CppCheckAnalysis.cmake

@@ -194,7 +194,11 @@ function(target_add_cppcheck _target_name)
             list(APPEND _cppcheck_args ${CPPCHECK_MISSINGINCLUDE_ARG})
         endif()
     endif()
+    list(APPEND _cppcheck_args ${CPPCHECK_LIBRARY_ARG})
+    list(APPEND _cppcheck_args ${CPPCHECK_LIBRARY_STANDARD_ARG})
+    list(APPEND _cppcheck_args ${CPPCHECK_LANGUAGE_ARG})
 
+    list(APPEND _cppcheck_args "--relative-paths=${CMAKE_CURRENT_SOURCE_DIR}")
     if(CPPCHECK_FORCE_CHECK)
         list(APPEND _cppcheck_args "--force")
     endif()
@@ -215,16 +219,6 @@ function(target_add_cppcheck _target_name)
         endif()
     endforeach()
 
-    set(cppcheck_includes_arg)
-    foreach(dir ${_cppcheck_includes})
-        if(NOT cppcheck_includes_arg)
-            set(cppcheck_includes_arg "-I ${dir}")
-        else()
-            set(cppcheck_includes_arg "${cppcheck_includes_arg} -I ${dir}")
-        endif()
-    endforeach()
-    message(STATUS "[CppCheck] cppcheck_includes_arg:${cppcheck_includes_arg}")
-
     if (CPPCHECK_MODULE_DIRECTORY_STRUCTURE)
         set(cppcheck_target ${_module_cppcheck_tgt}-${_target_name})
         set(cppcheck_report_file ${CPPCHECK_REPORT_DIR}/${_module_name}-${_target_name})

+ 9 - 0
addin/cmake/FindCPPCHECK.cmake

@@ -65,6 +65,15 @@ if(CPPCHECK_EXECUTABLE)
     set(CPPCHECK_UNUSEDFUNC_ARG "--enable=unusedFunction")
     set(CPPCHECK_MISSINGINCLUDE_ARG "--enable=missingInclude")
     set(CPPCHECK_TEMPLATE_ARG "--template='{file}|{line}|{severity}|{id}|{message}'")
+    set(CPPCHECK_LANGUAGE_ARG "--language=c++")
+    set(CPPCHECK_LIBRARY_STANDARD_ARG "--library=std")
+    if(MSVC)
+        set(CPPCHECK_LIBRARY_ARG "--library=windows")
+    elseif(CMAKE_COMPILER_IS_GNUCXX)
+        set(CPPCHECK_LIBRARY_ARG "")
+    else()
+        set(CPPCHECK_LIBRARY_ARG "")
+    endif()
 
     set(CPPCHECK_QUIET_ARG "--quiet")
     set(CPPCHECK_INCLUDEPATH_ARG "-I")