CMake: Make Platform a dependency for all Qt internal targets
In particular that influences BundledLibrary targets.
Most internal targets already depended transitively on Qt::Platform
via Qt::Core as a public dependency. This was not the case for
BundledLibrary targets which don't link to Qt::Core.
This led to compilation issues in user projects when targeting
WebAssembly, due to mismatched flags between a bundled Harfbuzz vs
a user project. Probably other subtle issues as well (e.g. none of the
Windows specific compile definitions were passed to bundled libs).
Bundled libraries depend on PlatformCommonInternal already, so make
PlatformCommonInternal turn depend on the public Platform target.
I thought that was already the case, but we merely relied on the
Qt::Core dependency.
Note that Qt::Core should still list Platform as a public dependency,
so it gets propagated to user projects.
Amends acf9b3a68b
Change-Id: Ida3b219818f89ec6eba2c2d92c5db65ad56bc5a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
57c737f325
commit
d962c9ff85
@ -72,6 +72,7 @@ endfunction()
|
||||
|
||||
add_library(PlatformCommonInternal INTERFACE)
|
||||
add_library(Qt::PlatformCommonInternal ALIAS PlatformCommonInternal)
|
||||
target_link_libraries(PlatformCommonInternal INTERFACE Platform)
|
||||
|
||||
add_library(PlatformModuleInternal INTERFACE)
|
||||
add_library(Qt::PlatformModuleInternal ALIAS PlatformModuleInternal)
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Defines the public Qt::Platform target, which is used by both internal Qt builds as well as
|
||||
# public Qt consuming projects.
|
||||
# Defines the public Qt::Platform target, which serves as a dependency for all internal Qt target
|
||||
# as well as user projects consuming Qt.
|
||||
function(qt_internal_setup_public_platform_target)
|
||||
## QtPlatform Target:
|
||||
add_library(Platform INTERFACE)
|
||||
|
1
src/3rdparty/harfbuzz-ng/CMakeLists.txt
vendored
1
src/3rdparty/harfbuzz-ng/CMakeLists.txt
vendored
@ -65,7 +65,6 @@ qt_internal_add_3rdparty_library(BundledHarfbuzz
|
||||
)
|
||||
qt_disable_warnings(BundledHarfbuzz)
|
||||
qt_set_symbol_visibility_hidden(BundledHarfbuzz)
|
||||
qt_set_msvc_cplusplus_options(BundledHarfbuzz PRIVATE)
|
||||
|
||||
#### Keys ignored in scope 1:.:.:harfbuzz-ng.pro:<TRUE>:
|
||||
# OTHER_FILES = "$$PWD/src/harfbuzz.cc"
|
||||
|
Loading…
Reference in New Issue
Block a user