diff --git a/cmake/util.cmake b/cmake/util.cmake index 5d261a40..14fa7c2d 100644 --- a/cmake/util.cmake +++ b/cmake/util.cmake @@ -1,3 +1,12 @@ +# Adds a dependency hint to the link order, but does not block build on the dependency. +function (qs_add_link_dependencies target) + set_property( + TARGET ${target} + APPEND PROPERTY INTERFACE_LINK_LIBRARIES + ${ARGN} + ) +endfunction() + function (qs_append_qmldir target text) get_property(qmldir_content TARGET ${target} PROPERTY _qt_internal_qmldir_content) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c518a1c9..707bc37c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,8 +2,8 @@ qt_add_executable(quickshell main.cpp) install(TARGETS quickshell RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -add_subdirectory(launch) add_subdirectory(build) +add_subdirectory(launch) add_subdirectory(core) add_subdirectory(ipc) add_subdirectory(window) diff --git a/src/crash/CMakeLists.txt b/src/crash/CMakeLists.txt index 442859af..7fdd8305 100644 --- a/src/crash/CMakeLists.txt +++ b/src/crash/CMakeLists.txt @@ -14,4 +14,4 @@ target_link_libraries(quickshell-crash PRIVATE PkgConfig::breakpad -lbreakpad_cl # quick linked for pch compat target_link_libraries(quickshell-crash PRIVATE quickshell-build Qt::Quick Qt::Widgets) -target_link_libraries(quickshell-core PRIVATE quickshell-crash) +target_link_libraries(quickshell PRIVATE quickshell-crash) diff --git a/src/dbus/dbusmenu/CMakeLists.txt b/src/dbus/dbusmenu/CMakeLists.txt index ac50b28a..61cee42c 100644 --- a/src/dbus/dbusmenu/CMakeLists.txt +++ b/src/dbus/dbusmenu/CMakeLists.txt @@ -27,7 +27,8 @@ install_qml_module(quickshell-dbusmenu) # dbus headers target_include_directories(quickshell-dbusmenu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries(quickshell-dbusmenu PRIVATE Qt::Quick Qt::DBus quickshell-dbus) +target_link_libraries(quickshell-dbusmenu PRIVATE Qt::Quick Qt::DBus) +qs_add_link_dependencies(quickshell-dbusmenu quickshell-dbus) qs_module_pch(quickshell-dbusmenu SET dbus) diff --git a/src/services/mpris/CMakeLists.txt b/src/services/mpris/CMakeLists.txt index 122a0c5c..4440c0a7 100644 --- a/src/services/mpris/CMakeLists.txt +++ b/src/services/mpris/CMakeLists.txt @@ -38,6 +38,7 @@ qs_add_module_deps_light(quickshell-service-mpris Quickshell) install_qml_module(quickshell-service-mpris) target_link_libraries(quickshell-service-mpris PRIVATE Qt::Qml Qt::DBus) +qs_add_link_dependencies(quickshell-service-mpris quickshell-dbus) qs_module_pch(quickshell-service-mpris SET dbus) diff --git a/src/services/upower/CMakeLists.txt b/src/services/upower/CMakeLists.txt index fd0da2af..ca87f6ae 100644 --- a/src/services/upower/CMakeLists.txt +++ b/src/services/upower/CMakeLists.txt @@ -37,7 +37,8 @@ qs_add_module_deps_light(quickshell-service-upower Quickshell) install_qml_module(quickshell-service-upower) -target_link_libraries(quickshell-service-upower PRIVATE Qt::Qml Qt::DBus quickshell-dbus) +target_link_libraries(quickshell-service-upower PRIVATE Qt::Qml Qt::DBus) +qs_add_link_dependencies(quickshell-service-upower quickshell-dbus) target_link_libraries(quickshell PRIVATE quickshell-service-upowerplugin) qs_module_pch(quickshell-service-upower SET dbus)