diff options
author | Robert Griebl <robert.griebl@qt.io> | 2022-06-29 14:19:07 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2022-06-30 12:26:04 +0000 |
commit | a1c90ed4605b08c39d380d2605d26b684d340c64 (patch) | |
tree | 8b76a66bd594abb02e9801858d0168f90efcbdef /src/intent-server-lib/CMakeLists.txt | |
parent | 0b895aa93688926781e30fa5400832396e9c8bef (diff) | |
download | qtapplicationmanager-a1c90ed4605b08c39d380d2605d26b684d340c64.tar.gz |
Prevent linking of AppMan modules into user plugins
As the AppMan modules are static libraries, linking any of them
into a QML plugin (that later gets loaded into the system-ui) will
lead to a bunch of problems:
1) due to symbol duplication and duplicate static data, a lot of
singletons may exist twice
2) all static constructors (logging, crash-handling, etc.) are run
a second time, overriding any custom configuration that was applied
after config parsing.
If you are legitimately building a custom appman binary, a custom
launcher or a native app using launcher-lib, you need to flag this
via compile-time defines now:
Either AM_COMPILING_APPMAN or AM_COMPILING_LAUNCHER
AM_COMPILING_LAUNCHER is also used for native apps using launcher-lib.
Change-Id: I0c1a3fb7e0c7121f92d44c764c2c1eeb720e7041
Pick-to: 6.4
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'src/intent-server-lib/CMakeLists.txt')
-rw-r--r-- | src/intent-server-lib/CMakeLists.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/intent-server-lib/CMakeLists.txt b/src/intent-server-lib/CMakeLists.txt index 8973f00a..7782527b 100644 --- a/src/intent-server-lib/CMakeLists.txt +++ b/src/intent-server-lib/CMakeLists.txt @@ -19,4 +19,6 @@ qt_internal_add_module(AppManIntentServerPrivate Qt::Core Qt::Network Qt::Qml + DEFINES + AM_COMPILING_APPMAN ) |