From 429e06e76bf8239b1f455f2516a3cb165e70840a Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Sat, 19 May 2018 02:36:27 +0000 Subject: Enable colored diagnostics in ninja builds when building with gcc 4.9+. GCC has supported -fdiagnostics-color since 4.9. https://reviews.llvm.org/D47083 llvm-svn: 332793 --- llvm/cmake/modules/HandleLLVMOptions.cmake | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'llvm') diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 7687a4663e4..676f1569cfe 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -720,11 +720,13 @@ add_definitions( -D__STDC_CONSTANT_MACROS ) add_definitions( -D__STDC_FORMAT_MACROS ) add_definitions( -D__STDC_LIMIT_MACROS ) -# clang doesn't print colored diagnostics when invoked from Ninja +# clang and gcc don't default-print colored diagnostics when invoked from Ninja. if (UNIX AND - CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND - CMAKE_GENERATOR STREQUAL "Ninja") - append("-fcolor-diagnostics" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + CMAKE_GENERATOR STREQUAL "Ninja" AND + (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR + (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND + NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)))) + append("-fdiagnostics-color" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() # lld doesn't print colored diagnostics when invoked from Ninja -- cgit v1.2.3