diff --git a/CMakeLists.txt b/CMakeLists.txt index 418afae..02c56b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,11 +23,18 @@ include(GNUInstallDirs) include(CheckCXXSourceCompiles) include(CheckCXXCompilerFlag) -if(CMAKE_GENERATOR STREQUAL "Ninja") - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - add_compile_options(-fdiagnostics-color=always) - elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - add_compile_options(-fcolor-diagnostics) +if(PROJECT_IS_TOP_LEVEL) + if(CMAKE_GENERATOR STREQUAL "Ninja") + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always") + 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()