@@ -78,6 +78,11 @@ endif(BUILD_WITH_X11)
7878ds_install_package(PACKAGE org.deepin.ds.dock TARGET dockpanel)
7979ds_handle_package_translation(PACKAGE org.deepin.ds.dock)
8080
81+ # dock shell
82+ if ((${CMAKE_BUILD_TYPE} MATCHES "Debug" ))
83+ add_subdirectory (dock-shell-example)
84+ endif ()
85+
8186# sub plugins
8287add_subdirectory (clipboarditem)
8388add_subdirectory (workspaceitem)
@@ -93,14 +98,20 @@ add_subdirectory(dockplugin)
9398
9499# dock qml element(include Dock.xx defines and DockCompositor)
95100file (
96- GLOB dock_plugin_sources
101+ GLOB dock_plugin_headers
97102 constants.h
103+ ddockapplet.h
104+ )
105+ file (
106+ GLOB dock_plugin_sources
98107 # dockfilterproxymodel.cpp
99108 # dockfilterproxymodel.h
100109 dockpluginmanagerextension_p.h
101110 dockpluginmanagerextension.cpp
102111 dockpluginmanagerintegration_p.h
103112 dockpluginmanagerintegration.cpp
113+ private /ddockapplet_p.h
114+ ddockapplet.cpp
104115)
105116
106117set_source_files_properties (DockCompositor.qml PROPERTIES
@@ -117,15 +128,22 @@ set_source_files_properties(DockPalette.qml PROPERTIES
117128
118129qt_policy(SET QTP0001 OLD)
119130qt_add_qml_module(dock-plugin
120- PLUGIN_TARGET dock-plugin
131+ PLUGIN_TARGET dock-qml- plugin
121132 URI "org.deepin.ds.dock"
122133 VERSION "1.0"
123134 SHARED
124- SOURCES ${dock_plugin_sources}
125- QML_FILES DockCompositor.qml OverflowContainer.qml MenuHelper.qml DockPalette.qml
135+ SOURCES ${dock_plugin_headers} ${ dock_plugin_sources}
136+ QML_FILES DockCompositor.qml OverflowContainer.qml MenuHelper.qml DockPalette.qml DockItem.qml
126137 OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /plugins/org/deepin/ds/dock/
127138)
128139
140+ set_target_properties (dock-plugin PROPERTIES
141+ VERSION ${CMAKE_PROJECT_VERSION}
142+ SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
143+ OUTPUT_NAME dock-plugin
144+ EXPORT_NAME DockShell
145+ )
146+
129147qt_generate_wayland_protocol_server_sources(dock-plugin
130148 FILES
131149 ${CMAKE_CURRENT_SOURCE_DIR} /dockplugin/protocol/dock-plugin-manager-v1.xml
@@ -137,6 +155,7 @@ target_link_libraries(dock-plugin PUBLIC
137155 Qt${QT_VERSION_MAJOR} ::Qml
138156 Qt${QT_VERSION_MAJOR} ::Widgets
139157 Qt${QT_VERSION_MAJOR} ::WaylandCompositor
158+ dde-shell-frame
140159PRIVATE
141160 PkgConfig::WaylandClient
142161 Qt${QT_VERSION_MAJOR} ::WaylandCompositorPrivate
@@ -147,6 +166,19 @@ target_include_directories(dock-plugin
147166 $<TARGET_PROPERTY:dde-shell-frame,INTERFACE_INCLUDE_DIRECTORIES >
148167)
149168
169+ target_include_directories (dock-plugin INTERFACE
170+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >
171+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR} >
172+ $<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR} /dockshell>
173+ )
174+
175+ target_link_directories (dock-plugin INTERFACE
176+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /plugins/org/deepin/ds/dock/>
177+ $<INSTALL_INTERFACE:${LIB_INSTALL_DIR} >
178+ )
179+
180+ install (FILES ${dock_plugin_headers} DESTINATION "${INCLUDE_INSTALL_DIR} /dockshell" )
181+ install (TARGETS dock-plugin DESTINATION "${LIB_INSTALL_DIR} " )
150182install (DIRECTORY "${PROJECT_BINARY_DIR} /plugins/org/deepin/ds/dock/" DESTINATION "${QML_INSTALL_DIR} /org/deepin/ds/dock/" )
151183dtk_add_config_meta_files(APPID org.deepin.ds.dock FILES dconfig/org.deepin.ds.dock.json)
152184dtk_add_config_meta_files(APPID org.deepin.ds.dock FILES dconfig/org.deepin.ds.dock.power.json)
0 commit comments