[PATCH] D28046: Add -Wl, -color-diagnostics if a linker supports the option.

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 11 13:20:45 PST 2017


ruiu updated this revision to Diff 84015.
ruiu added a comment.

I had to revert to the previous version because check_cxx_compiler_flag
didn't actually work. check_cxx_compiler_flag doesn't seem to link, but
just compiles, so the previous check of -Wl,-color-diagnostics always
succeeded.


https://reviews.llvm.org/D28046

Files:
  llvm/cmake/modules/HandleLLVMOptions.cmake


Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -597,6 +597,17 @@
   append("-fcolor-diagnostics" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
 endif()
 
+# lld doesn't print colored diagnostics when invoked from Ninja
+if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja")
+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wl,-color-diagnostics")
+  check_cxx_compiler_flag("" LINKER_SUPPORTS_COLOR_DIAGNOSTIC)
+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+
+  append_if(LINKER_SUPPORTS_COLOR_DIAGNOSTICS "-Wl,-color-diagnostics"
+    CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
+endif()
+
 # Add flags for add_dead_strip().
 # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF?
 # But MinSizeRel seems to add that automatically, so maybe disable these


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28046.84015.patch
Type: text/x-patch
Size: 1027 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170111/a43cf979/attachment.bin>


More information about the llvm-commits mailing list