U22 adoption in github actions (#12550)
* Supported newer versions of shellcheck * Don't use excluded sources * Improved NCC process of clang search * Fixes
This commit is contained in:
1 parent
cbbac125f8
commit
aecab4d12a
14 files changed
+86
-57
No files matched your search
@@ -28,7 +28,6 @@ if(ENABLE_CLANG_FORMAT AND NOT TARGET clang_format_check_all)
|
||||
add_custom_target(clang_format_fix_all)
|
||||
set_target_properties(clang_format_check_all clang_format_fix_all
|
||||
PROPERTIES FOLDER clang_format)
|
||||
set(CLANG_FORMAT_ALL_OUTPUT_FILES "" CACHE INTERNAL "All clang-format output files")
|
||||
endif()
|
||||
|
||||
function(add_clang_format_target TARGET_NAME)
|
||||
@@ -88,14 +87,10 @@ function(add_clang_format_target TARGET_NAME)
|
||||
"[clang-format] ${source_file}"
|
||||
VERBATIM)
|
||||
|
||||
list(APPEND all_input_sources "${source_file}")
|
||||
list(APPEND all_output_files "${output_file}")
|
||||
endforeach()
|
||||
|
||||
set(CLANG_FORMAT_ALL_OUTPUT_FILES
|
||||
${CLANG_FORMAT_ALL_OUTPUT_FILES} ${all_output_files}
|
||||
CACHE INTERNAL
|
||||
"All clang-format output files")
|
||||
|
||||
add_custom_target(${TARGET_NAME}
|
||||
DEPENDS ${all_output_files}
|
||||
COMMENT "[clang-format] ${TARGET_NAME}")
|
||||
@@ -104,11 +99,11 @@ function(add_clang_format_target TARGET_NAME)
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}"
|
||||
-D "CLANG_FORMAT=${CLANG_FORMAT}"
|
||||
-D "INPUT_FILES=${CLANG_FORMAT_FOR_SOURCES}"
|
||||
-D "INPUT_FILES=${all_input_sources}"
|
||||
-D "EXCLUDE_PATTERNS=${CLANG_FORMAT_EXCLUDE_PATTERNS}"
|
||||
-P "${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
DEPENDS
|
||||
"${CLANG_FORMAT_FOR_SOURCES}"
|
||||
"${all_input_sources}"
|
||||
"${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
COMMENT
|
||||
"[clang-format] ${TARGET_NAME}_fix"
|
||||
|
||||
@@ -9,6 +9,25 @@ endif()
|
||||
set(ncc_style_dir "${IEDevScripts_DIR}/ncc_naming_style")
|
||||
set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style")
|
||||
|
||||
# find python3
|
||||
|
||||
find_package(PythonInterp 3 QUIET)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
|
||||
if(PYTHON_VERSION_MINOR EQUAL 6)
|
||||
set(clang_version 10)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 8)
|
||||
set(clang_version 12)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 9)
|
||||
set(clang_version 12)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 10)
|
||||
set(clang_version 14)
|
||||
endif()
|
||||
|
||||
|
||||
if(ENABLE_NCC_STYLE)
|
||||
# try to find_package(Clang QUIET)
|
||||
# ClangConfig.cmake contains bug that if libclang-XX-dev is not
|
||||
@@ -16,17 +35,16 @@ if(ENABLE_NCC_STYLE)
|
||||
configure_file("${ncc_style_dir}/try_find_clang.cmake"
|
||||
"${ncc_style_bin_dir}/source/CMakeLists.txt" COPYONLY)
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}" -S "${ncc_style_bin_dir}/source"
|
||||
-B "${ncc_style_bin_dir}/build"
|
||||
COMMAND "${CMAKE_COMMAND}" -S "${ncc_style_bin_dir}/source"
|
||||
-B "${ncc_style_bin_dir}/build"
|
||||
RESULT_VARIABLE clang_find_result
|
||||
OUTPUT_VARIABLE output_var
|
||||
ERROR_VARIABLE error_var)
|
||||
|
||||
if(NOT clang_find_result EQUAL "0")
|
||||
message(WARNING "Please, install clang-[N] libclang-[N]-dev package (required for ncc naming style check)")
|
||||
message(WARNING "find_package(Clang) output: ${output_var}")
|
||||
message(WARNING "find_package(Clang) error: ${error_var}")
|
||||
message(WARNING "Please, install `apt-get install clang-${clang_version} libclang-${clang_version}-dev` package (required for ncc naming style check)")
|
||||
message(TRACE "find_package(Clang) output: ${output_var}")
|
||||
message(TRACE "find_package(Clang) error: ${error_var}")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
endif()
|
||||
@@ -39,19 +57,11 @@ if(ENABLE_NCC_STYLE)
|
||||
get_target_property(libclang_location libclang LOCATION)
|
||||
message(STATUS "Found libclang: ${libclang_location}")
|
||||
else()
|
||||
message(WARNING "libclang is not found (required for ncc naming style check)")
|
||||
message(WARNING "libclang-${clang_version} is not found (required for ncc naming style check)")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# find python3
|
||||
|
||||
find_package(PythonInterp 3 QUIET)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
|
||||
# check python requirements_dev.txt
|
||||
|
||||
set(ncc_script_py "${ncc_style_dir}/ncc/ncc.py")
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
clang==11.0
|
||||
clang==10.0.1; python_version == '3.6'
|
||||
clang==12.0.1; python_version == '3.8'
|
||||
clang==12.0.1; python_version == '3.9'
|
||||
clang==14.0; python_version == '3.10'
|
||||
pyyaml
|
||||
@@ -6,6 +6,17 @@ include(CMakeParseArguments)
|
||||
|
||||
find_host_program(shellcheck_PROGRAM NAMES shellcheck DOC "Path to shellcheck tool")
|
||||
|
||||
if(shellcheck_PROGRAM)
|
||||
execute_process(COMMAND "${shellcheck_PROGRAM}" --version
|
||||
RESULT_VARIABLE shellcheck_EXIT_CODE
|
||||
OUTPUT_VARIABLE shellcheck_VERSION_STRING)
|
||||
if(shellcheck_EXIT_CODE EQUAL 0)
|
||||
if(shellcheck_VERSION_STRING MATCHES "version: ([0-9]+)\.([0-9]+).([0-9]+)")
|
||||
set(shellcheck_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}" CACHE STRING "shellcheck version")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
function(ie_shellcheck_process)
|
||||
if(NOT shellcheck_PROGRAM)
|
||||
message(WARNING "shellcheck tool is not found")
|
||||
@@ -33,7 +44,7 @@ function(ie_shellcheck_process)
|
||||
set(output_file "${output_file}.txt")
|
||||
get_filename_component(script_name "${script}" NAME)
|
||||
|
||||
add_custom_command(OUTPUT ${output_file}
|
||||
add_custom_command(OUTPUT ${output_file}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D IE_SHELLCHECK_PROGRAM=${shellcheck_PROGRAM}
|
||||
-D IE_SHELL_SCRIPT=${script}
|
||||
|
||||
Reference in new issue
Block a user