Skip to content

Commit 66b494d

Browse files
committed
build: add qs_add_link_dependencies
Further inspection as to what libraries actually require which others will be required before this can be used as a hint for shared builds.
1 parent f4066cb commit 66b494d

File tree

6 files changed

+16
-4
lines changed

6 files changed

+16
-4
lines changed

cmake/util.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# Adds a dependency hint to the link order, but does not block build on the dependency.
2+
function (qs_add_link_dependencies target)
3+
set_property(
4+
TARGET ${target}
5+
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
6+
${ARGN}
7+
)
8+
endfunction()
9+
110
function (qs_append_qmldir target text)
211
get_property(qmldir_content TARGET ${target} PROPERTY _qt_internal_qmldir_content)
312

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ qt_add_executable(quickshell main.cpp)
22

33
install(TARGETS quickshell RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
44

5-
add_subdirectory(launch)
65
add_subdirectory(build)
6+
add_subdirectory(launch)
77
add_subdirectory(core)
88
add_subdirectory(ipc)
99
add_subdirectory(window)

src/crash/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ target_link_libraries(quickshell-crash PRIVATE PkgConfig::breakpad -lbreakpad_cl
1414
# quick linked for pch compat
1515
target_link_libraries(quickshell-crash PRIVATE quickshell-build Qt::Quick Qt::Widgets)
1616

17-
target_link_libraries(quickshell-core PRIVATE quickshell-crash)
17+
target_link_libraries(quickshell PRIVATE quickshell-crash)

src/dbus/dbusmenu/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ install_qml_module(quickshell-dbusmenu)
2727
# dbus headers
2828
target_include_directories(quickshell-dbusmenu PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
2929

30-
target_link_libraries(quickshell-dbusmenu PRIVATE Qt::Quick Qt::DBus quickshell-dbus)
30+
target_link_libraries(quickshell-dbusmenu PRIVATE Qt::Quick Qt::DBus)
31+
qs_add_link_dependencies(quickshell-dbusmenu quickshell-dbus)
3132

3233
qs_module_pch(quickshell-dbusmenu SET dbus)
3334

src/services/mpris/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ qs_add_module_deps_light(quickshell-service-mpris Quickshell)
3838
install_qml_module(quickshell-service-mpris)
3939

4040
target_link_libraries(quickshell-service-mpris PRIVATE Qt::Qml Qt::DBus)
41+
qs_add_link_dependencies(quickshell-service-mpris quickshell-dbus)
4142

4243
qs_module_pch(quickshell-service-mpris SET dbus)
4344

src/services/upower/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ qs_add_module_deps_light(quickshell-service-upower Quickshell)
3737

3838
install_qml_module(quickshell-service-upower)
3939

40-
target_link_libraries(quickshell-service-upower PRIVATE Qt::Qml Qt::DBus quickshell-dbus)
40+
target_link_libraries(quickshell-service-upower PRIVATE Qt::Qml Qt::DBus)
41+
qs_add_link_dependencies(quickshell-service-upower quickshell-dbus)
4142
target_link_libraries(quickshell PRIVATE quickshell-service-upowerplugin)
4243

4344
qs_module_pch(quickshell-service-upower SET dbus)

0 commit comments

Comments
 (0)