build: improve parallelism by removing core dependency on modules

This commit is contained in:
outfoxxed 2024-03-11 18:34:38 -07:00
parent c44041653c
commit 9f6ef37f61
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
7 changed files with 29 additions and 14 deletions

View file

@ -87,11 +87,4 @@ function (qs_pch target)
target_link_libraries(${target} PRIVATE ${QT_DEPS}) # required for gcc to accept the pch on plugin targets
endfunction()
add_subdirectory(src/core)
add_subdirectory(src/io)
if (WAYLAND)
add_subdirectory(src/wayland)
endif ()
install(TARGETS quickshell RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
add_subdirectory(src)

View file

@ -26,7 +26,7 @@ clean:
rm -rf {{builddir}}
run *ARGS='': build
{{builddir}}/src/core/quickshell {{ARGS}}
{{builddir}}/src/quickshell {{ARGS}}
test *ARGS='': build
ctest --test-dir {{builddir}} --output-on-failure {{ARGS}}

10
src/CMakeLists.txt Normal file
View file

@ -0,0 +1,10 @@
qt_add_executable(quickshell main.cpp)
install(TARGETS quickshell RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
add_subdirectory(core)
add_subdirectory(io)
if (WAYLAND)
add_subdirectory(wayland)
endif ()

View file

@ -1,4 +1,4 @@
qt_add_executable(quickshell
qt_add_library(quickshell-core STATIC
main.cpp
plugin.cpp
shell.cpp
@ -19,10 +19,12 @@ qt_add_executable(quickshell
)
set_source_files_properties(main.cpp PROPERTIES COMPILE_DEFINITIONS GIT_REVISION="${GIT_REVISION}")
qt_add_qml_module(quickshell URI Quickshell VERSION 0.1)
qt_add_qml_module(quickshell-core URI Quickshell VERSION 0.1)
target_link_libraries(quickshell PRIVATE ${QT_DEPS})
qs_pch(quickshell)
target_link_libraries(quickshell-core PRIVATE ${QT_DEPS})
qs_pch(quickshell-core)
target_link_libraries(quickshell PRIVATE quickshell-coreplugin)
if (BUILD_TESTING)
add_subdirectory(test)

View file

@ -1,3 +1,5 @@
#include "main.hpp"
#include <iostream>
#include <qcommandlineoption.h>
@ -17,7 +19,7 @@
#include "plugin.hpp"
#include "rootwrapper.hpp"
int main(int argc, char** argv) {
int qs_main(int argc, char** argv) {
const auto app = QGuiApplication(argc, argv);
QGuiApplication::setApplicationName("quickshell");
QGuiApplication::setApplicationVersion("0.1.0 (" GIT_REVISION ")");

3
src/core/main.hpp Normal file
View file

@ -0,0 +1,3 @@
#pragma once
int qs_main(int argc, char** argv); // NOLINT

5
src/main.cpp Normal file
View file

@ -0,0 +1,5 @@
#include "core/main.hpp"
int main(int argc, char** argv) {
return qs_main(argc, argv);
}