forked from eticre/povmodeler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
341 lines (309 loc) · 7.88 KB
/
CMakeLists.txt
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
project(pov-qt5)
cmake_minimum_required(VERSION 3.0)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
find_package (OpenGL REQUIRED)
##find_package(ECM REQUIRED NO_MODULE)
##set(CMAKE_MODULE_PATH ${ECM_MODULE_DIR})
find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core)
find_package(Freetype REQUIRED)
find_package(OpenGL REQUIRED)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5DBus REQUIRED)
find_package(Qt5Xml REQUIRED)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
include(FeatureSummary)
add_feature_info(FREETYPE_FOUND "libfreetype" "FreeType lib is needed to build the povmodeler project"
"http://freetype.sf.net" FALSE "" "")
configure_file(config-povmodeler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-povmodeler.h )
include_directories(${FREETYPE_INCLUDE_DIR})
include_directories("/usr/include/freetype2")
#include_directories( ${Qt5Gui_PRIVATE_INCLUDE_DIRS} )
add_definitions (-O0 )
########### next target ###############
set(lpovmodeler_LIB_SRCS
povmodeleradaptator.cpp
pmpart.cpp
pmview.cpp
pmshell.cpp
pmobjectdrag.cpp
pmtreeview.cpp
pmmessage.cpp
pmtreeviewitem.cpp
pmerrordialog.cpp
pminsertpopup.cpp
pminserterrordialog.cpp
pmglview.cpp
pmrendermanager.cpp
pmobjectselect.cpp
pmrendermodesdialog.cpp
pmpovrayrenderwidget.cpp
pmpovraywidget.cpp
pmpovrayoutputwidget.cpp
pmsettingsdialog.cpp
pmcolorsettings.cpp
pmgridsettings.cpp
pmlayoutsettings.cpp
pmobjectlibrarysettings.cpp
pmobjectsettings.cpp
pmpovraysettings.cpp
pmpreviewsettings.cpp
pmopenglsettings.cpp
pmdockwidget.cpp
pmdockwidget_private.cpp
pmviewlayoutmanager.cpp
pmviewbase.cpp
pmviewfactory.cpp
pmunknownview.cpp
pmdragwidget.cpp
pmprototypemanager.cpp
pmobject.cpp
pmcompositeobject.cpp
pmgraphicalobject.cpp
pmsolidobject.cpp
pmscene.cpp
pmglobalsettings.cpp
pmskysphere.cpp
pmrainbow.cpp
pmfog.cpp
pmbox.cpp
pmsphere.cpp
pmblob.cpp
pmblobsphere.cpp
pmblobcylinder.cpp
pmtext.cpp
pmjuliafractal.cpp
pmcylinder.cpp
pmcone.cpp
pmtorus.cpp
pmplane.cpp
pmpolynom.cpp
pmdisc.cpp
pmbicubicpatch.cpp
pmtriangle.cpp
pmlathe.cpp
pmprism.cpp
pmsor.cpp
pmsqe.cpp
pmheightfield.cpp
pmheightfieldroam.cpp
pmcomment.cpp
pmraw.cpp
pmnamedobject.cpp
pmtranslate.cpp
pmscale.cpp
pmrotate.cpp
pmpovraymatrix.cpp
pmcsg.cpp
pmcamera.cpp
pmboundedby.cpp
pmclippedby.cpp
pmlight.cpp
pmlookslike.cpp
pmprojectedthrough.cpp
pmtexturebase.cpp
pmtexture.cpp
pmpigment.cpp
pmsolidcolor.cpp
pmlistpattern.cpp
pmquickcolor.cpp
pmpattern.cpp
pmblendmapmodifiers.cpp
pmtexturemap.cpp
pmnormal.cpp
pmslope.cpp
pmwarp.cpp
pmfinish.cpp
pminterior.cpp
pmmedia.cpp
pmmaterial.cpp
pmmaterialmap.cpp
pmdensity.cpp
pmimagemap.cpp
pmbumpmap.cpp
pmisosurface.cpp
pmradiosity.cpp
pmglobalphotons.cpp
pmphotons.cpp
pmlightgroup.cpp
pminteriortexture.cpp
pmspheresweep.cpp
pmmesh.cpp
pmdetailobject.cpp
pmdeclare.cpp
pmobjectlink.cpp
pmrecursiveobjectiterator.cpp
pmaddcommand.cpp
pmcommandmanager.cpp
pmdatachangecommand.cpp
pmdeletecommand.cpp
pmmovecommand.cpp
pmdialogview.cpp
pmdialogeditbase.cpp
pmgraphicalobjectedit.cpp
pmnamedobjectedit.cpp
pmsolidobjectedit.cpp
pmskysphereedit.cpp
pmglobalsettingsedit.cpp
pmrainbowedit.cpp
pmfogedit.cpp
pmboxedit.cpp
pmsphereedit.cpp
pmblobedit.cpp
pmblobsphereedit.cpp
pmblobcylinderedit.cpp
pmtextedit.cpp
pmjuliafractaledit.cpp
pmcylinderedit.cpp
pmconeedit.cpp
pmtorusedit.cpp
pmplaneedit.cpp
pmpolynomedit.cpp
pmheightfieldedit.cpp
pmlatheedit.cpp
pmprismedit.cpp
pmsoredit.cpp
pmsqeedit.cpp
pmdiscedit.cpp
pmbicubicpatchedit.cpp
pmtriangleedit.cpp
pmcommentedit.cpp
pmrawedit.cpp
pmrotateedit.cpp
pmscaleedit.cpp
pmtranslateedit.cpp
pmpovraymatrixedit.cpp
pmcsgedit.cpp
pmcameraedit.cpp
pmlightedit.cpp
pmboundedbyedit.cpp
pmclippedbyedit.cpp
pmlineedits.cpp
pmvectorlistedit.cpp
pmcoloredit.cpp
pmlinkedit.cpp
pmvectoredit.cpp
pmpalettevalueedit.cpp
pmformulalabel.cpp
pmtexturebaseedit.cpp
pmtextureedit.cpp
pmpigmentedit.cpp
pmsolidcoloredit.cpp
pmlistpatternedit.cpp
pmquickcoloredit.cpp
pmpatternedit.cpp
pmblendmapmodifiersedit.cpp
pmimagemapedit.cpp
pmtexturemapedit.cpp
pmbumpmapedit.cpp
pmmaterialmapedit.cpp
pmnormaledit.cpp
pmslopeedit.cpp
pmfinishedit.cpp
pmwarpedit.cpp
pminterioredit.cpp
pmmediaedit.cpp
pmmaterialedit.cpp
pmdensityedit.cpp
pmdeclareedit.cpp
pmobjectlinkedit.cpp
pmisosurfaceedit.cpp
pmradiosityedit.cpp
pmglobalphotonsedit.cpp
pmphotonsedit.cpp
pmlightgroupedit.cpp
pminteriortextureedit.cpp
pmspheresweepedit.cpp
pmmeshedit.cpp
pmdetailobjectedit.cpp
pmcontrolpoint.cpp
pm3dcontrolpoint.cpp
pm2dcontrolpoint.cpp
pmsorcontrolpoint.cpp
pmtranslatecontrolpoint.cpp
pmrotatecontrolpoint.cpp
pmscalecontrolpoint.cpp
pmvectorcontrolpoint.cpp
pmdistancecontrolpoint.cpp
pmplanenormalcontrolpoint.cpp
pmmemento.cpp
pmmapmemento.cpp
pmsplinememento.cpp
pmprismmemento.cpp
pmpalettevaluememento.cpp
pmiomanager.cpp
pmpovrayformat.cpp
pmpovray31format.cpp
pmpovray35format.cpp
pmpovray31serialization.cpp
pmpovray35serialization.cpp
pmscanner.cpp
pmparser.cpp
pmxmlparser.cpp
pmpovrayparser.cpp
pmserializer.cpp
pmoutputdevice.cpp
pmxmlhelper.cpp
pmfiledialog.cpp
pmpalettevalue.cpp
pmvector.cpp
pmmath.cpp
pmmatrix.cpp
pmviewstructure.cpp
pmline.cpp
pmcolor.cpp
pmpoint.cpp
pmsymboltable.cpp
pmactions.cpp
pmsplinesegment.cpp
pmsorsegment.cpp
pmpolynomexponents.cpp
pmvariant.cpp
pmmetaobject.cpp
pmenumproperty.cpp
pmface.cpp
pmrendermode.cpp
pmresourcelocator.cpp
pmtruetypecache.cpp
pmdocumentationmap.cpp
pminsertrulesystem.cpp
pmlibrarymanager.cpp
pmlibraryhandle.cpp
pmlibraryhandleedit.cpp
pmlibraryobject.cpp
pmlibraryentrypreview.cpp
pmlibrarybrowser.cpp
pmlibraryiconview.cpp
pmlibraryobjectsearch.cpp
)
add_library(lpovmodeler ${lpovmodeler_LIB_SRCS})
target_link_libraries(
lpovmodeler
${FREETYPE_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
OpenGL ${X11_X11_LIB}
Qt5::Core Qt5::Gui Qt5::Widgets Qt5::DBus Qt5::Xml
)
set_target_properties(lpovmodeler PROPERTIES VERSION 0.0.0 SOVERSION 0 )
install(TARGETS lpovmodeler DESTINATION $ENV{HOME}/.local/share/povmodeler )
########### next target ###############
set(povmodelerpart_PART_SRCS ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp )
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "//autogenerated file by cmake\n")
add_library(povmodelerpart ${povmodelerpart_PART_SRCS})
target_link_libraries(povmodelerpart lpovmodeler)
install(TARGETS povmodelerpart DESTINATION $ENV{HOME}/.local/share/povmodeler )
########### next target ###############
set( povmodeler_SRCS main.cpp )
add_executable(povmodeler ${povmodeler_SRCS} add-png-icons.qrc)
target_link_libraries(povmodeler Qt5::Core Qt5::Gui Qt5::Widgets lpovmodeler)
install(TARGETS povmodeler DESTINATION $ENV{HOME}/.local/share/povmodeler )
########### install files ###############
install( PROGRAMS povmodeler.desktop DESTINATION $ENV{HOME}/.local/share/povmodeler )
install( FILES povraydocmap.xml baseinsertrules.xml questionmark.png DESTINATION $ENV{HOME}/.local/share/povmodeler )
install( FILES org.povmodeler.xml DESTINATION $ENV{HOME}/.local/share/povmodeler )
install( DIRECTORY examples/ DESTINATION $ENV{HOME}/.local/share/povmodeler/examples )
install( DIRECTORY library/ DESTINATION $ENV{HOME}/.local/share/povmodeler/library )