forked from quickshell/quickshell
Further inspection as to what libraries actually require which others will be required before this can be used as a hint for shared builds.
30 lines
973 B
CMake
30 lines
973 B
CMake
# 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)
|
|
|
|
if ("${qmldir_content}" STREQUAL "")
|
|
message(WARNING "qs_append_qmldir depends on private Qt cmake code, which has broken.")
|
|
return()
|
|
endif()
|
|
|
|
set_property(TARGET ${target} APPEND_STRING PROPERTY _qt_internal_qmldir_content ${text})
|
|
endfunction()
|
|
|
|
# DEPENDENCIES introduces a cmake dependency which we don't need with static modules.
|
|
# This greatly improves comp speed by not introducing those dependencies.
|
|
function (qs_add_module_deps_light target)
|
|
foreach (dep IN LISTS ARGN)
|
|
string(APPEND qmldir_extra "depends ${dep}\n")
|
|
endforeach()
|
|
|
|
qs_append_qmldir(${target} "${qmldir_extra}")
|
|
endfunction()
|