Handle color arguments better if C and C++ compiler families differ

This commit is contained in:
Jeremy 2023-12-06 00:16:24 -05:00
parent 71366555b0
commit aa5315769e
No known key found for this signature in database
GPG Key ID: BE03111EB7ED6E2E

View File

@ -23,11 +23,18 @@ include(GNUInstallDirs)
include(CheckCXXSourceCompiles) include(CheckCXXSourceCompiles)
include(CheckCXXCompilerFlag) include(CheckCXXCompilerFlag)
if(CMAKE_GENERATOR STREQUAL "Ninja") if(PROJECT_IS_TOP_LEVEL)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") if(CMAKE_GENERATOR STREQUAL "Ninja")
add_compile_options(-fdiagnostics-color=always) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
add_compile_options(-fcolor-diagnostics) elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics")
endif()
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics")
endif()
endif() endif()
endif() endif()