diff options
author | Albert Astals Cid <albert.astals.cid@kdab.com> | 2019-05-10 17:50:51 +0200 |
---|---|---|
committer | Albert Astals Cid <albert.astals.cid@kdab.com> | 2019-05-10 16:33:15 +0000 |
commit | 6396d46f554e6eab2ba7f212bd7447961cd4c286 (patch) | |
tree | a9380825a6300b60c96e7443ea8744f3a8164aac /cmake/FindWrapDBus1.cmake | |
parent | 400f94109dfb0b8fc28ee1e852b59891d3084624 (diff) |
cmake: Correct way to save/restore env vars
for pkgconfig it is different if they are not defined vs an empty string
Change-Id: Ifb05db5dab32a699aafa32d91f9719eab78dee44
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/FindWrapDBus1.cmake')
-rw-r--r-- | cmake/FindWrapDBus1.cmake | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/cmake/FindWrapDBus1.cmake b/cmake/FindWrapDBus1.cmake index 3e0a31592c..42349a8b1a 100644 --- a/cmake/FindWrapDBus1.cmake +++ b/cmake/FindWrapDBus1.cmake @@ -1,10 +1,31 @@ # DBus1 is buggy and breaks PKG_CONFIG environment. # Work around that:-/ +# See https://gitlab.freedesktop.org/dbus/dbus/issues/267 for more information + +if(DEFINED ENV{PKG_CONFIG_DIR}) + set(__qt_dbus_pcd "$ENV{PKG_CONFIG_DIR}") +endif() +if(DEFINED ENV{PKG_CONFIG_PATH}) + set(__qt_dbus_pcp "$ENV{PKG_CONFIG_PATH}") +endif() +if(DEFINED ENV{PKG_CONFIG_LIBDIR}) + set(__qt_dbus_pcl "$ENV{PKG_CONFIG_LIBDIR}") +endif() -set(__qt_dbus_pcd $ENV{PKG_CONFIG_DIR}) -set(__qt_dbus_pcp $ENV{PKG_CONFIG_PATH}) -set(__qt_dbus_pcl $ENV{PKG_CONFIG_LIBDIR}) find_package(DBus1) -set(ENV{PKG_CONFIG_DIR} ${__qt_dbus_pcd}) -set(ENV{PKG_CONFIG_PATH} ${__qt_dbus_pcp}) -set(ENV{PKG_CONFIG_LIBDIR} ${__qt_dbus_pcl}) + +if(DEFINED __qt_dbus_pcd) + set(ENV{PKG_CONFIG_DIR} "${__qt_dbus_pcd}") +else() + unset(ENV{PKG_CONFIG_DIR}) +endif() +if(DEFINED __qt_dbus_pcp) + set(ENV{PKG_CONFIG_PATH} "${__qt_dbus_pcp}") +else() + unset(ENV{PKG_CONFIG_PATH}) +endif() +if(DEFINED __qt_dbus_pcl) + set(ENV{PKG_CONFIG_LIBDIR} "${__qt_dbus_pcl}") +else() + unset(ENV{PKG_CONFIG_LIBDIR}) +endif() |