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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list