1
0
Fork 0

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.
This commit is contained in:
outfoxxed 2024-11-19 13:58:34 -08:00
parent f4066cb4ed
commit 66b494d760
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
6 changed files with 16 additions and 4 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)