-
-
Notifications
You must be signed in to change notification settings - Fork 28
/
CalligraProducts.cmake
619 lines (577 loc) · 25.8 KB
/
CalligraProducts.cmake
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
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
### DEFINITION OF PRODUCTS, FEATURES AND PRODUCTSETS
####################################################
# When building Calligra a lot of different things are created and installed. To
# describe them and their internal dependencies the concepts of "product",
# "feature" and "product set" are used.
# A "product" is the smallest functional unit which can be created in the build
# and which is useful on its own when installed. Examples are e.g. libraries,
# plugins or executables. Products have external and internal required
# dependencies at build-time. Internal dependencies are noted in terms of other
# products or features (see below) and could be e.g. other libraries to link
# against or build tools needed to generate source files.
# A product gets defined by setting an identifier, a descriptive fullname and
# the needed internal build-time requirements. Any other product or feature
# listed as requirement must have been defined before.
# A "feature" is not a standalone product, but adds abilities to one or multiple
# given products. One examples is e.g. scriptability. Features have external and
# internal required dependencies at build-time. Internal dependencies are noted
# in terms of other products or features and could be e.g. other libraries to
# link against or build tools needed to generate source files.
# A feature gets defined by setting an identifier, a descriptive fullname and
# the needed internal build-time requirements. Any other product or feature
# listed as requirement must have been defined before.
# A "productset" is a selection of products and features which should be build
# together. The products and features can be either essential or optional to the
# set. If essential (REQUIRES), the whole productset will not be build if a
# product or feature is missing another internal or external dependency. If
# optional (OPTIONAL), the rest of the set will still be build in that case.
# The products and features to include in a set can be listed directly or
# indirectly: they can be named explicitly, but also by including other
# productsets in a set, whose products and features will then be part of the
# first set as well.
# Products, features and productsets can be listed as dependencies in multiple
# product sets. As with dependencies for products or features, they must have
# been defined before.
# Products, features and product sets are in the same namespace, so a given
# identifier can be only used either for a product or for a feature or for a
# product set.
# The ids of products and features (but not sets) are used to generate cmake
# variables SHOULD_BUILD_${ID}, which then are used to control what is build and
# how.
#############################################
#### Product definitions ####
#############################################
# For defining new products see end of this file, "How to add another product?"
# IDEA: also add headers/sdk for all the libs ("_DEVEL"?)
# IDEA: note external deps for products, so they are only checked if needed
# There can be required or optional external deps, required will also result
# in automatic disabling of product building
# TODO: some products have multiple optional requirements, but need at least one.
# See APP_CONVERTER, FILEMANAGER_*
# building tools
calligra_define_product(BUILDTOOL_RNG2CPP "rng2cpp")
# Calligra-independent utility libs
calligra_define_product(LIB_KOVECTORIMAGE "libkovectorimage")
# calligra libs
calligra_define_product(LIB_CALLIGRA "Calligra core libs" REQUIRES BUILDTOOL_RNG2CPP)
calligra_define_product(LIB_KOMAIN "Lib for one-file-per-window apps" REQUIRES LIB_CALLIGRA)
calligra_define_product(LIB_KOPAGEAPP "Lib for paged documents" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(LIB_KOODF2 "libkoodf2" REQUIRES LIB_CALLIGRA)
calligra_define_product(LIB_KOODFREADER "libkoodfreader" REQUIRES LIB_KOODF2 LIB_CALLIGRA)
calligra_define_product(LIB_MSO "libmso" REQUIRES LIB_CALLIGRA)
calligra_define_product(LIB_KOMSOOXML "libkomsooxml" REQUIRES LIB_CALLIGRA LIB_KOODF2 LIB_KOMAIN)
# features
calligra_define_feature(FEATURE_SCRIPTING UNMAINTAINED "Scripting feature")
calligra_define_feature(FEATURE_RDF UNMAINTAINED "RDF feature")
# plugins
calligra_define_product(PLUGIN_TEXTSHAPE "Text shape plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_PICTURESHAPE "Picture shape plugin" REQUIRES LIB_CALLIGRA)
# parts
calligra_define_product(PART_WORDS "Words engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN PLUGIN_TEXTSHAPE)
calligra_define_product(PART_STAGE "Stage engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN LIB_KOPAGEAPP PLUGIN_TEXTSHAPE PLUGIN_PICTURESHAPE)
calligra_define_product(PART_SHEETS "Sheets engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(PART_QTQUICK "QtQuick Plugin that provides Calligra components" UNPORTED REQUIRES PART_WORDS PART_STAGE)# SHEETS_PART)
calligra_define_product(PART_COMPONENTS "QtQuick2 Plugin that provides Calligra components" REQUIRES PART_WORDS PART_STAGE PART_SHEETS)
# apps
calligra_define_product(APP_WORDS "Words app (for Desktop)" REQUIRES PART_WORDS)
calligra_define_product(APP_STAGE "Stage app (for Desktop)" REQUIRES PART_STAGE)
calligra_define_product(APP_SHEETS "Sheets app (for Desktop)" REQUIRES PART_SHEETS)
calligra_define_product(APP_KARBON "Karbon app (for Desktop)" REQUIRES LIB_CALLIGRA LIB_KOMAIN LIB_KOPAGEAPP)
calligra_define_product(APP_BRAINDUMP "Braindump app (for Desktop)" UNMAINTAINED REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(DOC "Calligra Documentations")
# staging apps
calligra_define_product(APP_GEMINI "The Calligra Gemini application" REQUIRES PART_COMPONENTS)
# TODO: this needs to be split up by app products
# extras
calligra_define_product(APP_CONVERTER "Format converter for commandline" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(FILEMANAGER_PROPERTIES "Plugin for the KDE file properties dialog" REQUIRES LIB_CALLIGRA)
calligra_define_product(FILEMANAGER_THUMBNAIL "Plugins for KDE filesystem thumbnailing" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(FILEMANAGER_QUICKPRINT "Plugin for the filemanager adding a \"Print\" action")
calligra_define_product(FILEMANAGER_TEMPLATES "File templates for filemanager")
calligra_define_product(OKULAR_GENERATOR_ODP "Plugin for Okular adding support for ODP" REQUIRES PART_STAGE)
calligra_define_product(OKULAR_GENERATOR_ODT "Plugin for Okular adding support for ODT" REQUIRES PART_WORDS)
# more plugins
calligra_define_product(PLUGIN_COLORENGINES "Colorengine plugins" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_MUSICSHAPE "Music shape plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_ARTISTICTEXTSHAPE "Artistic shape plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_DOCKERS "Default dockers plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_TEXTEDITING "Textediting plugins" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_DEFAULTTOOLS "Default Flake tools plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_PATHSHAPES "Path shape plugins" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_VARIABLES "Text variables plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_CHARTSHAPE "Chart shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(PLUGIN_PLUGINSHAPE "Plugin shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(PLUGIN_FORMULASHAPE "Formula shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
calligra_define_product(PLUGIN_VIDEOSHAPE "Plugin for handling videos in Calligra" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_VECTORSHAPE "Vectorgraphic shape plugin" REQUIRES LIB_CALLIGRA LIB_KOVECTORIMAGE)
calligra_define_product(PLUGIN_SEMANTICITEMS "Semantic items plugins" REQUIRES FEATURE_RDF LIB_CALLIGRA)
calligra_define_product(PLUGIN_SHAPEFILTEREFFECTS "Default shape filtereffects plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_STENCILSDOCKER "Stencils docker plugin" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_KARBONPLUGINS "Semantic items plugins" REQUIRES LIB_CALLIGRA)
calligra_define_product(PLUGIN_CALLIGRAGEMINI_GIT "Git support plugin for Calligra Gemini")
# staging plugins
calligra_define_product(PLUGIN_THREEDSHAPE "3D shape plugin" STAGING REQUIRES LIB_CALLIGRA)
# Sheets filters
calligra_define_product(FILTER_XLSX_TO_ODS "XLSX to ODS filter" REQUIRES LIB_KOMSOOXML PART_SHEETS)
calligra_define_product(FILTER_XLS_TO_SHEETS "Sheets XLS import filter" REQUIRES LIB_MSO LIB_KOMSOOXML PART_SHEETS)
calligra_define_product(FILTER_SHEETS_TO_XLS "Sheets XLS export filter" REQUIRES LIB_MSO LIB_KOMSOOXML PART_SHEETS)
calligra_define_product(FILTER_CSV_TO_SHEETS "Sheets CSV import filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_SHEETS_TO_CSV "Sheets CSV export filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_APPLIXSPREAD_TO_KSPREAD "Applix Spreadsheet to KSpread filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_DBASE_TO_KSPREAD "dBASE to KSpread filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_GNUMERIC_TO_SHEETS "Sheets GNUMERIC import filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_SHEETS_TO_GNUMERIC "Sheets GNUMERIC import filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_OPENCALC_TO_SHEETS "Sheets OpenOffice.org Calc import filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_SHEETS_TO_OPENCALC "Sheets OpenOffice.org Calc export filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_QUATTROPRO_TO_SHEETS "Sheets Quattro Pro import filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_HTML_TO_ODS "HTML to ODS filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_SHEETS_TO_HTML "Sheets HTML export filter" REQUIRES PART_SHEETS)
calligra_define_product(FILTER_KSPREAD_TO_LATEX "KSpread to LaTeX filter" REQUIRES LIB_KOMAIN)
# odg filters
calligra_define_product(FILTER_VISIO_TO_ODG "Visio to ODG filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_WPG_TO_ODG "WPG to ODG filter" REQUIRES LIB_KOMAIN)
# Stage filters
calligra_define_product(FILTER_KEY_TO_ODP "Apple Keynote to ODP filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_KPR_TO_ODP "KPresenter to ODP filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_PPT_TO_ODP "PPT to OPD filter" REQUIRES LIB_MSO LIB_KOMAIN)
calligra_define_product(FILTER_PPTX_TO_ODP "PPTX to ODP filter" REQUIRES LIB_KOMSOOXML LIB_KOODF2 LIB_KOMAIN)
# Words filters
calligra_define_product(FILTER_DOC_TO_ODT "DOC to ODT filter" REQUIRES LIB_MSO LIB_KOMSOOXML LIB_KOMAIN)
calligra_define_product(FILTER_DOCX_TO_ODT "DOCX to ODT filter" REQUIRES LIB_KOMSOOXML LIB_KOODF2 LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_DOCX "ODT to DOCX filter" REQUIRES LIB_KOODFREADER LIB_KOODF2 LIB_KOMAIN)
calligra_define_product(FILTER_WORDPERFECT_TO_ODT "Word Perfect to ODT filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_WORKS_TO_ODT "MS Works to ODT filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_APPLIXWORD_TO_ODT "Applixword to ODT filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_ASCII_TO_WORDS "Words ASCII import filter" REQUIRES PART_WORDS LIB_KOODF2 LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_ASCII "ODT to ASCII filter" REQUIRES LIB_KOODFREADER LIB_KOMAIN)
calligra_define_product(FILTER_RTF_TO_ODT "RTF to ODT filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_MOBI "Mobi export filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_EPUB2 "ODT Epub2 export filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_HTML "ODT HTML export filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN)
calligra_define_product(FILTER_ODT_TO_WIKI "ODT Wiki export filter" REQUIRES LIB_KOODFREADER LIB_KOODF2 LIB_KOMAIN)
# Karbon filters
calligra_define_product(FILTER_EPS_TO_SVG_AI "EPS to SVG/AI filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_XFIG_TO_ODG "XFig to ODG filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_PDF_TO_SVG "PDF to SVG filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_WPG_TO_SVG "WPG to SVG filter" REQUIRES LIB_KOMAIN)
calligra_define_product(FILTER_KARBON_TO_IMAGE "Karbon image export filter" REQUIRES APP_KARBON)
calligra_define_product(FILTER_KARBON_TO_SVG "Karbon SVG export filter" REQUIRES APP_KARBON)
calligra_define_product(FILTER_SVG_TO_KARBON "Karbon SVG import filter" REQUIRES APP_KARBON)
calligra_define_product(FILTER_KARBON_TO_WMF "Karbon WMF export filter" REQUIRES APP_KARBON)
calligra_define_product(FILTER_WMF_TO_SVG "WMF to SVG filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN)
calligra_define_product(FILTER_KARBON1X_TO_KARBON "Karbon 1.x import filter" REQUIRES APP_KARBON)
# meta apps
calligra_define_product(APP_CALLIGRA "General Calligra app starter" REQUIRES LIB_CALLIGRA LIB_KOMAIN)
# more extras
calligra_define_product(OKULAR_GENERATOR_PPT "Plugin for Okular extended with support for PPT" REQUIRES OKULAR_GENERATOR_ODP FILTER_PPT_TO_ODP)
calligra_define_product(OKULAR_GENERATOR_PPTX "Plugin for Okular extended with support for PPTX" REQUIRES OKULAR_GENERATOR_ODP FILTER_PPTX_TO_ODP)
calligra_define_product(OKULAR_GENERATOR_DOC "Plugin for Okular extended with support for DOC" REQUIRES OKULAR_GENERATOR_ODT FILTER_DOC_TO_ODT)
calligra_define_product(OKULAR_GENERATOR_DOCX "Plugin for Okular extended with support for DOCX" REQUIRES OKULAR_GENERATOR_ODT FILTER_DOCX_TO_ODT)
calligra_define_product(OKULAR_GENERATOR_RTF "Plugin for Okular extended with support for RTF" REQUIRES OKULAR_GENERATOR_ODT FILTER_RTF_TO_ODT)
calligra_define_product(OKULAR_GENERATOR_WORDPERFECT "Plugin for Okular extended with support for WORDPERFECT" REQUIRES OKULAR_GENERATOR_ODT FILTER_WORDPERFECT_TO_ODT)
# developer utils
calligra_define_product(APP_SLIDECOMPARE "slidecompare" REQUIRES LIB_CALLIGRA LIB_KOMAIN FILTER_PPT_TO_ODP)
calligra_define_product(APP_DEVTOOLS "Tools for developers")
calligra_define_product(APP_CSTESTER "cstester" REQUIRES PART_SHEETS PART_STAGE PART_WORDS)
# development
calligra_define_product(DEVEL_HEADERS "Headers of libraries" UNPORTED)
#############################################
#### Product set definitions ####
#############################################
# For defining new productsets see end of this file,
# "How to add another productset?"
# filter sets
calligra_define_productset(FILTERS_SHEETS_IMPORT "All Sheets import filters"
OPTIONAL
FILTER_XLSX_TO_ODS
FILTER_XLS_TO_SHEETS
FILTER_CSV_TO_SHEETS
FILTER_APPLIXSPREAD_TO_KSPREAD
FILTER_DBASE_TO_KSPREAD
FILTER_GNUMERIC_TO_SHEETS
FILTER_OPENCALC_TO_SHEETS
FILTER_QUATTROPRO_TO_SHEETS
FILTER_HTML_TO_ODS
)
calligra_define_productset(FILTERS_SHEETS_EXPORT "All Sheets export filters"
OPTIONAL
FILTER_SHEETS_TO_XLS
FILTER_SHEETS_TO_CSV
FILTER_SHEETS_TO_GNUMERIC
FILTER_SHEETS_TO_OPENCALC
FILTER_SHEETS_TO_HTML
FILTER_KSPREAD_TO_LATEX
)
calligra_define_productset(FILTERS_SHEETS "All Sheets filters"
OPTIONAL
FILTERS_SHEETS_IMPORT
FILTERS_SHEETS_EXPORT
)
calligra_define_productset(FILTERS_ODG_IMPORT "All odg import filters"
OPTIONAL
FILTER_VISIO_TO_ODG
FILTER_WPG_TO_ODG
)
calligra_define_productset(FILTERS_ODG "All odg filters"
OPTIONAL
FILTERS_ODG_IMPORT
)
calligra_define_productset(FILTERS_STAGE_IMPORT "All Stage import filters"
OPTIONAL
FILTER_KEY_TO_ODP
FILTER_KPR_TO_ODP
FILTER_PPT_TO_ODP
FILTER_PPTX_TO_ODP
)
#calligra_define_productset(FILTERS_STAGE_EXPORT "All Stage export filters" OPTIONAL ) none currently
calligra_define_productset(FILTERS_STAGE "All Stage filters"
OPTIONAL
FILTERS_STAGE_IMPORT
# FILTERS_STAGE_EXPORT
)
calligra_define_productset(FILTERS_WORDS_IMPORT "All Words import filters"
OPTIONAL
FILTER_DOC_TO_ODT
FILTER_DOCX_TO_ODT
FILTER_WORDPERFECT_TO_ODT
FILTER_WORKS_TO_ODT
FILTER_APPLIXWORD_TO_ODT
FILTER_ASCII_TO_WORDS
FILTER_RTF_TO_ODT
)
calligra_define_productset(FILTERS_WORDS_EXPORT "All Words export filters"
OPTIONAL
FILTER_ODT_TO_ASCII
FILTER_ODT_TO_MOBI
FILTER_ODT_TO_EPUB2
FILTER_ODT_TO_HTML
FILTER_ODT_TO_DOCX
FILTER_ODT_TO_WIKI
)
calligra_define_productset(FILTERS_WORDS "All Words filters"
OPTIONAL
FILTERS_WORDS_IMPORT
FILTERS_WORDS_EXPORT
)
calligra_define_productset(FILTERS_KARBON_IMPORT "All Karbon import filters"
OPTIONAL
FILTER_EPS_TO_SVG_AI
FILTER_XFIG_TO_ODG
FILTER_PDF_TO_SVG
FILTER_WPG_TO_SVG
FILTER_SVG_TO_KARBON
FILTER_WMF_TO_SVG
FILTER_KARBON1X_TO_KARBON
)
calligra_define_productset(FILTERS_KARBON_EXPORT "All Karbon export filters"
OPTIONAL
FILTER_KARBON_TO_IMAGE
FILTER_KARBON_TO_SVG
FILTER_KARBON_TO_WMF
)
calligra_define_productset(FILTERS_KARBON "All Karbon filters"
OPTIONAL
FILTERS_KARBON_IMPORT
FILTERS_KARBON_EXPORT
)
# filemanager
calligra_define_productset(FILEMANAGER "Extensions for the filemanager"
OPTIONAL
FILEMANAGER_PROPERTIES
FILEMANAGER_QUICKPRINT
FILEMANAGER_TEMPLATES
FILEMANAGER_THUMBNAIL
)
# apps
calligra_define_productset(BRAINDUMP "Full Braindump (for Desktop)"
REQUIRES
APP_BRAINDUMP
OPTIONAL
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_MUSICSHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_THREEDSHAPE
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
PLUGIN_VIDEOSHAPE
)
calligra_define_productset(KARBON "Full Karbon (for Desktop)"
REQUIRES
APP_KARBON
PLUGIN_KARBONPLUGINS
PLUGIN_SHAPEFILTEREFFECTS
OPTIONAL
# extras
FILEMANAGER
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_STENCILSDOCKER
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
# filters
FILTERS_KARBON
FILTERS_ODG
)
calligra_define_productset(SHEETS "Full Sheets (for Desktop)"
REQUIRES
APP_SHEETS
OPTIONAL
# extras
FILEMANAGER
# feature
FEATURE_SCRIPTING
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
# filters
FILTERS_SHEETS
)
calligra_define_productset(STAGE "Full Stage (for Desktop)"
REQUIRES
APP_STAGE
OPTIONAL
# extras
FILEMANAGER
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_STENCILSDOCKER
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
PLUGIN_VIDEOSHAPE
# filters
FILTERS_STAGE
)
calligra_define_productset(WORDS "Full Words (for Desktop)"
REQUIRES
APP_WORDS
OPTIONAL
# extras
FILEMANAGER
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_SEMANTICITEMS
PLUGIN_STENCILSDOCKER
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
# filters
FILTERS_WORDS
)
calligra_define_productset(GEMINI "Calligra for 2:1 devices"
REQUIRES
APP_GEMINI
OPTIONAL
# plugins
PLUGIN_ARTISTICTEXTSHAPE
PLUGIN_CALLIGRAGEMINI_GIT
PLUGIN_CHARTSHAPE
PLUGIN_DEFAULTTOOLS
PLUGIN_DOCKERS
PLUGIN_FORMULASHAPE
PLUGIN_PATHSHAPES
PLUGIN_PICTURESHAPE
PLUGIN_PLUGINSHAPE
PLUGIN_TEXTEDITING
PLUGIN_TEXTSHAPE
PLUGIN_VARIABLES
PLUGIN_VECTORSHAPE
PLUGIN_VIDEOSHAPE
# filters
FILTERS_WORDS
FILTERS_STAGE
)
# okular support
calligra_define_productset(OKULAR "Okular generators"
OPTIONAL
OKULAR_GENERATOR_ODP
OKULAR_GENERATOR_PPT
OKULAR_GENERATOR_PPTX
OKULAR_GENERATOR_ODT
OKULAR_GENERATOR_DOC
OKULAR_GENERATOR_DOCX
OKULAR_GENERATOR_RTF
OKULAR_GENERATOR_WORDPERFECT
)
# How to add another product?
# ===========================
#
# 1. Define the product by a call of calligra_define_product,
# e.g.
#
# calligra_define_product(MYPRODUCT "title of product")
#
# For the product id use a proper prefix (LIB_, PLUGIN_, FILTER_, APP_, PART_,
# ...), whatever is appropriate.
#
# 2. Extend that call with a REQUIRES argument section, if the product has
# hard internal build-time dependencies on other products or features.
# Products/features that are listed as dependencies have to be defined before
# (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake)
# E.g.
#
# calligra_define_product(MYPRODUCT "title of product" REQUIRES P1 P2)
#
# 3. Add a rule when to not build the product, in the section "Detect which
# products/features can be compiled" of the toplevel CMakeLists.txt. Each
# product should have their own boolean expression when to set the build flag
# to FALSE, e.g.
#
# if (PLATFORMX OR NOT EXTERNAL_DEP_X_FOUND)
# set(SHOULD_BUILD_MYPRODUCT FALSE)
# endif ()
#
# 4. Wrap everything belonging to the product with the build flag of the product.
# Ideally this is done around subdirectory inclusions, results in easier code.
# e.g.
#
# if (SHOULD_BUILD_MYPRODUCT)
# add_subdirectory(myproduct)
# endif ()
#
# 5. Tag the product as STAGING, if it is not yet ready for release, but already
# integrated in the master branch, e.g.
#
# calligra_define_product(MYPRODUCT "title of product" STAGING REQUIRES P1)
#
# 6. Add the product to all products, features and product sets which have this
# product as REQUIRED or OPTIONAL dependency.
#
#
# How to add another feature?
# ===========================
#
# 1. Define the feature by a call of calligra_define_feature,
# e.g.
#
# calligra_define_feature(MYFEATURE "title of feature")
#
# For the feature id use a proper prefix (FEATURE_, ...), whatever is
# appropriate.
#
# 2. Extend that call with a REQUIRES argument section, if the feature has
# hard internal build-time dependencies on other products or features.
# Products or features that are listed as dependencies have to be defined
# before
# (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake)
# E.g.
#
# calligra_define_feature(MYFEATURE "title of feature" REQUIRES P1 F1)
#
# 3. Add a rule when to not build the feature, in the section "Detect which
# products/features can be compiled" of the toplevel CMakeLists.txt. Each
# feature should have their own boolean expression when to set the build flag
# to FALSE, e.g.
#
# if (PLATFORMX OR NOT EXTERNAL_DEP_X_FOUND)
# set(SHOULD_BUILD_MYFEATURE FALSE)
# endif ()
#
# 4. Wrap everything belonging to the feature with the build flag of the feature.
# Ideally this is done around subdirectory inclusions, results in easier code.
# e.g.
#
# if (SHOULD_BUILD_MYFEATURE)
# add_subdirectory(myproduct)
# endif ()
#
# 5. Tag the feature as STAGING, if it is not yet ready for release, but already
# integrated in the master branch, e.g.
#
# calligra_define_product(MYFEATURE "title of feature" STAGING REQUIRES P1 F1)
#
# 6. Add the feature to all products, features and product sets which have this
# product as REQUIRED or OPTIONAL dependency.
#
#
# How to add another productset?
# ==============================
#
# There are two possible places to put a productset definition. The first is to
# add it to this file, which should be done for more generic sets that are
# useful for many people. The second is a file of its own, in the directory
# "cmake/productsets", which should be done for more special ones or for those
# which should not be added to the repository.
# The file must be named with the name of the productset in lowercase and have
# the extension ".cmake".
#
# 1. Define the productset by a call of calligra_define_productset,
# e.g.
#
# calligra_define_productset(MYPRODUCTSET "title of productset")
#
# 2. Extend that call with REQUIRES or OPTIONAL argument sections, if the productset
# has hard or soft internal dependencies on other products, features or
# productsets.
# Products, features or productsets that are listed as dependencies have to
# be defined before
# (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake)
# E.g.
#
# calligra_define_productset(MYPRODUCT "title of product"
# REQUIRES P1 P2 F1 PS1
# OPTIONAL P3 F2 PS2)
#
# 3. Add the productset to all product sets which have this product set as
# REQUIRED or OPTIONAL dependency.
#
# Example for a file-based productset definition:
# You want a productset "MYWORDS". For that you add a file named
# "mywords.cmake" into the directory "cmake/productsets", with the content:
# --- 8< ---
# calligra_define_productset(MYWORDS "My Words"
# REQUIRES
# APP_WORDS
# PLUGIN_DEFAULTTOOLS
# PLUGIN_DOCKERS
# PLUGIN_PATHSHAPES
# PLUGIN_VARIABLES
# PLUGIN_TEXTSHAPE
# PLUGIN_PLUGINSHAPE
# PLUGIN_FORMULASHAPE
# )
# --- 8< ---