mirror of
https://github.com/ceph/ceph
synced 2024-12-27 14:03:25 +00:00
Change implementation to use a documented CACHE variable, and allow
any of the three values supported by GCC to be used. Just as the GCC default is 'auto', so is the default within the cmake file. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
This commit is contained in:
parent
be585d271d
commit
504b17e000
@ -50,15 +50,19 @@ external dependencies:
|
||||
..
|
||||
|
||||
If you often pipe `make`to `less` and would like to maintain the
|
||||
diagnostic colors for errors and warnings, you can invoke `cmake`
|
||||
with:
|
||||
diagnostic colors for errors and warnings (and if your compiler
|
||||
supports it), you can invoke `cmake` with:
|
||||
|
||||
$ cmake -DDIAG_COLOR_ALWAYS=yes [...]
|
||||
$ cmake -DDIAGNOSTICS_COLOR=always [...]
|
||||
|
||||
Then you'll get the diagnostic colors when you execute:
|
||||
|
||||
$ make | less -R
|
||||
|
||||
Other available values for DIAGNOSTICS_COLOR are 'auto' (default) and
|
||||
'never'.
|
||||
|
||||
|
||||
**More options will be implemented in the future.**
|
||||
|
||||
|
||||
|
@ -91,22 +91,17 @@ else()
|
||||
endif()
|
||||
|
||||
|
||||
# if compiler allows it and if -DDIAG_COLOR_ALWAYS=yes is provided to
|
||||
# cmake, turn on diagnostic colors, even when compiler output does not
|
||||
# go to terminal (e.g., when piped to less)
|
||||
## Handle diagnostics color if compiler supports them.
|
||||
|
||||
CHECK_C_COMPILER_FLAG("-fdiagnostics-color=always"
|
||||
COMPILER_SUPPORTS_DIAG_COLOR_ALWAYS)
|
||||
COMPILER_SUPPORTS_DIAGNOSTICS_COLOR)
|
||||
|
||||
if(DIAG_COLOR_ALWAYS)
|
||||
if(COMPILER_SUPPORTS_DIAG_COLOR_ALWAYS)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
|
||||
message(STATUS "C and C++ compilers will always show diagnostic colors")
|
||||
else()
|
||||
message(WARNING
|
||||
"Unable to turn on DIAG_COLOR_ALWAYS, because this compiler does not support -fdiagnostics-color=always flag.")
|
||||
endif()
|
||||
set(DIAGNOSTICS_COLOR "auto"
|
||||
CACHE STRING "Used if the C/C++ compiler supports the -fdiagnostics-color option. May have one of three values -- 'auto' (default), 'always', or 'never'. If set to 'always' and the compiler supports the option, 'make [...] | less -R' will make visible diagnostics colorization of compiler output.")
|
||||
|
||||
if(COMPILER_SUPPORTS_DIAGNOSTICS_COLOR)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=${DIAGNOSTICS_COLOR}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=${DIAGNOSTICS_COLOR}")
|
||||
endif()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user