forked from quickshell/quickshell
build: greatly speed up build times using pch
This commit is contained in:
parent
3480707e99
commit
c44041653c
10 changed files with 51 additions and 8 deletions
|
@ -22,6 +22,7 @@ set_source_files_properties(main.cpp PROPERTIES COMPILE_DEFINITIONS GIT_REVISION
|
|||
qt_add_qml_module(quickshell URI Quickshell VERSION 0.1)
|
||||
|
||||
target_link_libraries(quickshell PRIVATE ${QT_DEPS})
|
||||
qs_pch(quickshell)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
|
|
|
@ -16,6 +16,10 @@ target_link_libraries(quickshell-io-init PRIVATE ${QT_DEPS})
|
|||
|
||||
target_link_libraries(quickshell PRIVATE quickshell-ioplugin quickshell-io-init)
|
||||
|
||||
qs_pch(quickshell-io)
|
||||
qs_pch(quickshell-ioplugin)
|
||||
qs_pch(quickshell-io-init)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
|
|
@ -37,9 +37,15 @@ function (wl_proto target name path)
|
|||
execute_process(COMMAND ${qtwaylandscanner} client-header ${path} OUTPUT_FILE ${PROTO_BUILD_PATH}/qwayland-${name}.h)
|
||||
execute_process(COMMAND ${qtwaylandscanner} client-code ${path} OUTPUT_FILE ${PROTO_BUILD_PATH}/qwayland-${name}.cpp)
|
||||
|
||||
target_sources(${target} PRIVATE ${PROTO_BUILD_PATH}/wayland-${name}.c)
|
||||
target_sources(${target} PRIVATE ${PROTO_BUILD_PATH}/qwayland-${name}.cpp)
|
||||
target_include_directories(${target} PRIVATE ${PROTO_BUILD_PATH})
|
||||
add_library(wl-proto-${name}
|
||||
${PROTO_BUILD_PATH}/wayland-${name}.c
|
||||
${PROTO_BUILD_PATH}/qwayland-${name}.cpp
|
||||
)
|
||||
|
||||
target_include_directories(wl-proto-${name} INTERFACE ${PROTO_BUILD_PATH})
|
||||
target_link_libraries(wl-proto-${name} Qt6::WaylandClient Qt6::WaylandClientPrivate)
|
||||
|
||||
target_link_libraries(${target} PRIVATE wl-proto-${name})
|
||||
endfunction()
|
||||
|
||||
# -----
|
||||
|
@ -65,4 +71,8 @@ endif()
|
|||
target_link_libraries(quickshell-wayland PRIVATE ${QT_DEPS})
|
||||
target_link_libraries(quickshell-wayland-init PRIVATE ${QT_DEPS})
|
||||
|
||||
qs_pch(quickshell-wayland)
|
||||
qs_pch(quickshell-waylandplugin)
|
||||
qs_pch(quickshell-wayland-init)
|
||||
|
||||
target_link_libraries(quickshell PRIVATE quickshell-waylandplugin quickshell-wayland-init)
|
||||
|
|
|
@ -8,5 +8,6 @@ qt_add_library(quickshell-wayland-sessionlock STATIC
|
|||
|
||||
wl_proto(quickshell-wayland-sessionlock ext-session-lock-v1 "${WAYLAND_PROTOCOLS}/staging/ext-session-lock/ext-session-lock-v1.xml")
|
||||
target_link_libraries(quickshell-wayland-sessionlock PRIVATE ${QT_DEPS} wayland-client)
|
||||
qs_pch(quickshell-wayland-sessionlock)
|
||||
|
||||
target_link_libraries(quickshell-wayland PRIVATE quickshell-wayland-sessionlock)
|
||||
|
|
|
@ -9,4 +9,7 @@ qt_add_qml_module(quickshell-wayland-layershell URI Quickshell.Wayland._WlrLayer
|
|||
wl_proto(quickshell-wayland-layershell wlr-layer-shell-unstable-v1 "${CMAKE_CURRENT_SOURCE_DIR}/wlr-layer-shell-unstable-v1.xml")
|
||||
target_link_libraries(quickshell-wayland-layershell PRIVATE ${QT_DEPS} wayland-client)
|
||||
|
||||
qs_pch(quickshell-wayland-layershell)
|
||||
qs_pch(quickshell-wayland-layershellplugin)
|
||||
|
||||
target_link_libraries(quickshell-wayland PRIVATE quickshell-wayland-layershellplugin)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue