From 23be07c2d026ef92e7a826c6dbde23fd9d651321 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 6 Apr 2020 15:52:48 +0200 Subject: [PATCH] CMake: Autodetect Objective-C support only on macOS On Android, check_language() reports that the languages are supported, but enable_language fails afterwards. On Linux it causes issues with the PCH. The PCH file might contain a Clang pragma, even though the C++ compiler is GCC. Presumably due to finding a Clang Objective-C compiler. Change-Id: I1b4c54459772c089e7f6350872c87af52ad72a37 Reviewed-by: Fabian Kosmale --- cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake index 3265fea7b23..5648326ca27 100644 --- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake +++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake @@ -68,7 +68,12 @@ endmacro() macro(qt_enable_cmake_languages) include(CheckLanguage) set(__qt_required_language_list C CXX) - set(__qt_optional_language_list OBJC OBJCXX) + set(__qt_optional_language_list ) + + # https://gitlab.kitware.com/cmake/cmake/-/issues/20545 + if(APPLE) + list(APPEND __qt_optional_language_list OBJC OBJCXX) + endif() foreach(__qt_lang ${__qt_required_language_list}) enable_language(${__qt_lang})