forked from quickshell/quickshell
		
	all: import module dependencies via qmldir
Improves compatibility with qml tooling.
This commit is contained in:
		
							parent
							
								
									0519acf1d6
								
							
						
					
					
						commit
						569c40494d
					
				
					 7 changed files with 23 additions and 66 deletions
				
			
		| 
						 | 
				
			
			@ -51,16 +51,19 @@ endfunction()
 | 
			
		|||
# -----
 | 
			
		||||
 | 
			
		||||
qt_add_library(quickshell-wayland STATIC)
 | 
			
		||||
qt_add_qml_module(quickshell-wayland URI Quickshell.Wayland VERSION 0.1)
 | 
			
		||||
 | 
			
		||||
# required to make sure the constructor is linked
 | 
			
		||||
add_library(quickshell-wayland-init OBJECT init.cpp)
 | 
			
		||||
 | 
			
		||||
set(WAYLAND_MODULES)
 | 
			
		||||
 | 
			
		||||
if (WAYLAND_WLR_LAYERSHELL)
 | 
			
		||||
	target_sources(quickshell-wayland PRIVATE wlr_layershell.cpp)
 | 
			
		||||
	add_subdirectory(wlr_layershell)
 | 
			
		||||
	target_compile_definitions(quickshell-wayland PRIVATE QS_WAYLAND_WLR_LAYERSHELL)
 | 
			
		||||
	target_compile_definitions(quickshell-wayland-init PRIVATE QS_WAYLAND_WLR_LAYERSHELL)
 | 
			
		||||
 | 
			
		||||
	list(APPEND WAYLAND_MODULES Quickshell.Wayland._WlrLayerShell)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (WAYLAND_SESSION_LOCK)
 | 
			
		||||
| 
						 | 
				
			
			@ -75,6 +78,12 @@ endif()
 | 
			
		|||
target_link_libraries(quickshell-wayland PRIVATE ${QT_DEPS})
 | 
			
		||||
target_link_libraries(quickshell-wayland-init PRIVATE ${QT_DEPS})
 | 
			
		||||
 | 
			
		||||
qt_add_qml_module(quickshell-wayland
 | 
			
		||||
	URI Quickshell.Wayland
 | 
			
		||||
	VERSION 0.1
 | 
			
		||||
	IMPORTS ${WAYLAND_MODULES}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
qs_pch(quickshell-wayland)
 | 
			
		||||
qs_pch(quickshell-waylandplugin)
 | 
			
		||||
qs_pch(quickshell-wayland-init)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,24 @@
 | 
			
		|||
qt_add_library(quickshell-hyprland STATIC)
 | 
			
		||||
qt_add_qml_module(quickshell-hyprland URI Quickshell.Hyprland VERSION 0.1)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell-hyprland PRIVATE ${QT_DEPS})
 | 
			
		||||
 | 
			
		||||
set(HYPRLAND_MODULES)
 | 
			
		||||
 | 
			
		||||
if (HYPRLAND_FOCUS_GRAB)
 | 
			
		||||
	add_subdirectory(focus_grab)
 | 
			
		||||
	list(APPEND HYPRLAND_MODULES Quickshell.Hyprland._FocusGrab)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (HYPRLAND_GLOBAL_SHORTCUTS)
 | 
			
		||||
	add_subdirectory(global_shortcuts)
 | 
			
		||||
	list(APPEND HYPRLAND_MODULES Quickshell.Hyprland._GlobalShortcuts)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell-hyprland PRIVATE ${QT_DEPS})
 | 
			
		||||
qt_add_qml_module(quickshell-hyprland
 | 
			
		||||
	URI Quickshell.Hyprland
 | 
			
		||||
	VERSION 0.1
 | 
			
		||||
	IMPORTS ${HYPRLAND_MODULES}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
qs_pch(quickshell-hyprland)
 | 
			
		||||
qs_pch(quickshell-hyprlandplugin)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,21 +9,14 @@ qt_add_qml_module(quickshell-hyprland-focus-grab
 | 
			
		|||
	VERSION 0.1
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_library(quickshell-hyprland-focus-grab-init OBJECT init.cpp)
 | 
			
		||||
 | 
			
		||||
wl_proto(quickshell-hyprland-focus-grab
 | 
			
		||||
	hyprland-focus-grab-v1
 | 
			
		||||
	"${CMAKE_CURRENT_SOURCE_DIR}/hyprland-focus-grab-v1.xml"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell-hyprland-focus-grab PRIVATE ${QT_DEPS} wayland-client)
 | 
			
		||||
target_link_libraries(quickshell-hyprland-focus-grab-init PRIVATE ${QT_DEPS})
 | 
			
		||||
 | 
			
		||||
qs_pch(quickshell-hyprland-focus-grab)
 | 
			
		||||
qs_pch(quickshell-hyprland-focus-grabplugin)
 | 
			
		||||
qs_pch(quickshell-hyprland-focus-grab-init)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell PRIVATE
 | 
			
		||||
	quickshell-hyprland-focus-grabplugin
 | 
			
		||||
	quickshell-hyprland-focus-grab-init
 | 
			
		||||
)
 | 
			
		||||
target_link_libraries(quickshell PRIVATE quickshell-hyprland-focus-grabplugin)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
#include <qqml.h>
 | 
			
		||||
 | 
			
		||||
#include "../../../core/plugin.hpp"
 | 
			
		||||
 | 
			
		||||
namespace {
 | 
			
		||||
 | 
			
		||||
class HyprlandFocusGrabPlugin: public QuickshellPlugin {
 | 
			
		||||
	void registerTypes() override {
 | 
			
		||||
		qmlRegisterModuleImport(
 | 
			
		||||
		    "Quickshell.Hyprland",
 | 
			
		||||
		    QQmlModuleImportModuleAny,
 | 
			
		||||
		    "Quickshell.Hyprland._FocusGrab",
 | 
			
		||||
		    QQmlModuleImportLatest
 | 
			
		||||
		);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
QS_REGISTER_PLUGIN(HyprlandFocusGrabPlugin);
 | 
			
		||||
 | 
			
		||||
} // namespace
 | 
			
		||||
| 
						 | 
				
			
			@ -9,21 +9,14 @@ qt_add_qml_module(quickshell-hyprland-global-shortcuts
 | 
			
		|||
	VERSION 0.1
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_library(quickshell-hyprland-global-shortcuts-init OBJECT init.cpp)
 | 
			
		||||
 | 
			
		||||
wl_proto(quickshell-hyprland-global-shortcuts
 | 
			
		||||
	hyprland-global-shortcuts-v1
 | 
			
		||||
	"${CMAKE_CURRENT_SOURCE_DIR}/hyprland-global-shortcuts-v1.xml"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell-hyprland-global-shortcuts PRIVATE ${QT_DEPS} wayland-client)
 | 
			
		||||
target_link_libraries(quickshell-hyprland-global-shortcuts-init PRIVATE ${QT_DEPS})
 | 
			
		||||
 | 
			
		||||
qs_pch(quickshell-hyprland-global-shortcuts)
 | 
			
		||||
qs_pch(quickshell-hyprland-global-shortcutsplugin)
 | 
			
		||||
qs_pch(quickshell-hyprland-global-shortcuts-init)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(quickshell PRIVATE
 | 
			
		||||
	quickshell-hyprland-global-shortcutsplugin
 | 
			
		||||
	quickshell-hyprland-global-shortcuts-init
 | 
			
		||||
)
 | 
			
		||||
target_link_libraries(quickshell PRIVATE quickshell-hyprland-global-shortcutsplugin)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
#include <qqml.h>
 | 
			
		||||
 | 
			
		||||
#include "../../../core/plugin.hpp"
 | 
			
		||||
 | 
			
		||||
namespace {
 | 
			
		||||
 | 
			
		||||
class HyprlandFocusGrabPlugin: public QuickshellPlugin {
 | 
			
		||||
	void registerTypes() override {
 | 
			
		||||
		qmlRegisterModuleImport(
 | 
			
		||||
		    "Quickshell.Hyprland",
 | 
			
		||||
		    QQmlModuleImportModuleAny,
 | 
			
		||||
		    "Quickshell.Hyprland._GlobalShortcuts",
 | 
			
		||||
		    QQmlModuleImportLatest
 | 
			
		||||
		);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
QS_REGISTER_PLUGIN(HyprlandFocusGrabPlugin);
 | 
			
		||||
 | 
			
		||||
} // namespace
 | 
			
		||||
| 
						 | 
				
			
			@ -34,13 +34,6 @@ class WaylandPlugin: public QuickshellPlugin {
 | 
			
		|||
		// will not be registered. This can be worked around with a module import which makes
 | 
			
		||||
		// the QML_ELMENT module import the old register-type style module.
 | 
			
		||||
 | 
			
		||||
		qmlRegisterModuleImport(
 | 
			
		||||
		    "Quickshell.Wayland",
 | 
			
		||||
		    QQmlModuleImportModuleAny,
 | 
			
		||||
		    "Quickshell.Wayland._WlrLayerShell",
 | 
			
		||||
		    QQmlModuleImportLatest
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		qmlRegisterModuleImport(
 | 
			
		||||
		    "Quickshell",
 | 
			
		||||
		    QQmlModuleImportModuleAny,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue