diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,7 @@ if (NOT WIN32) find_package(Libcap) +find_package(KF5DBusAddons ${KF5_DEP_VERSION} REQUIRED) set_package_properties(Libcap PROPERTIES TYPE OPTIONAL PURPOSE "KInit needs setcap in order to install start_kdeinit with CAP_SYS_RESOURCE capabilities" diff --git a/src/kdeinit/CMakeLists.txt b/src/kdeinit/CMakeLists.txt --- a/src/kdeinit/CMakeLists.txt +++ b/src/kdeinit/CMakeLists.txt @@ -24,6 +24,11 @@ KF5::ConfigCore Qt5::DBus ) + +if (NOT WIN32) + target_link_libraries(kdeinit5 KF5::DBusAddons) +endif() + if (APPLE) target_link_libraries(kdeinit5 "-framework Foundation -framework AppKit") endif () @@ -49,15 +54,15 @@ add_executable(kdeinit5_shutdown ../wrapper.cpp) ecm_mark_nongui_executable(kdeinit5_shutdown) - target_link_libraries(kdeinit5_shutdown ${KINIT_SOCKET_LIBRARY} Qt5::Core) + target_link_libraries(kdeinit5_shutdown ${KINIT_SOCKET_LIBRARY} Qt5::Core KF5::DBusAddons) install(TARGETS kdeinit5_shutdown ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) # kdeinit5_wrapper add_executable(kdeinit5_wrapper ../wrapper.cpp) ecm_mark_nongui_executable(kdeinit5_wrapper) - target_link_libraries(kdeinit5_wrapper ${KINIT_SOCKET_LIBRARY} Qt5::Core) + target_link_libraries(kdeinit5_wrapper ${KINIT_SOCKET_LIBRARY} Qt5::Core KF5::DBusAddons) if (NOT X11_FOUND) target_compile_definitions(kdeinit5_wrapper PRIVATE -DNO_DISPLAY) diff --git a/src/kshell/CMakeLists.txt b/src/kshell/CMakeLists.txt --- a/src/kshell/CMakeLists.txt +++ b/src/kshell/CMakeLists.txt @@ -3,4 +3,8 @@ target_link_libraries(kshell5 ${KINIT_SOCKET_LIBRARY} Qt5::Core) +if (NOT WIN32) + target_link_libraries(kshell5 KF5::DBusAddons) +endif() + install(TARGETS kshell5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) diff --git a/src/kwrapper/CMakeLists.txt b/src/kwrapper/CMakeLists.txt --- a/src/kwrapper/CMakeLists.txt +++ b/src/kwrapper/CMakeLists.txt @@ -8,4 +8,9 @@ ecm_mark_nongui_executable(kwrapper5) target_link_libraries(kwrapper5 ${KINIT_SOCKET_LIBRARY} Qt5::Core) + +if (NOT WIN32) + target_link_libraries(kwrapper5 KF5::DBusAddons) +endif() + install(TARGETS kwrapper5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) diff --git a/src/wrapper.cpp b/src/wrapper.cpp --- a/src/wrapper.cpp +++ b/src/wrapper.cpp @@ -40,6 +40,8 @@ #include #include +#include + extern char **environ; // copied from kdeinit/kinit.cpp @@ -290,6 +292,10 @@ } start = p; +#ifdef QT_DBUS_LIB + KDEInitInterface::ensureKdeinitRunning(); +#endif + if (strcmp(start, "kdeinit5_wrapper") == 0) { wrapper = 1; } else if (strcmp(start, "kshell5") == 0) {