summaryrefslogtreecommitdiffstats
path: root/cmake/FindWrapDBus1.cmake
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals.cid@kdab.com>2019-05-10 17:50:51 +0200
committerAlbert Astals Cid <albert.astals.cid@kdab.com>2019-05-10 16:33:15 +0000
commit6396d46f554e6eab2ba7f212bd7447961cd4c286 (patch)
treea9380825a6300b60c96e7443ea8744f3a8164aac /cmake/FindWrapDBus1.cmake
parent400f94109dfb0b8fc28ee1e852b59891d3084624 (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.cmake33
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()