diff --git a/Modules/GenerateExportHeader.cmake b/Modules/GenerateExportHeader.cmake index 578d71f32..05f36f386 100644 --- a/Modules/GenerateExportHeader.cmake +++ b/Modules/GenerateExportHeader.cmake @@ -146,7 +146,10 @@ macro(_test_compiler_hidden_visibility) endif() endif() - if (NOT GCC_TOO_OLD AND NOT WIN32) + # Exclude XL here because it misinterprets -fvisibility=hidden even though + # the check_cxx_compiler_flag passes + # http://www.cdash.org/CDash/testDetails.php?test=109109951&build=1419259 + if (NOT GCC_TOO_OLD AND NOT WIN32 AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES XL) check_cxx_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) check_cxx_compiler_flag(-fvisibility-inlines-hidden COMPILER_HAS_HIDDEN_INLINE_VISIBILITY) option(USE_COMPILER_HIDDEN_VISIBILITY "Use HIDDEN visibility support if available." ON)