From 8143b5913e50d26ef39fbbed5f1e28ff74a57d20 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Wed, 11 May 2016 15:20:41 +0200 Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS isn't set This prevents errors like: | The imported target "Qt5::Core" references the file | | "/qmake" | | but this file does not exist. Possible reasons include: Which happen if CMake is used without setting OE_QMAKE_PATH_EXTERNAL_HOST_BINS. To achieve this a check for OE_QMAKE_PATH_EXTERNAL_HOST_BINS is added to each Qt5*Config.cmake file. And in the case where the variable is not set we just return which is basically equal to telling CMake that Qt5 wasn't found. Upstream-Status: Pending The patch only makes sense in connection with other patches included here. Specifically this are: - 0003-Add-external-hostbindir-option.patch - 0010-Add-external-hostbindir-option-for-native-sdk.patch Signed-off-by: Pascal Bach --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 5 +++++ src/corelib/Qt5Config.cmake.in | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 50364765fb..e101a2e841 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") endif() +if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) + message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") + return() +endif() + !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in index 6b6544f932..d317912632 100644 --- a/src/corelib/Qt5Config.cmake.in +++ b/src/corelib/Qt5Config.cmake.in @@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) message(FATAL_ERROR \"Qt5 requires at least CMake version 3.1.0\") endif() +if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) + message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") + return() +endif() + if (NOT Qt5_FIND_COMPONENTS) set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\") set(Qt5_FOUND False)