forked from vnotex/vnote
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
209 lines (194 loc) · 7.93 KB
/
CMakeLists.txt
File metadata and controls
209 lines (194 loc) · 7.93 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
add_executable(VNote main.cpp
vmainwindow.cpp
vdirectorytree.cpp
vnote.cpp
vnotebook.cpp
dialog/vnewdirdialog.cpp
vconfigmanager.cpp
vfilelist.cpp
dialog/vnewfiledialog.cpp
vedit.cpp
vdocument.cpp
utils/vutils.cpp
vpreviewpage.cpp
vstyleparser.cpp
dialog/vnewnotebookdialog.cpp
vmarkdownconverter.cpp
dialog/vnotebookinfodialog.cpp
dialog/vdirinfodialog.cpp
dialog/vfileinfodialog.cpp
veditoperations.cpp
vmdeditoperations.cpp
dialog/vinsertimagedialog.cpp
vdownloader.cpp
veditarea.cpp
veditwindow.cpp
vedittab.cpp
voutline.cpp
vsingleinstanceguard.cpp
vdirectory.cpp
vfile.cpp
vnotebookselector.cpp
vnofocusitemdelegate.cpp
vmdedit.cpp
dialog/vfindreplacedialog.cpp
dialog/vsettingsdialog.cpp
dialog/vdeletenotebookdialog.cpp
dialog/vselectdialog.cpp
vcaptain.cpp
vopenedlistmenu.cpp
vnavigationmode.cpp
vorphanfile.cpp
vcodeblockhighlighthelper.cpp
vwebview.cpp
vmdtab.cpp
vhtmltab.cpp
utils/vvim.cpp
utils/veditutils.cpp
vvimindicator.cpp
vbuttonwithwidget.cpp
vtabindicator.cpp
dialog/vupdater.cpp
dialog/vorphanfileinfodialog.cpp
vtextblockdata.cpp
utils/vpreviewutils.cpp
dialog/vconfirmdeletiondialog.cpp
vnotefile.cpp
vattachmentlist.cpp
dialog/vsortdialog.cpp
vfilesessioninfo.cpp
vtableofcontent.cpp
utils/vmetawordmanager.cpp
vmetawordlineedit.cpp
dialog/vinsertlinkdialog.cpp
vplaintextedit.cpp
vimageresourcemanager.cpp
vlinenumberarea.cpp
veditor.cpp
vmdeditor.cpp
veditconfig.cpp
vpreviewmanager.cpp
vimageresourcemanager2.cpp
vtextdocumentlayout.cpp
vtextedit.cpp
vsnippetlist.cpp
vsnippet.cpp
dialog/veditsnippetdialog.cpp
utils/vimnavigationforwidget.cpp
vtoolbox.cpp
vinsertselector.cpp
utils/vclipboardutils.cpp
vpalette.cpp
vbuttonmenuitem.cpp
utils/viconutils.cpp
lineeditdelegate.cpp
dialog/vtipsdialog.cpp
dialog/vcopytextashtmldialog.cpp
vwaitingwidget.cpp
utils/vwebutils.cpp
vlineedit.cpp
vcart.cpp
vvimcmdlineedit.cpp
vlistwidget.cpp
vsimplesearchinput.cpp
vstyleditemdelegate.cpp
vtreewidget.cpp
dialog/vexportdialog.cpp
vexporter.cpp
vsearcher.cpp
vsearch.cpp
vsearchresulttree.cpp
vsearchengine.cpp
vuniversalentry.cpp
vlistwidgetdoublerows.cpp
vdoublerowitemwidget.cpp
vsearchue.cpp
voutlineue.cpp
vhelpue.cpp
vlistfolderue.cpp
dialog/vfixnotebookdialog.cpp
vplantumlhelper.cpp
vgraphvizhelper.cpp
vlivepreviewhelper.cpp
vmathjaxpreviewhelper.cpp
vmathjaxwebdocument.cpp
vmathjaxinplacepreviewhelper.cpp
vhistorylist.cpp
vexplorer.cpp
vlistue.cpp
vuetitlecontentpanel.cpp
utils/vprocessutils.cpp
vtagpanel.cpp
valltagspanel.cpp
vtaglabel.cpp
vtagexplorer.cpp
pegmarkdownhighlighter.cpp
pegparser.cpp
peghighlighterresult.cpp
vtexteditcompleter.cpp
utils/vkeyboardlayoutmanager.cpp
dialog/vkeyboardlayoutmappingdialog.cpp
vfilelistwidget.cpp
widgets/vcombobox.cpp
vtablehelper.cpp
vtable.cpp
dialog/vinserttabledialog.cpp
isearchengine.cpp
iuniversalentry.cpp
vnote.qrc translations.qrc)
# Qt5 libraries
target_link_libraries(VNote PRIVATE Qt5::Core Qt5::WebEngine Qt5::WebEngineWidgets
Qt5::Network Qt5::PrintSupport Qt5::WebChannel Qt5::Widgets
Qt5::PrintSupport Qt5::Svg)
set_property(TARGET VNote PROPERTY AUTORCC_OPTIONS "--compress;9")
# Thirdparty libraries
target_include_directories(VNote PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/peg-highlight ${CMAKE_SOURCE_DIR}/hoedown)
target_link_libraries(VNote PRIVATE peg-highlight hoedown)
# Compile options
if(GCC_VERSION VERSION_GREATER_EQUAL 8.0)
target_compile_options(VNote PRIVATE "-Wno-class-memaccess")
endif()
## INSTALLS
install(TARGETS VNote RUNTIME DESTINATION bin)
install(FILES translations/vnote_zh_CN.qm translations/vnote_ja.qm DESTINATION translations )
if(UNIX AND NOT DARWIN)
set(desktop.path applications)
set(desktop.files vnote.desktop)
set(icon16.path icons/hicolor/16x16/apps)
set(icon16.files resources/icons/16x16/vnote.png)
set(icon32.path icons/hicolor/32x32/apps)
set(icon32.files resources/icons/32x32/vnote.png)
set(icon48.path icons/hicolor/48x48/apps)
set(icon48.files resources/icons/48x48/vnote.png)
set(icon64.path icons/hicolor/64x64/apps)
set(icon64.files resources/icons/64x64/vnote.png)
set(icon128.path icons/hicolor/128x128/apps)
set(icon128.files resources/icons/128x128/vnote.png)
set(icon256.path icons/hicolor/256x256/apps)
set(icon256.files resources/icons/256x256/vnote.png)
set(iconsvg.path icons/hicolor/scalable/apps)
set(iconsvg.files resources/icons/vnote.svg)
foreach(items IN ITEMS desktop icon16 icon32 icon48 icon64 icon128 icon256 iconsvg)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${${items}.files}
DESTINATION share/${${items}.path}
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
endforeach()
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE
DESTINATION share/doc/vnote/
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
RENAME copyright)
elseif(DARWIN)
set(MACOSX_BUNDLE_BUNDLE_NAME "VNote")
set(MACOSX_BUNDLE_BUNDLE_GUI_IDENTIFIER "com.tamlok.VNote")
set(MACOSX_BUNDLE_ICON_FILE ${CMAKE_SOURCE_DIR}/src/resources/icons/vnote.icns)
set(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING ${MACOSX_BUNDLE_BUNDLE_VERSION})
# Set short version independent with project version to be able to increment independendently.
math(EXPR SHORT_VERSION_MAJOR "${PROJECT_VERSION_MAJOR} * 100 + ${PROJECT_VERSION_MINOR}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${SHORT_VERSION_MAJOR}.${PROJECT_VERSION_PATCH}.0")
set(MACOSX_BUNDLE_EXECUTABLE_NAME "VNote")
set(MACOSX_BUNDLE_COPYRIGHT "Distributed under MIT license. Copyright 2016-2019 Le Tan")
set(MACOSX_BUNDLE_INFO_STRING "VNote is a note-taking application that knows programmers and Markdown better. Distributed under MIT license. Copyright 2017 Le Tan")
set_source_files_properties(${MACOSX_BUNDLE_ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
endif()
include(${CMAKE_CURRENT_LIST_DIR}/Packaging.cmake)