49 lines
1.8 KiB
CMake
49 lines
1.8 KiB
CMake
find_package(ClangTools)
|
|
# clang-tidy uses the compile_commands.json file for include dirs and other config
|
|
add_custom_target(clang-tidy ${CLANG_TIDY_PROGRAM}
|
|
-p=compile_commands.json
|
|
-format-style=file
|
|
--
|
|
${lib_sources}
|
|
DEPENDS ${lib_sources}
|
|
COMMENT "Run clang-tidy on the library")
|
|
add_dependencies(clang-tidy open62541)
|
|
set_target_properties(clang-tidy PROPERTIES FOLDER "CodeAnalysis")
|
|
|
|
add_custom_target(cpplint cpplint
|
|
${lib_sources}
|
|
${internal_headers}
|
|
${default_plugin_headers}
|
|
${default_plugin_sources}
|
|
${ua_architecture_headers}
|
|
${ua_architecture_sources}
|
|
DEPENDS ${lib_sources}
|
|
${internal_headers}
|
|
${default_plugin_headers}
|
|
${default_plugin_sources}
|
|
${ua_architecture_headers}
|
|
${ua_architecture_sources}
|
|
COMMENT "Run cpplint code style checker on the library")
|
|
set_target_properties(cpplint PROPERTIES FOLDER "CodeAnalysis")
|
|
|
|
|
|
# adds new target "clang-format" to enforce clang-format rules
|
|
find_program(CLANG_FORMAT_EXE NAMES "clang-format")
|
|
if(CLANG_FORMAT_EXE)
|
|
file(GLOB_RECURSE FILES_TO_FORMAT
|
|
${PROJECT_SOURCE_DIR}/arch/*.c
|
|
${PROJECT_SOURCE_DIR}/plugins/*.c
|
|
${PROJECT_SOURCE_DIR}/src/*.c
|
|
${PROJECT_SOURCE_DIR}/arch/*.h
|
|
${PROJECT_SOURCE_DIR}/include/*.h
|
|
${PROJECT_SOURCE_DIR}/plugins/*.h
|
|
${PROJECT_SOURCE_DIR}/src/*.h
|
|
)
|
|
add_custom_target(
|
|
clang-format COMMAND ${CLANG_FORMAT_EXE}
|
|
-style=file
|
|
-i
|
|
${FILES_TO_FORMAT}
|
|
)
|
|
endif()
|