Changeset: cbd2ea62400a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cbd2ea62400a
Modified Files:
cmake/monetdb-options.cmake
cmake/monetdb-toolchain.cmake
Branch: Jul2021
Log Message:
Add build option FORCE_COLORED_OUTPUT (default OFF) to get colored compiler
output.
Useful when building using ninja.
diffs (62 lines):
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
--- a/cmake/monetdb-options.cmake
+++ b/cmake/monetdb-options.cmake
@@ -39,6 +39,10 @@ option(FITS
"Enable support for FITS (default=ON)"
ON)
+option(FORCE_COLORED_OUTPUT
+ "Force colored compiler output (GCC and Clang only; default=OFF)"
+ OFF)
+
option(GEOM
"Enable support for geom module (default=ON)"
ON)
diff --git a/cmake/monetdb-toolchain.cmake b/cmake/monetdb-toolchain.cmake
--- a/cmake/monetdb-toolchain.cmake
+++ b/cmake/monetdb-toolchain.cmake
@@ -7,6 +7,14 @@
#]]
function(monetdb_default_toolchain)
+ if (${FORCE_COLORED_OUTPUT})
+ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+ MT_addCompilerFlag("-fdiagnostics-color=always"
"-fdiagnostics-color=always" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+ elseif ("${CMAKE_C_COMPILER_ID}" MATCHES "^Clang|AppleClang$")
+ MT_addCompilerFlag("-fcolor-diagnostics" "-fcolor-diagnostics"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+ endif ()
+ endif ()
+
if(SANITIZER)
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
MT_addCompilerFlag("-fsanitize=address" "-fsanitize=address"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
@@ -101,6 +109,14 @@ function(monetdb_default_toolchain)
endfunction()
function(monetdb_default_compiler_options)
+ if (${FORCE_COLORED_OUTPUT})
+ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+ add_compile_options("-fdiagnostics-color=always")
+ elseif ("${CMAKE_C_COMPILER_ID}" MATCHES "^Clang|AppleClang$")
+ add_compile_options("-fcolor-diagnostics")
+ endif ()
+ endif ()
+
if(SANITIZER)
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
add_compile_options("-fsanitize=address")
@@ -149,10 +165,14 @@ function(monetdb_default_compiler_option
add_option_if_available("-Wduplicated-branches")
add_option_if_available("-Wrestrict")
add_option_if_available("-Wnested-externs")
+ add_option_if_available("-Wmissing-noreturn")
+ add_option_if_available("-Wuninitialized")
+
# since we use values of type "int8_t" as subscript,
# and int8_t may be defined as plain "char", we cannot
# allow this warning (part of -Wall)
add_option_if_available("-Wno-char-subscripts")
+
add_option_if_available("-Wunreachable-code")
elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel")
if(WIN32)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list