Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 29 additions & 15 deletions cmake/clang_tidy.cmake
Original file line number Diff line number Diff line change
@@ -1,21 +1,35 @@
if (NOT NPROC)
include(ProcessorCount)
ProcessorCount(NPROC)
if(NPROC EQUAL 0)
message(FATAL_ERROR "could not get processor count")
if (NOT CMAKE_DISABLE_PRECOMPILE_HEADERS)
# clang-tidy and clang need to have the same version when precompiled headers are beign used
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
string(REGEX MATCHALL "[0-9]+" _clang_ver_parts "${CMAKE_CXX_COMPILER_VERSION}")
LIST(GET _clang_ver_parts 0 _clang_major)
set(RUN_CLANG_TIDY_NAMES "run-clang-tidy-${_clang_major}")
message(STATUS "Clang and clang-tidy version need to match when precompiled headers are enabled - limiting search to '${RUN_CLANG_TIDY_NAMES}'")
else()
message(STATUS "Cannot use non-Clang compiler with clang-tidy when precompiled headers are enabled - skipping 'run-clang-tidy' target generation")
endif()
else()
set(RUN_CLANG_TIDY_NAMES run-clang-tidy run-clang-tidy-15 run-clang-tidy-14 run-clang-tidy-13 run-clang-tidy-12 run-clang-tidy-11 run-clang-tidy-10 run-clang-tidy-9 run-clang-tidy-8)
endif()
message(STATUS "NPROC=${NPROC}")

find_program(RUN_CLANG_TIDY NAMES run-clang-tidy run-clang-tidy-15 run-clang-tidy-14 run-clang-tidy-13 run-clang-tidy-12 run-clang-tidy-11 run-clang-tidy-10 run-clang-tidy-9 run-clang-tidy-8)
message(STATUS "RUN_CLANG_TIDY=${RUN_CLANG_TIDY}")
if (RUN_CLANG_TIDY)
# disable all compiler warnings since we are just interested in the tidy ones
add_custom_target(run-clang-tidy ${RUN_CLANG_TIDY} -p=${CMAKE_BINARY_DIR} -j ${NPROC} -quiet)
if (BUILD_GUI)
add_dependencies(run-clang-tidy gui-build-deps)
if (BUILD_TESTS)
add_dependencies(run-clang-tidy triage-build-ui-deps)
if (RUN_CLANG_TIDY_NAMES)
find_program(RUN_CLANG_TIDY NAMES ${RUN_CLANG_TIDY_NAMES})
message(STATUS "RUN_CLANG_TIDY=${RUN_CLANG_TIDY}")
if (RUN_CLANG_TIDY)
include(ProcessorCount)
ProcessorCount(NPROC)
if(NPROC EQUAL 0)
message(FATAL_ERROR "could not get processor count")
endif()
message(STATUS "NPROC=${NPROC}")

# disable all compiler warnings since we are just interested in the tidy ones
add_custom_target(run-clang-tidy ${PYTHON_EXECUTABLE} ${RUN_CLANG_TIDY} -p=${CMAKE_BINARY_DIR} -j ${NPROC} -quiet)
if (BUILD_GUI)
add_dependencies(run-clang-tidy gui-build-deps)
if (BUILD_TESTS)
add_dependencies(run-clang-tidy triage-build-ui-deps)
endif()
endif()
endif()
endif()
2 changes: 1 addition & 1 deletion cmake/versions.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Version for libraries CPP
SET(VERSION "2.9.99")
STRING(REGEX MATCHALL "[0-9]" VERSION_PARTS "${VERSION}")
STRING(REGEX MATCHALL "[0-9]+" VERSION_PARTS "${VERSION}")
LIST(GET VERSION_PARTS 0 VERSION_MAJOR)
LIST(GET VERSION_PARTS 1 VERSION_MINOR)
SET(SOVERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
Expand Down