Функции для подсветки вывода сообщений в терминале
This commit is contained in:
parent
ea38edfdc4
commit
9401cb4c3f
39
MyxCMake/modules/MyxCMakeColoredMessages.cmake
Normal file
39
MyxCMake/modules/MyxCMakeColoredMessages.cmake
Normal file
@ -0,0 +1,39 @@
|
||||
if(DEFINED ENV{TERM} AND UNIX)
|
||||
string(ASCII 27 Esc)
|
||||
set(MyxCMakeColorReset "${Esc}[m")
|
||||
set(MyxCMakeColorBold "${Esc}[1m")
|
||||
set(MyxCMakeColorRed "${Esc}[31m")
|
||||
set(MyxCMakeColorGreen "${Esc}[32m")
|
||||
set(MyxCMakeColorYellow "${Esc}[33m")
|
||||
set(MyxCMakeColorBlue "${Esc}[34m")
|
||||
set(MyxCMakeColorMagenta "${Esc}[35m")
|
||||
set(MyxCMakeColorCyan "${Esc}[36m")
|
||||
set(MyxCMakeColorWhite "${Esc}[37m")
|
||||
set(MyxCMakeColorBoldRed "${Esc}[1;31m")
|
||||
set(MyxCMakeColorBoldGreen "${Esc}[1;32m")
|
||||
set(MyxCMakeColorBoldYellow "${Esc}[1;33m")
|
||||
set(MyxCMakeColorBoldBlue "${Esc}[1;34m")
|
||||
set(MyxCMakeColorBoldMagenta "${Esc}[1;35m")
|
||||
set(MyxCMakeColorBoldCyan "${Esc}[1;36m")
|
||||
set(MyxCMakeColorBoldWhite "${Esc}[1;37m")
|
||||
endif()
|
||||
|
||||
function(myx_cmake_message_error)
|
||||
message(FATAL_ERROR ${MyxCMakeColorBoldRed}${ARGV}${MyxCMakeColorReset})
|
||||
endfunction()
|
||||
|
||||
function(myx_cmake_message_warning)
|
||||
message(WARNING ${MyxCMakeColorRed}${ARGV}${MyxCMakeColorReset})
|
||||
endfunction()
|
||||
|
||||
function(myx_cmake_message_status)
|
||||
message(STATUS ${MyxCMakeColorMagenta}${ARGV}${MyxCMakeColorReset})
|
||||
endfunction()
|
||||
|
||||
function(myx_cmake_message_notice)
|
||||
message(STATUS ${MyxCMakeColorBold}${ARGV}${MyxCMakeColorReset})
|
||||
endfunction()
|
||||
|
||||
function(myx_cmake_message)
|
||||
message(${MyxCMakeColorReset}${ARGV}${MyxCMakeColorReset})
|
||||
endfunction()
|
@ -1,6 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(MyxCMakeColoredMessages)
|
||||
include(MyxCMakeCheckPaths)
|
||||
|
||||
link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
|
||||
|
@ -8,11 +8,11 @@ macro(CHECK_ENABLE_CXX_FLAG flag)
|
||||
unset(CMAKE_REQUIRED_QUIET)
|
||||
|
||||
if(CHECK_CXX_FLAG)
|
||||
message(STATUS "'${flag}': flag is supported.")
|
||||
myx_cmake_message_notice("'${flag}': flag is supported.")
|
||||
string(CONCAT _MYX_CMAKE_DETECTED_CXX_FLAGS
|
||||
"${_MYX_CMAKE_DETECTED_CXX_FLAGS} ${flag}")
|
||||
else()
|
||||
message(STATUS "'${flag}': flag is NOT supported.")
|
||||
myx_cmake_message_status("'${flag}': flag is NOT supported.")
|
||||
endif()
|
||||
# NOTE: check_cxx_compiler stores variables in the cache.
|
||||
unset(CHECK_CXX_FLAG CACHE)
|
||||
|
@ -2,12 +2,12 @@ find_program(DISTCC_EXECUTABLE distcc)
|
||||
mark_as_advanced(DISTCC_EXECUTABLE)
|
||||
if(DISTCC_EXECUTABLE)
|
||||
foreach(lang C CXX)
|
||||
if(NOT DEFINED CMAKE_${lang}_COMPILER_LAUNCHER
|
||||
AND NOT CMAKE_${lang}_COMPILER MATCHES ".*/distcc$")
|
||||
message(STATUS "MyxCMake: distcc enabled for ${lang}")
|
||||
set(CMAKE_${lang}_COMPILER_LAUNCHER
|
||||
${DISTCC_EXECUTABLE}
|
||||
CACHE STRING "")
|
||||
# cmake-format: off
|
||||
if(NOT DEFINED CMAKE_${lang}_COMPILER_LAUNCHER AND
|
||||
NOT CMAKE_${lang}_COMPILER MATCHES ".*/distcc$")
|
||||
myx_cmake_message("MyxCMake: distcc enabled for ${lang}")
|
||||
set(CMAKE_${lang}_COMPILER_LAUNCHER ${DISTCC_EXECUTABLE} CACHE STRING "")
|
||||
endif()
|
||||
# cmake-format: on
|
||||
endforeach()
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user