Changeset View
Changeset View
Standalone View
Standalone View
kde-modules/KDECompilerSettings.cmake
Show First 20 Lines • Show All 335 Lines • ▼ Show 20 Line(s) | |||||
336 | 336 | | |||
337 | 337 | | |||
338 | 338 | | |||
339 | ############################################################ | 339 | ############################################################ | ||
340 | # Better diagnostics (warnings, errors) | 340 | # Better diagnostics (warnings, errors) | ||
341 | ############################################################ | 341 | ############################################################ | ||
342 | 342 | | |||
343 | if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR | 343 | if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR | ||
344 | (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT APPLE) OR | 344 | (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT APPLE) OR | ||
345 | (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32)) | 345 | (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32)) | ||
346 | # Linker warnings should be treated as errors | 346 | # Linker warnings should be treated as errors | ||
347 | set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}") | 347 | set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}") | ||
348 | set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}") | 348 | set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}") | ||
349 | 349 | | |||
350 | # Do not allow undefined symbols, even in non-symbolic shared libraries | 350 | # Do not allow undefined symbols, even in non-symbolic shared libraries | ||
351 | set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") | 351 | set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") | ||
352 | set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}") | 352 | set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}") | ||
▲ Show 20 Lines • Show All 130 Lines • ▼ Show 20 Line(s) | 479 | if (MINGW AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") | |||
483 | # some depending targets could not be build" | 483 | # some depending targets could not be build" | ||
484 | # FIXME: do our export macros not deal with this properly? | 484 | # FIXME: do our export macros not deal with this properly? | ||
485 | set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols") | 485 | set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols") | ||
486 | set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--export-all-symbols") | 486 | set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--export-all-symbols") | ||
487 | endif() | 487 | endif() | ||
488 | 488 | | |||
489 | if (CMAKE_GENERATOR STREQUAL "Ninja" AND | 489 | if (CMAKE_GENERATOR STREQUAL "Ninja" AND | ||
490 | ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR | 490 | ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR | ||
491 | (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))) | 491 | (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))) | ||
492 | # Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support. | 492 | # Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support. | ||
493 | # Rationale in https://github.com/ninja-build/ninja/issues/814 | 493 | # Rationale in https://github.com/ninja-build/ninja/issues/814 | ||
494 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always") | 494 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always") | ||
495 | endif() | 495 | endif() | ||
496 | 496 | | |||
497 | include("${ECM_MODULE_DIR}/ECMEnableSanitizers.cmake") | 497 | include("${ECM_MODULE_DIR}/ECMEnableSanitizers.cmake") | ||
498 | include("${ECM_MODULE_DIR}/ECMCoverageOption.cmake") | 498 | include("${ECM_MODULE_DIR}/ECMCoverageOption.cmake") |