summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-08-09 18:03:50 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-10 12:34:29 +0000
commitc7f9592f9b063750b39b986d849d3bc9e328670c (patch)
treeec16a9848780a9952ee7796cca7991226aa07a0e
parentacf09bfcb9fbeb57506583203a81b64616186ba4 (diff)
Fix static build
This patch fixes the "Bundled_Clip2Tri not found" error during static QtPositioning build. Fix backend plugins so that they get automatically linked in static build. Fixes: QTBUG-95582 Change-Id: Iea31c23a055689d9b8f6471345558b330795f597 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 5c91b37a5b592c4c062f4386d83653c2170d1c07) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/3rdparty/clip2tri/CMakeLists.txt22
-rw-r--r--src/3rdparty/clipper/CMakeLists.txt1
-rw-r--r--src/3rdparty/poly2tri/CMakeLists.txt1
-rw-r--r--src/plugins/position/android/src/CMakeLists.txt3
-rw-r--r--src/plugins/position/corelocation/CMakeLists.txt5
-rw-r--r--src/plugins/position/geoclue2/CMakeLists.txt3
-rw-r--r--src/plugins/position/gypsy/CMakeLists.txt3
-rw-r--r--src/plugins/position/nmea/CMakeLists.txt3
-rw-r--r--src/plugins/position/positionpoll/CMakeLists.txt3
-rw-r--r--src/plugins/position/winrt/CMakeLists.txt5
-rw-r--r--src/positioning/CMakeLists.txt3
-rw-r--r--src/positioningquick/CMakeLists.txt1
-rw-r--r--tests/auto/dummypositionplugin/CMakeLists.txt3
-rw-r--r--tests/auto/positionplugin/CMakeLists.txt3
14 files changed, 27 insertions, 32 deletions
diff --git a/src/3rdparty/clip2tri/CMakeLists.txt b/src/3rdparty/clip2tri/CMakeLists.txt
index 4e84ee71..9b5a56b3 100644
--- a/src/3rdparty/clip2tri/CMakeLists.txt
+++ b/src/3rdparty/clip2tri/CMakeLists.txt
@@ -15,27 +15,11 @@ qt_internal_add_3rdparty_library(Bundled_Clip2Tri
../clipper
../poly2tri
LIBRARIES
- # Remove: L/lib
- Bundled_Clipper # special case
- Bundled_Poly2Tri # special case
+ Qt::Bundled_Clipper # special case
+ Qt::Bundled_Poly2Tri # special case
)
qt_disable_warnings(Bundled_Clip2Tri)
-
-# special case begin
-
-# Generating an alias target, so that the unneeded include dependency is not
-# generated in STATIC build.
-# Otherwise the Bundled_Clip2Tri target will match to one of the
-# ${known_modules}, and will be added to generate a wierd
-# #include <QtBundled_Clip2Tri/QtBundled_Clip2Tri>
-# in the QtPositioning/QtPositioningDepends.
-# The root cause for such behavior are
-# function(qt_internal_create_module_depends_file target)
-# and
-# function(qt_internal_write_depends_file module)
-add_library(Clip2Tri::Clip2Tri ALIAS Bundled_Clip2Tri)
-
-# special case end
+qt_set_symbol_visibility_hidden(Bundled_Clip2Tri)
## Scopes:
#####################################################################
diff --git a/src/3rdparty/clipper/CMakeLists.txt b/src/3rdparty/clipper/CMakeLists.txt
index c85d27b2..08f2fada 100644
--- a/src/3rdparty/clipper/CMakeLists.txt
+++ b/src/3rdparty/clipper/CMakeLists.txt
@@ -13,6 +13,7 @@ qt_internal_add_3rdparty_library(Bundled_Clipper
clipper.cpp clipper.h
)
qt_disable_warnings(Bundled_Clipper)
+qt_set_symbol_visibility_hidden(Bundled_Clipper)
## Scopes:
#####################################################################
diff --git a/src/3rdparty/poly2tri/CMakeLists.txt b/src/3rdparty/poly2tri/CMakeLists.txt
index 083a98cd..167485db 100644
--- a/src/3rdparty/poly2tri/CMakeLists.txt
+++ b/src/3rdparty/poly2tri/CMakeLists.txt
@@ -18,6 +18,7 @@ qt_internal_add_3rdparty_library(Bundled_Poly2Tri
sweep/sweep_context.cpp sweep/sweep_context.h
)
qt_disable_warnings(Bundled_Poly2Tri)
+qt_set_symbol_visibility_hidden(Bundled_Poly2Tri)
## Scopes:
#####################################################################
diff --git a/src/plugins/position/android/src/CMakeLists.txt b/src/plugins/position/android/src/CMakeLists.txt
index 91d437ed..b91181f4 100644
--- a/src/plugins/position/android/src/CMakeLists.txt
+++ b/src/plugins/position/android/src/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryAndroid Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryAndroid
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryAndroidPlugin
OUTPUT_NAME qtposition_android
+ CLASS_NAME QGeoPositionInfoSourceFactoryAndroid
PLUGIN_TYPE position
SOURCES
jnipositioning.cpp jnipositioning.h
diff --git a/src/plugins/position/corelocation/CMakeLists.txt b/src/plugins/position/corelocation/CMakeLists.txt
index a3278358..0126aa65 100644
--- a/src/plugins/position/corelocation/CMakeLists.txt
+++ b/src/plugins/position/corelocation/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryCL Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryCL
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryCLPlugin
OUTPUT_NAME qtposition_cl
+ CLASS_NAME QGeoPositionInfoSourceFactoryCL
PLUGIN_TYPE position
SOURCES
qgeopositioninfosource_cl.mm qgeopositioninfosource_cl_p.h
@@ -19,7 +20,7 @@ qt_internal_add_plugin(QGeoPositionInfoSourceFactoryCL
)
# special case begin
-set_target_properties(QGeoPositionInfoSourceFactoryCL
+set_target_properties(QGeoPositionInfoSourceFactoryCLPlugin
PROPERTIES
DISABLE_PRECOMPILE_HEADERS ON
)
diff --git a/src/plugins/position/geoclue2/CMakeLists.txt b/src/plugins/position/geoclue2/CMakeLists.txt
index 0ba49a63..c573ee1d 100644
--- a/src/plugins/position/geoclue2/CMakeLists.txt
+++ b/src/plugins/position/geoclue2/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryGeoclue2 Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryGeoclue2
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryGeoclue2Plugin
OUTPUT_NAME qtposition_geoclue2
+ CLASS_NAME QGeoPositionInfoSourceFactoryGeoclue2
PLUGIN_TYPE position
SOURCES
geocluetypes.cpp geocluetypes.h
diff --git a/src/plugins/position/gypsy/CMakeLists.txt b/src/plugins/position/gypsy/CMakeLists.txt
index 451c453e..1791bdcc 100644
--- a/src/plugins/position/gypsy/CMakeLists.txt
+++ b/src/plugins/position/gypsy/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryGypsy Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryGypsy
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryGypsyPlugin
OUTPUT_NAME qtposition_gypsy
+ CLASS_NAME QGeoPositionInfoSourceFactoryGypsy
PLUGIN_TYPE position
SOURCES
qgeopositioninfosourcefactory_gypsy.cpp qgeopositioninfosourcefactory_gypsy.h
diff --git a/src/plugins/position/nmea/CMakeLists.txt b/src/plugins/position/nmea/CMakeLists.txt
index f348d0a2..73c5a3b1 100644
--- a/src/plugins/position/nmea/CMakeLists.txt
+++ b/src/plugins/position/nmea/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryNmea Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryNmea
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryNmeaPlugin
OUTPUT_NAME qtposition_nmea
+ CLASS_NAME QGeoPositionInfoSourceFactoryNmea
PLUGIN_TYPE position
SOURCES
qgeopositioninfosourcefactory_nmea.cpp qgeopositioninfosourcefactory_nmea.h
diff --git a/src/plugins/position/positionpoll/CMakeLists.txt b/src/plugins/position/positionpoll/CMakeLists.txt
index 35f76e01..59810be1 100644
--- a/src/plugins/position/positionpoll/CMakeLists.txt
+++ b/src/plugins/position/positionpoll/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryPoll Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryPoll
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryPollPlugin
OUTPUT_NAME qtposition_positionpoll
+ CLASS_NAME QGeoPositionInfoSourceFactoryPoll
PLUGIN_TYPE position
SOURCES
positionpollfactory.cpp positionpollfactory.h
diff --git a/src/plugins/position/winrt/CMakeLists.txt b/src/plugins/position/winrt/CMakeLists.txt
index 211b44c8..44de9655 100644
--- a/src/plugins/position/winrt/CMakeLists.txt
+++ b/src/plugins/position/winrt/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryWinRT Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryWinRT
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryWinRTPlugin
OUTPUT_NAME qtposition_winrt
+ CLASS_NAME QGeoPositionInfoSourceFactoryWinRT
PLUGIN_TYPE position
SOURCES
qgeopositioninfosource_winrt.cpp qgeopositioninfosource_winrt_p.h
@@ -22,7 +23,7 @@ qt_internal_add_plugin(QGeoPositionInfoSourceFactoryWinRT
## Scopes:
#####################################################################
-qt_internal_extend_target(QGeoPositionInfoSourceFactoryWinRT CONDITION MSVC AND NOT WINRT
+qt_internal_extend_target(QGeoPositionInfoSourceFactoryWinRTPlugin CONDITION MSVC AND NOT WINRT
LIBRARIES
runtimeobject.lib
)
diff --git a/src/positioning/CMakeLists.txt b/src/positioning/CMakeLists.txt
index a16cf8e4..5e976735 100644
--- a/src/positioning/CMakeLists.txt
+++ b/src/positioning/CMakeLists.txt
@@ -36,9 +36,8 @@ qt_internal_add_module(Positioning
../3rdparty/clip2tri
../3rdparty/clipper
LIBRARIES
- # Remove: L/lib
Qt::CorePrivate
- Clip2Tri::Clip2Tri # special case
+ Qt::Bundled_Clip2Tri
PUBLIC_LIBRARIES
Qt::Core
PRIVATE_MODULE_INTERFACE
diff --git a/src/positioningquick/CMakeLists.txt b/src/positioningquick/CMakeLists.txt
index 060f2ff9..28375160 100644
--- a/src/positioningquick/CMakeLists.txt
+++ b/src/positioningquick/CMakeLists.txt
@@ -10,6 +10,7 @@ qt_internal_add_qml_module(PositioningQuick
PLUGIN_TARGET positioningquickplugin
NO_GENERATE_PLUGIN_SOURCE
NO_PLUGIN_OPTIONAL
+ CLASS_NAME QtPositioningDeclarativeModule
SOURCES
qdeclarativegeoaddress_p.h qdeclarativegeoaddress.cpp
qdeclarativegeolocation_p.h qdeclarativegeolocation.cpp
diff --git a/tests/auto/dummypositionplugin/CMakeLists.txt b/tests/auto/dummypositionplugin/CMakeLists.txt
index c5806df4..9c196f0e 100644
--- a/tests/auto/dummypositionplugin/CMakeLists.txt
+++ b/tests/auto/dummypositionplugin/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryTest Plugin:
#####################################################################
-qt_internal_add_plugin(DummyPluginForTests
+qt_internal_add_plugin(DummyPluginForTestsFactoryPlugin
OUTPUT_NAME qtposition_testplugin2
+ CLASS_NAME DummyPluginForTestsFactory
PLUGIN_TYPE position
DEFAULT_IF FALSE
SOURCES
diff --git a/tests/auto/positionplugin/CMakeLists.txt b/tests/auto/positionplugin/CMakeLists.txt
index ed310874..7e1f2ed8 100644
--- a/tests/auto/positionplugin/CMakeLists.txt
+++ b/tests/auto/positionplugin/CMakeLists.txt
@@ -4,8 +4,9 @@
## QGeoPositionInfoSourceFactoryTest Plugin:
#####################################################################
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryTest
+qt_internal_add_plugin(QGeoPositionInfoSourceFactoryTestPlugin
OUTPUT_NAME qtposition_testplugin
+ CLASS_NAME QGeoPositionInfoSourceFactoryTest
PLUGIN_TYPE position
DEFAULT_IF FALSE
SOURCES