diff options
-rw-r--r-- | mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 3 | ||||
-rw-r--r-- | tests/auto/cmake/test_opengl_lib/CMakeLists.txt | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 27f4c277d6..3ed6dd5889 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -235,6 +235,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";")) + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";")) + set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE) foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}) if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR}) diff --git a/tests/auto/cmake/test_opengl_lib/CMakeLists.txt b/tests/auto/cmake/test_opengl_lib/CMakeLists.txt index d9adb5a980..d2304a4183 100644 --- a/tests/auto/cmake/test_opengl_lib/CMakeLists.txt +++ b/tests/auto/cmake/test_opengl_lib/CMakeLists.txt @@ -8,11 +8,25 @@ find_package(Qt5Gui REQUIRED) include_directories(${Qt5Gui_INCLUDE_DIRS} ${Qt5Gui_OPENGL_INCLUDE_DIRS} ) add_definitions(${Qt5Gui_DEFINITIONS}) +get_property(QtGui_enabled_features TARGET Qt5::Gui PROPERTY INTERFACE_QT_ENABLED_FEATURES) +list(LENGTH QtGui_enabled_features _QtGui_enabled_featuresSize) +if (_QtGui_enabled_featuresSize LESS 1) + message(SEND_ERROR "The INTERFACE_QT_ENABLED_FEATURES property of Qt5::Gui is empty!") +endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS}") if (${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL GLESv2) + list(FIND QtGui_enabled_features "opengles2" _opengles2Index) + if(_opengles2Index EQUAL -1) + message(SEND_ERROR "The INTERFACE_QT_ENABLED_FEATURES property of Qt5::Gui does not contain the opengles2 feature!") + endif() add_definitions(-DGL_IMPLEMENTATION_GLES2) elseif (${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL GL) + list(FIND QtGui_enabled_features "opengl" _openglIndex) + if(_openglIndex EQUAL -1) + message(SEND_ERROR "The INTERFACE_QT_ENABLED_FEATURES property of Qt5::Gui does not contain the opengl feature!") + endif() add_definitions(-DGL_IMPLEMENTATION_GL) else() message(SEND_ERROR "Qt5Gui_OPENGL_IMPLEMENTATION does not contain valid data.") |