Commit be0f5869 authored by Aleksey Midenkov's avatar Aleksey Midenkov

Scripts: print warnings fixes

parent a5feb98c
......@@ -3,15 +3,16 @@
warn_path=$1
shift
warn_file="$warn_path/compile.warnings"
suppress_file="$warn_path/suppress.warnings"
set -o pipefail
exec 3>&1
x=$(("$@" >&2) 2>&1 1>&3)
error=${PIPESTATUS}
cmderr=$("$@" 2>&1 1>&3)
error=$?
if ! [[ -z "$x" ]]; then
echo -n "$x" >> $warn_file
echo -n "$x" >&2
if [[ -n "$cmderr" ]]; then
echo "$cmderr" >&2
[[ "$cmderr" =~ warning:(.+)$ ]] &&
echo -n "$cmderr" >> "$warn_file"
fi
exit ${error}
......@@ -481,16 +481,4 @@ IF(NON_DISTRIBUTABLE_WARNING)
You have linked MariaDB with GPLv3 libraries! You may not distribute the resulting binary. If you do, you will put yourself into a legal problem with Free Software Foundation.")
ENDIF()
IF (CMAKE_BUILD_TYPE MATCHES "Debug")
SET_DIRECTORY_PROPERTIES(PROPERTIES RULE_LAUNCH_COMPILE
"bash ${CMAKE_SOURCE_DIR}/BUILD/capture_warnings.sh ${CMAKE_BINARY_DIR}")
SET_DIRECTORY_PROPERTIES(PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
"${CMAKE_BINARY_DIR}/compile.warnings")
ADD_CUSTOM_TARGET(REMOVE_WARNINGS_FILE ALL
COMMAND rm -f "compile.warnings"
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
ADD_CUSTOM_TARGET(REPRINT ALL
COMMAND if [ -f "compile.warnings" ]; then cat "compile.warnings" \; fi
DEPENDS mysql udf_example explain_filename-t REMOVE_WARNINGS_FILE
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
ENDIF()
INCLUDE(${CMAKE_SOURCE_DIR}/cmake/print_warnings.cmake)
IF (CMAKE_BUILD_TYPE MATCHES "Debug")
SET_DIRECTORY_PROPERTIES(PROPERTIES RULE_LAUNCH_COMPILE
"bash ${CMAKE_SOURCE_DIR}/BUILD/capture_warnings.sh ${CMAKE_BINARY_DIR}")
SET_DIRECTORY_PROPERTIES(PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
"${CMAKE_BINARY_DIR}/compile.warnings")
ADD_CUSTOM_TARGET(rm_compile.warnings ALL
COMMAND rm -f compile.warnings
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
ADD_CUSTOM_TARGET(print_warnings ALL
COMMAND bash -c '[ -f compile.warnings ] && { echo "Warnings found:" \; cat compile.warnings \; echo "" \; } \; true'
DEPENDS mysql udf_example explain_filename-t rm_compile.warnings
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
ENDIF()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment