-
-
Notifications
You must be signed in to change notification settings - Fork 78
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
136 lines (129 loc) · 4.06 KB
/
CMakeLists.txt
File metadata and controls
136 lines (129 loc) · 4.06 KB
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
cmake_minimum_required(VERSION 3.21)
project(WebBrowser LANGUAGES CXX
DESCRIPTION "Web browser plugin")
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(WebBrowser_QT_COMPONENTS Core Gui Widgets Network WebEngineWidgets WebEngineCore Sql Xml)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS ${WebBrowser_QT_COMPONENTS})
if(Qt${QT_VERSION_MAJOR}_FOUND)
FOREACH(_COMPONENT ${WebBrowser_QT_COMPONENTS})
list(APPEND WebBrowser_LIBS Qt${QT_VERSION_MAJOR}::${_COMPONENT})
ENDFOREACH()
else()
message("Don't found qt libraries")
set(BUILD_WEB_BROWSER OFF PARENT_SCOPE)
return()
endif()
message("Qt components: ${WebBrowser_LIBS}")
list(APPEND WebBrowser_LIBS Plugin)
set(WebBrowser_SOURCE_FILES
PluginWebBrowser.cpp
OperateWebBrowser.cpp
FrmWebBrowser.cpp
FrmWebView.cpp
FrmDownload.cpp
FrmDownloadManager.cpp
DlgSettings.cpp
ParameterWebBrowser.cpp
FrmPopup.cpp
PasswordStore.cpp
CaptureFullPage.cpp
MultimediaRecord.cpp
AddressCompleter.cpp
AutoCompleteLineEdit.cpp
DatabaseUrl.cpp
History/FrmHistory.cpp
History/HistoryDatabase.cpp
History/HistoryModel.cpp
Bookmark/BookmarkDatabase.cpp
Bookmark/FrmBookmark.cpp
Bookmark/FrmAddBookmark.cpp
)
set(WebBrowser_HEADER_FILES
PluginWebBrowser.h
OperateWebBrowser.h
FrmWebBrowser.h
FrmWebView.h
FrmDownload.h
FrmDownloadManager.h
DlgSettings.h
ParameterWebBrowser.h
FrmPopup.h
PasswordStore.h
CaptureFullPage.h
MultimediaRecord.h
AddressCompleter.h
AutoCompleteLineEdit.h
DatabaseUrl.h
History/FrmHistory.h
History/HistoryDatabase.h
History/HistoryModel.h
Bookmark/BookmarkDatabase.h
Bookmark/FrmBookmark.h
Bookmark/FrmAddBookmark.h
)
set(WebBrowser_UI_FILES
FrmDownload.ui
DlgSettings.ui
History/FrmHistory.ui
Bookmark/FrmBookmark.ui
Bookmark/FrmAddBookmark.ui
Resource/Resource.qrc
)
list(APPEND WebBrowser_INCLUDE_DIR
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/History>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Bookmark>)
if(QT_VERSION VERSION_GREATER_EQUAL "6.7.0")
list(APPEND WebBrowser_SOURCE_FILES
DlgWebAuth.cpp
DlgScreenCapture.cpp
)
list(APPEND WebBrowser_HEADER_FILES
DlgWebAuth.h
DlgScreenCapture.h
)
list(APPEND WebBrowser_UI_FILES
DlgWebAuth.ui
DlgScreenCapture.ui
)
endif()
if(QT_VERSION VERSION_GREATER_EQUAL "6.10.0")
list(APPEND WebBrowser_SOURCE_FILES
Extension/FrmExtensionManager.cpp
Extension/FrmExtensionStore.cpp
)
list(APPEND WebBrowser_HEADER_FILES
Extension/FrmExtensionManager.h
Extension/FrmExtensionStore.h
)
list(APPEND WebBrowser_UI_FILES
Extension/FrmExtensionManager.ui
Extension/FrmExtensionStore.ui
)
list(APPEND WebBrowser_INCLUDE_DIR $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Extension>)
endif()
option(WITH_QtKEYCHAIN "With qtkeychain" ON)
if(WITH_QtKEYCHAIN)
find_package(Qt${QT_VERSION_MAJOR}Keychain)
if(Qt${QT_VERSION_MAJOR}Keychain_FOUND)
list(APPEND WebBrowser_PRIVATE_DEFINITIONS HAVE_QTKEYCHAIN)
list(APPEND WebBrowser_LIBS Qt${QT_VERSION_MAJOR}Keychain::Qt${QT_VERSION_MAJOR}Keychain)
list(APPEND WebBrowser_INCLUDE_DIR $<BUILD_INTERFACE:${QTKEYCHAIN_INCLUDE_DIRS}/qt${QT_VERSION_MAJOR}keychain>)
endif()
endif()
ADD_PLUGIN_TARGET(NAME Plugin${PROJECT_NAME}
ISPLUGIN
SOURCE_FILES ${WebBrowser_SOURCE_FILES} ${WebBrowser_HEADER_FILES} ${WebBrowser_UI_FILES}
PRIVATE_LIBS ${WebBrowser_LIBS}
PRIVATE_INCLUDE_DIRS ${WebBrowser_INCLUDE_DIR}
PRIVATE_DEFINITIONS ${WebBrowser_PRIVATE_DEFINITIONS} PluginWebBrowser_VERSION="${RabbitRemoteControl_VERSION}"
DEFINITIONS ${WebBrowser_DEFINITIONS}
PRIVATE_OPTIONS ${WebBrowser_OPTIONS}
INSTALL_DIR ${PLUGIN_PATH}
OUTPUT_DIR ${CMAKE_BINARY_DIR}/${PLUGIN_PATH}
INSTALL_RPATH ${INSTALL_RPATH}
VERSION ${RabbitRemoteControl_VERSION}
)