blob: 0739608feb0e65bb69523ef4382293a277bc1bcf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
cmake_minimum_required(VERSION 3.16)
project(remote LANGUAGES CXX)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/interfaceframework/remote")
find_package(Qt6 REQUIRED COMPONENTS InterfaceFramework Quick)
qt_standard_project_setup(REQUIRES 6.7)
## Application ##
qt_add_executable(remote WIN32
main.cpp
)
qt_add_qml_module(remote
URI Example
QML_FILES
Main.qml
)
target_link_libraries(remote PRIVATE
remote_frontend
Qt::Quick
)
## Frontend ##
#! [0]
qt_ifcodegen_add_qml_module(remote_frontend
IDL_FILES example-remote.qface
TEMPLATE frontend
)
#! [0]
## Backend ##
#! [1]
qt_ifcodegen_add_plugin(remote_backend_qtro
IDL_FILES example-remote.qface
TEMPLATE backend_qtro
)
#! [1]
#! [3]
set_target_properties(remote_backend_qtro PROPERTIES
LIBRARY_OUTPUT_DIRECTORY interfaceframework
)
#! [3]
#! [2]
target_link_libraries(remote_backend_qtro PRIVATE
remote_frontend
)
#! [2]
## Server ##
#! [4]
qt_add_executable(remote-server WIN32
server/serverMain.cpp
server/processingservice.h
server/processingservice.cpp
)
qt_ifcodegen_extend_target(remote-server
IDL_FILES example-remote.qface
TEMPLATE server_qtro
)
target_link_libraries(remote-server PRIVATE
remote_frontend
)
#! [4]
set_property(TARGET remote APPEND PROPERTY QT_ANDROID_EXTRA_PLUGINS
"${CMAKE_CURRENT_BINARY_DIR}/interfaceframework"
)
set(QT_USE_TARGET_ANDROID_BUILD_DIR TRUE CACHE BOOL
"Support multiple apk targets in one folder")
install(TARGETS remote remote_frontend remote-server
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)
install(TARGETS remote_backend_qtro
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}/interfaceframework"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/interfaceframework"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/interfaceframework"
)
if (TARGET remote_frontendplugin)
set_target_properties(remote_frontendplugin
PROPERTIES
INSTALL_RPATH "$ORIGIN/../../../"
)
install(
TARGETS remote_frontendplugin
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/Example/If/RemoteModule"
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}/Example/If/RemoteModule"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/Example/If/RemoteModule"
)
endif()
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/Example/If/RemoteModule/qmldir
DESTINATION "${INSTALL_EXAMPLEDIR}/Example/If/RemoteModule"
)
|