2023-01-16 01:02:17 -06:00
|
|
|
# Copyright (C) 2018-2023 Intel Corporation
|
2020-10-05 15:37:50 -05:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
#
|
|
|
|
|
2023-10-09 13:30:32 -05:00
|
|
|
foreach(var SHELLCHECK_PROGRAM SHELL_SCRIPT SHELLCHECK_OUTPUT)
|
|
|
|
if(NOT DEFINED ${var})
|
|
|
|
message(FATAL_ERROR "${var} is not defined")
|
|
|
|
endif()
|
|
|
|
endforeach()
|
2020-10-05 15:37:50 -05:00
|
|
|
|
2020-10-09 05:25:53 -05:00
|
|
|
set(rules "SC1091,SC2164,SC2162,SC1090")
|
2023-10-09 13:30:32 -05:00
|
|
|
execute_process(COMMAND ${SHELLCHECK_PROGRAM} --exclude=${rules} ${SHELL_SCRIPT}
|
2020-10-05 15:37:50 -05:00
|
|
|
OUTPUT_VARIABLE error_message
|
|
|
|
RESULT_VARIABLE exit_code
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
2023-10-09 13:30:32 -05:00
|
|
|
file(WRITE "${SHELLCHECK_OUTPUT}" "${error_message}")
|
2020-10-05 15:37:50 -05:00
|
|
|
|
|
|
|
if(NOT exit_code EQUAL 0)
|
|
|
|
message(FATAL_ERROR "${error_message}")
|
|
|
|
endif()
|