diff options
author | Kevin Funk <kevin.funk@kdab.com> | 2015-11-02 07:18:01 +0100 |
---|---|---|
committer | Kevin Funk <kevin.funk@kdab.com> | 2015-11-02 08:42:52 +0000 |
commit | 2f2dd3b0c28db210ea1f00d569f6c1626894c5f4 (patch) | |
tree | 6fe67c0d680bd95ca9d9ea41bf1c1edee18ace4e | |
parent | eab47802925acb34a6785639bb34bfa97e58643f (diff) |
CMake: Make sure to export all plugins
Also export plugins ending on "Factory".
CMake by default only picks up plugins which have a PLUGIN_CLASS_NAME ending on "Plugin"
Task-number: QTBUG-43438
Change-Id: Ib954276dc0eee83f9d48bed0502a16df8194ce9b
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Stephen Kelly <steveire@gmail.com>
-rw-r--r-- | src/qml/Qt5QmlConfigExtras.cmake.in | 5 | ||||
-rw-r--r-- | tests/auto/cmake/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/auto/cmake/test_plugins/CMakeLists.txt | 14 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/qml/Qt5QmlConfigExtras.cmake.in b/src/qml/Qt5QmlConfigExtras.cmake.in new file mode 100644 index 0000000000..9ddb9885cd --- /dev/null +++ b/src/qml/Qt5QmlConfigExtras.cmake.in @@ -0,0 +1,5 @@ +file(GLOB _qt5qml_other_plugins "${CMAKE_CURRENT_LIST_DIR}/Qt5Qml_*Factory.cmake") + +foreach(_other_plugin ${_qt5qml_other_plugins}) + include(${_other_plugin} OPTIONAL) +endforeach() diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt index f62d2f3bdb..4b9fbe75ac 100644 --- a/tests/auto/cmake/CMakeLists.txt +++ b/tests/auto/cmake/CMakeLists.txt @@ -13,3 +13,5 @@ test_module_includes( Qml QQmlEngine Quick QQuickWindow ) + +expect_pass(test_plugins) diff --git a/tests/auto/cmake/test_plugins/CMakeLists.txt b/tests/auto/cmake/test_plugins/CMakeLists.txt new file mode 100644 index 0000000000..9cbfbb657e --- /dev/null +++ b/tests/auto/cmake/test_plugins/CMakeLists.txt @@ -0,0 +1,14 @@ +project(test_plugins) + +cmake_minimum_required(VERSION 2.8) +cmake_policy(SET CMP0056 NEW) + +find_package(Qt5Qml REQUIRED) + +# See QTBUG-43438 +if (NOT TARGET Qt5::QTcpServerConnectionFactory) + message(SEND_ERROR "Qt5::QTcpServerConnectionFactory does not exist") +endif() +if (NOT TARGET Qt5::QLocalClientConnectionFactory) + message(SEND_ERROR "Qt5::QLocalClientConnectionFactory does not exist") +endif() |