123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- # - Try to find cppcheck tool
- #
- # Cache Variables:
- # CPPCHECK_EXECUTABLE
- #
- # Non-cache variables you might use in your CMakeLists.txt:
- # CPPCHECK_FOUND
- # CPPCHECK_ENABLEALL_ARG
- # CPPCHECK_WARNINGS_ARG
- # CPPCHECK_STYLE_ARG
- # CPPCHECK_PERFORMANCE_ARG
- # CPPCHECK_PORTABILITY_ARG
- # CPPCHECK_INFORMATION_ARG
- # CPPCHECK_UNUSEDFUNC_ARG
- # CPPCHECK_MISSINGINCLUDE_ARG
- # CPPCHECK_QUIET_ARG
- # CPPCHECK_INCLUDEPATH_ARG
- # CPPCHECK_MARK_AS_ADVANCED - whether to mark our vars as advanced even
- # if we don't find this program.
- file(TO_CMAKE_PATH "${CPPCHECK_ROOT_DIR}" CPPCHECK_ROOT_DIR)
- set(CPPCHECK_ROOT_DIR
- "${CPPCHECK_ROOT_DIR}"
- CACHE
- PATH
- "Path to search for cppcheck")
- # cppcheck app bundles on Mac OS X are GUI, we want command line only
- set(_oldappbundlesetting ${CMAKE_FIND_APPBUNDLE})
- set(CMAKE_FIND_APPBUNDLE NEVER)
- if(CPPCHECK_EXECUTABLE AND NOT EXISTS "${CPPCHECK_EXECUTABLE}")
- set(CPPCHECK_EXECUTABLE "notfound" CACHE PATH FORCE "")
- endif()
- # If we have a custom path, look there first.
- if(CPPCHECK_ROOT_DIR)
- find_program(CPPCHECK_EXECUTABLE
- NAMES
- cppcheck
- cli
- PATHS
- "${CPPCHECK_ROOT_DIR}"
- PATH_SUFFIXES
- cli
- NO_DEFAULT_PATH)
- endif()
- find_program(CPPCHECK_EXECUTABLE NAMES cppcheck)
- # Restore original setting for appbundle finding
- set(CMAKE_FIND_APPBUNDLE ${_oldappbundlesetting})
- function(_cppcheck_set_arg_var _argvar _arg)
- set(${_argvar} "${_arg}" PARENT_SCOPE)
- endfunction()
- if(CPPCHECK_EXECUTABLE)
- set(CPPCHECK_ENABLEALL_ARG "--enable=all")
- set(CPPCHECK_WARNINGS_ARG "--enable=warning")
- set(CPPCHECK_STYLE_ARG "--enable=style")
- set(CPPCHECK_PERFORMANCE_ARG "--enable=performance")
- set(CPPCHECK_PORTABILITY_ARG "--enable=portability")
- set(CPPCHECK_INFORMATION_ARG "--enable=information")
- 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")
- endif(CPPCHECK_EXECUTABLE)
- #just test
- set(CPPCHECK_ALL
- "${CPPCHECK_EXECUTABLE} ${CPPCHECK_ENABLEALL_ARG} ${CPPCHECK_UNUSEDFUNC_ARG} ${CPPCHECK_STYLE_ARG} ${CPPCHECK_QUIET_ARG} ${CPPCHECK_INCLUDEPATH_ARG} some/include/path")
- include(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(
- CPPCHECK
- DEFAULT_MSG
- CPPCHECK_ALL
- CPPCHECK_EXECUTABLE
- CPPCHECK_ENABLEALL_ARG
- CPPCHECK_UNUSEDFUNC_ARG
- CPPCHECK_STYLE_ARG
- CPPCHECK_INCLUDEPATH_ARG
- CPPCHECK_QUIET_ARG)
- if(CPPCHECK_FOUND OR CPPCHECK_MARK_AS_ADVANCED)
- mark_as_advanced(CPPCHECK_ROOT_DIR)
- endif()
- mark_as_advanced(CPPCHECK_EXECUTABLE)
|