Warning, /office/calligra/CalligraProducts.cmake is written in an unsupported language. File is not indexed.
0001 ### DEFINITION OF PRODUCTS, FEATURES AND PRODUCTSETS 0002 #################################################### 0003 0004 # When building Calligra a lot of different things are created and installed. To 0005 # describe them and their internal dependencies the concepts of "product", 0006 # "feature" and "product set" are used. 0007 0008 # A "product" is the smallest functional unit which can be created in the build 0009 # and which is useful on its own when installed. Examples are e.g. libraries, 0010 # plugins or executables. Products have external and internal required 0011 # dependencies at build-time. Internal dependencies are noted in terms of other 0012 # products or features (see below) and could be e.g. other libraries to link 0013 # against or build tools needed to generate source files. 0014 # A product gets defined by setting an identifier, a descriptive fullname and 0015 # the needed internal build-time requirements. Any other product or feature 0016 # listed as requirement must have been defined before. 0017 0018 # A "feature" is not a standalone product, but adds abilities to one or multiple 0019 # given products. One examples is e.g. scriptability. Features have external and 0020 # internal required dependencies at build-time. Internal dependencies are noted 0021 # in terms of other products or features and could be e.g. other libraries to 0022 # link against or build tools needed to generate source files. 0023 # A feature gets defined by setting an identifier, a descriptive fullname and 0024 # the needed internal build-time requirements. Any other product or feature 0025 # listed as requirement must have been defined before. 0026 0027 # A "productset" is a selection of products and features which should be build 0028 # together. The products and features can be either essential or optional to the 0029 # set. If essential (REQUIRES), the whole productset will not be build if a 0030 # product or feature is missing another internal or external dependency. If 0031 # optional (OPTIONAL), the rest of the set will still be build in that case. 0032 # The products and features to include in a set can be listed directly or 0033 # indirectly: they can be named explicitly, but also by including other 0034 # productsets in a set, whose products and features will then be part of the 0035 # first set as well. 0036 # Products, features and productsets can be listed as dependencies in multiple 0037 # product sets. As with dependencies for products or features, they must have 0038 # been defined before. 0039 0040 # Products, features and product sets are in the same namespace, so a given 0041 # identifier can be only used either for a product or for a feature or for a 0042 # product set. 0043 0044 # The ids of products and features (but not sets) are used to generate cmake 0045 # variables SHOULD_BUILD_${ID}, which then are used to control what is build and 0046 # how. 0047 0048 0049 ############################################# 0050 #### Product definitions #### 0051 ############################################# 0052 0053 # For defining new products see end of this file, "How to add another product?" 0054 0055 # IDEA: also add headers/sdk for all the libs ("_DEVEL"?) 0056 # IDEA: note external deps for products, so they are only checked if needed 0057 # There can be required or optional external deps, required will also result 0058 # in automatic disabling of product building 0059 # TODO: some products have multiple optional requirements, but need at least one. 0060 # See APP_CONVERTER, FILEMANAGER_* 0061 0062 # building tools 0063 calligra_define_product(BUILDTOOL_RNG2CPP "rng2cpp") 0064 0065 # Calligra-independent utility libs 0066 calligra_define_product(LIB_KOVECTORIMAGE "libkovectorimage") 0067 0068 # calligra libs 0069 calligra_define_product(LIB_CALLIGRA "Calligra core libs" REQUIRES BUILDTOOL_RNG2CPP) 0070 calligra_define_product(LIB_KOMAIN "Lib for one-file-per-window apps" REQUIRES LIB_CALLIGRA) 0071 calligra_define_product(LIB_KOPAGEAPP "Lib for paged documents" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0072 calligra_define_product(LIB_KOODF2 "libkoodf2" REQUIRES LIB_CALLIGRA) 0073 calligra_define_product(LIB_KOODFREADER "libkoodfreader" REQUIRES LIB_KOODF2 LIB_CALLIGRA) 0074 calligra_define_product(LIB_MSO "libmso" REQUIRES LIB_CALLIGRA) 0075 calligra_define_product(LIB_KOMSOOXML "libkomsooxml" REQUIRES LIB_CALLIGRA LIB_KOODF2 LIB_KOMAIN) 0076 0077 # features 0078 calligra_define_feature(FEATURE_SCRIPTING UNMAINTAINED "Scripting feature") 0079 calligra_define_feature(FEATURE_RDF UNMAINTAINED "RDF feature") 0080 0081 # plugins 0082 calligra_define_product(PLUGIN_TEXTSHAPE "Text shape plugin" REQUIRES LIB_CALLIGRA) 0083 calligra_define_product(PLUGIN_PICTURESHAPE "Picture shape plugin" REQUIRES LIB_CALLIGRA) 0084 0085 # parts 0086 calligra_define_product(PART_WORDS "Words engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN PLUGIN_TEXTSHAPE) 0087 calligra_define_product(PART_STAGE "Stage engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN LIB_KOPAGEAPP PLUGIN_TEXTSHAPE PLUGIN_PICTURESHAPE) 0088 calligra_define_product(PART_SHEETS "Sheets engine" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0089 calligra_define_product(PART_QTQUICK "QtQuick Plugin that provides Calligra components" UNPORTED REQUIRES PART_WORDS PART_STAGE)# SHEETS_PART) 0090 calligra_define_product(PART_COMPONENTS "QtQuick2 Plugin that provides Calligra components" REQUIRES PART_WORDS PART_STAGE PART_SHEETS) 0091 0092 # apps 0093 calligra_define_product(APP_WORDS "Words app (for Desktop)" REQUIRES PART_WORDS) 0094 calligra_define_product(APP_STAGE "Stage app (for Desktop)" REQUIRES PART_STAGE) 0095 calligra_define_product(APP_SHEETS "Sheets app (for Desktop)" REQUIRES PART_SHEETS) 0096 calligra_define_product(APP_KARBON "Karbon app (for Desktop)" REQUIRES LIB_CALLIGRA LIB_KOMAIN LIB_KOPAGEAPP) 0097 calligra_define_product(APP_BRAINDUMP "Braindump app (for Desktop)" UNMAINTAINED REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0098 calligra_define_product(DOC "Calligra Documentations") 0099 0100 # staging apps 0101 calligra_define_product(APP_GEMINI "The Calligra Gemini application" REQUIRES PART_COMPONENTS) 0102 # TODO: this needs to be split up by app products 0103 0104 0105 # extras 0106 calligra_define_product(APP_CONVERTER "Format converter for commandline" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0107 calligra_define_product(FILEMANAGER_PROPERTIES "Plugin for the KDE file properties dialog" REQUIRES LIB_CALLIGRA) 0108 calligra_define_product(FILEMANAGER_THUMBNAIL "Plugins for KDE filesystem thumbnailing" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0109 calligra_define_product(FILEMANAGER_QUICKPRINT "Plugin for the filemanager adding a \"Print\" action") 0110 calligra_define_product(FILEMANAGER_TEMPLATES "File templates for filemanager") 0111 calligra_define_product(OKULAR_GENERATOR_ODP "Plugin for Okular adding support for ODP" REQUIRES PART_STAGE) 0112 calligra_define_product(OKULAR_GENERATOR_ODT "Plugin for Okular adding support for ODT" REQUIRES PART_WORDS) 0113 0114 # more plugins 0115 calligra_define_product(PLUGIN_COLORENGINES "Colorengine plugins" REQUIRES LIB_CALLIGRA) 0116 calligra_define_product(PLUGIN_MUSICSHAPE "Music shape plugin" REQUIRES LIB_CALLIGRA) 0117 calligra_define_product(PLUGIN_SPACENAVIGATOR "SpaceNavigator input plugin" REQUIRES LIB_CALLIGRA) 0118 calligra_define_product(PLUGIN_ARTISTICTEXTSHAPE "Artistic shape plugin" REQUIRES LIB_CALLIGRA) 0119 calligra_define_product(PLUGIN_DOCKERS "Default dockers plugin" REQUIRES LIB_CALLIGRA) 0120 calligra_define_product(PLUGIN_TEXTEDITING "Textediting plugins" REQUIRES LIB_CALLIGRA) 0121 calligra_define_product(PLUGIN_DEFAULTTOOLS "Default Flake tools plugin" REQUIRES LIB_CALLIGRA) 0122 calligra_define_product(PLUGIN_PATHSHAPES "Path shape plugins" REQUIRES LIB_CALLIGRA) 0123 calligra_define_product(PLUGIN_VARIABLES "Text variables plugin" REQUIRES LIB_CALLIGRA) 0124 calligra_define_product(PLUGIN_CHARTSHAPE "Chart shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0125 calligra_define_product(PLUGIN_PLUGINSHAPE "Plugin shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0126 calligra_define_product(PLUGIN_FORMULASHAPE "Formula shape plugin" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0127 calligra_define_product(PLUGIN_VIDEOSHAPE "Plugin for handling videos in Calligra" REQUIRES LIB_CALLIGRA) 0128 calligra_define_product(PLUGIN_VECTORSHAPE "Vectorgraphic shape plugin" REQUIRES LIB_CALLIGRA LIB_KOVECTORIMAGE) 0129 calligra_define_product(PLUGIN_SEMANTICITEMS "Semantic items plugins" REQUIRES FEATURE_RDF LIB_CALLIGRA) 0130 calligra_define_product(PLUGIN_SHAPEFILTEREFFECTS "Default shape filtereffects plugin" REQUIRES LIB_CALLIGRA) 0131 calligra_define_product(PLUGIN_STENCILSDOCKER "Stencils docker plugin" REQUIRES LIB_CALLIGRA) 0132 calligra_define_product(PLUGIN_KARBONPLUGINS "Semantic items plugins" REQUIRES LIB_CALLIGRA) 0133 calligra_define_product(PLUGIN_CALLIGRAGEMINI_GIT "Git support plugin for Calligra Gemini") 0134 0135 # staging plugins 0136 calligra_define_product(PLUGIN_THREEDSHAPE "3D shape plugin" STAGING REQUIRES LIB_CALLIGRA) 0137 0138 # Sheets filters 0139 calligra_define_product(FILTER_XLSX_TO_ODS "XLSX to ODS filter" REQUIRES LIB_KOMSOOXML PART_SHEETS) 0140 calligra_define_product(FILTER_XLS_TO_SHEETS "Sheets XLS import filter" REQUIRES LIB_MSO LIB_KOMSOOXML PART_SHEETS) 0141 calligra_define_product(FILTER_SHEETS_TO_XLS "Sheets XLS export filter" REQUIRES LIB_MSO LIB_KOMSOOXML PART_SHEETS) 0142 calligra_define_product(FILTER_CSV_TO_SHEETS "Sheets CSV import filter" REQUIRES PART_SHEETS) 0143 calligra_define_product(FILTER_SHEETS_TO_CSV "Sheets CSV export filter" REQUIRES PART_SHEETS) 0144 calligra_define_product(FILTER_APPLIXSPREAD_TO_KSPREAD "Applix Spreadsheet to KSpread filter" REQUIRES PART_SHEETS) 0145 calligra_define_product(FILTER_DBASE_TO_KSPREAD "dBASE to KSpread filter" REQUIRES LIB_KOMAIN) 0146 calligra_define_product(FILTER_GNUMERIC_TO_SHEETS "Sheets GNUMERIC import filter" REQUIRES PART_SHEETS) 0147 calligra_define_product(FILTER_SHEETS_TO_GNUMERIC "Sheets GNUMERIC import filter" REQUIRES PART_SHEETS) 0148 calligra_define_product(FILTER_OPENCALC_TO_SHEETS "Sheets OpenOffice.org Calc import filter" REQUIRES PART_SHEETS) 0149 calligra_define_product(FILTER_SHEETS_TO_OPENCALC "Sheets OpenOffice.org Calc export filter" REQUIRES PART_SHEETS) 0150 calligra_define_product(FILTER_QUATTROPRO_TO_SHEETS "Sheets Quattro Pro import filter" REQUIRES PART_SHEETS) 0151 calligra_define_product(FILTER_HTML_TO_ODS "HTML to ODS filter" REQUIRES LIB_KOMAIN) 0152 calligra_define_product(FILTER_SHEETS_TO_HTML "Sheets HTML export filter" REQUIRES PART_SHEETS) 0153 calligra_define_product(FILTER_KSPREAD_TO_LATEX "KSpread to LaTeX filter" REQUIRES LIB_KOMAIN) 0154 0155 # odg filters 0156 calligra_define_product(FILTER_VISIO_TO_ODG "Visio to ODG filter" REQUIRES LIB_KOMAIN) 0157 calligra_define_product(FILTER_WPG_TO_ODG "WPG to ODG filter" REQUIRES LIB_KOMAIN) 0158 0159 # Stage filters 0160 calligra_define_product(FILTER_KEY_TO_ODP "Apple Keynote to ODP filter" REQUIRES LIB_KOMAIN) 0161 calligra_define_product(FILTER_KPR_TO_ODP "KPresenter to ODP filter" REQUIRES LIB_KOMAIN) 0162 calligra_define_product(FILTER_PPT_TO_ODP "PPT to OPD filter" REQUIRES LIB_MSO LIB_KOMAIN) 0163 calligra_define_product(FILTER_PPTX_TO_ODP "PPTX to ODP filter" REQUIRES LIB_KOMSOOXML LIB_KOODF2 LIB_KOMAIN) 0164 0165 # Words filters 0166 calligra_define_product(FILTER_DOC_TO_ODT "DOC to ODT filter" REQUIRES LIB_MSO LIB_KOMSOOXML LIB_KOMAIN) 0167 calligra_define_product(FILTER_DOCX_TO_ODT "DOCX to ODT filter" REQUIRES LIB_KOMSOOXML LIB_KOODF2 LIB_KOMAIN) 0168 calligra_define_product(FILTER_ODT_TO_DOCX "ODT to DOCX filter" REQUIRES LIB_KOODFREADER LIB_KOODF2 LIB_KOMAIN) 0169 calligra_define_product(FILTER_WORDPERFECT_TO_ODT "Word Perfect to ODT filter" REQUIRES LIB_KOMAIN) 0170 calligra_define_product(FILTER_WORKS_TO_ODT "MS Works to ODT filter" REQUIRES LIB_KOMAIN) 0171 calligra_define_product(FILTER_APPLIXWORD_TO_ODT "Applixword to ODT filter" REQUIRES LIB_KOMAIN) 0172 calligra_define_product(FILTER_ASCII_TO_WORDS "Words ASCII import filter" REQUIRES PART_WORDS LIB_KOODF2 LIB_KOMAIN) 0173 calligra_define_product(FILTER_ODT_TO_ASCII "ODT to ASCII filter" REQUIRES LIB_KOODFREADER LIB_KOMAIN) 0174 calligra_define_product(FILTER_RTF_TO_ODT "RTF to ODT filter" REQUIRES LIB_KOMAIN) 0175 calligra_define_product(FILTER_ODT_TO_MOBI "Mobi export filter" REQUIRES LIB_KOMAIN) 0176 calligra_define_product(FILTER_ODT_TO_EPUB2 "ODT Epub2 export filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN) 0177 calligra_define_product(FILTER_ODT_TO_HTML "ODT HTML export filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN) 0178 calligra_define_product(FILTER_ODT_TO_WIKI "ODT Wiki export filter" REQUIRES LIB_KOODFREADER LIB_KOODF2 LIB_KOMAIN) 0179 0180 # Karbon filters 0181 calligra_define_product(FILTER_EPS_TO_SVG_AI "EPS to SVG/AI filter" REQUIRES LIB_KOMAIN) 0182 calligra_define_product(FILTER_XFIG_TO_ODG "XFig to ODG filter" REQUIRES LIB_KOMAIN) 0183 calligra_define_product(FILTER_PDF_TO_SVG "PDF to SVG filter" REQUIRES LIB_KOMAIN) 0184 calligra_define_product(FILTER_WPG_TO_SVG "WPG to SVG filter" REQUIRES LIB_KOMAIN) 0185 calligra_define_product(FILTER_KARBON_TO_IMAGE "Karbon image export filter" REQUIRES APP_KARBON) 0186 calligra_define_product(FILTER_KARBON_TO_SVG "Karbon SVG export filter" REQUIRES APP_KARBON) 0187 calligra_define_product(FILTER_SVG_TO_KARBON "Karbon SVG import filter" REQUIRES APP_KARBON) 0188 calligra_define_product(FILTER_KARBON_TO_WMF "Karbon WMF export filter" REQUIRES APP_KARBON) 0189 calligra_define_product(FILTER_WMF_TO_SVG "WMF to SVG filter" REQUIRES LIB_KOVECTORIMAGE LIB_KOMAIN) 0190 calligra_define_product(FILTER_KARBON1X_TO_KARBON "Karbon 1.x import filter" REQUIRES APP_KARBON) 0191 0192 # meta apps 0193 calligra_define_product(APP_CALLIGRA "General Calligra app starter" REQUIRES LIB_CALLIGRA LIB_KOMAIN) 0194 0195 # more extras 0196 calligra_define_product(OKULAR_GENERATOR_PPT "Plugin for Okular extended with support for PPT" REQUIRES OKULAR_GENERATOR_ODP FILTER_PPT_TO_ODP) 0197 calligra_define_product(OKULAR_GENERATOR_PPTX "Plugin for Okular extended with support for PPTX" REQUIRES OKULAR_GENERATOR_ODP FILTER_PPTX_TO_ODP) 0198 calligra_define_product(OKULAR_GENERATOR_DOC "Plugin for Okular extended with support for DOC" REQUIRES OKULAR_GENERATOR_ODT FILTER_DOC_TO_ODT) 0199 calligra_define_product(OKULAR_GENERATOR_DOCX "Plugin for Okular extended with support for DOCX" REQUIRES OKULAR_GENERATOR_ODT FILTER_DOCX_TO_ODT) 0200 calligra_define_product(OKULAR_GENERATOR_RTF "Plugin for Okular extended with support for RTF" REQUIRES OKULAR_GENERATOR_ODT FILTER_RTF_TO_ODT) 0201 calligra_define_product(OKULAR_GENERATOR_WORDPERFECT "Plugin for Okular extended with support for WORDPERFECT" REQUIRES OKULAR_GENERATOR_ODT FILTER_WORDPERFECT_TO_ODT) 0202 0203 # developer utils 0204 calligra_define_product(APP_SLIDECOMPARE "slidecompare" REQUIRES LIB_CALLIGRA LIB_KOMAIN FILTER_PPT_TO_ODP) 0205 calligra_define_product(APP_DEVTOOLS "Tools for developers") 0206 calligra_define_product(APP_CSTESTER "cstester" REQUIRES PART_SHEETS PART_STAGE PART_WORDS) 0207 0208 # development 0209 calligra_define_product(DEVEL_HEADERS "Headers of libraries" UNPORTED) 0210 0211 ############################################# 0212 #### Product set definitions #### 0213 ############################################# 0214 0215 # For defining new productsets see end of this file, 0216 # "How to add another productset?" 0217 0218 # filter sets 0219 calligra_define_productset(FILTERS_SHEETS_IMPORT "All Sheets import filters" 0220 OPTIONAL 0221 FILTER_XLSX_TO_ODS 0222 FILTER_XLS_TO_SHEETS 0223 FILTER_CSV_TO_SHEETS 0224 FILTER_APPLIXSPREAD_TO_KSPREAD 0225 FILTER_DBASE_TO_KSPREAD 0226 FILTER_GNUMERIC_TO_SHEETS 0227 FILTER_OPENCALC_TO_SHEETS 0228 FILTER_QUATTROPRO_TO_SHEETS 0229 FILTER_HTML_TO_ODS 0230 ) 0231 calligra_define_productset(FILTERS_SHEETS_EXPORT "All Sheets export filters" 0232 OPTIONAL 0233 FILTER_SHEETS_TO_XLS 0234 FILTER_SHEETS_TO_CSV 0235 FILTER_SHEETS_TO_GNUMERIC 0236 FILTER_SHEETS_TO_OPENCALC 0237 FILTER_SHEETS_TO_HTML 0238 FILTER_KSPREAD_TO_LATEX 0239 ) 0240 calligra_define_productset(FILTERS_SHEETS "All Sheets filters" 0241 OPTIONAL 0242 FILTERS_SHEETS_IMPORT 0243 FILTERS_SHEETS_EXPORT 0244 ) 0245 calligra_define_productset(FILTERS_ODG_IMPORT "All odg import filters" 0246 OPTIONAL 0247 FILTER_VISIO_TO_ODG 0248 FILTER_WPG_TO_ODG 0249 ) 0250 0251 calligra_define_productset(FILTERS_ODG "All odg filters" 0252 OPTIONAL 0253 FILTERS_ODG_IMPORT 0254 ) 0255 0256 calligra_define_productset(FILTERS_STAGE_IMPORT "All Stage import filters" 0257 OPTIONAL 0258 FILTER_KEY_TO_ODP 0259 FILTER_KPR_TO_ODP 0260 FILTER_PPT_TO_ODP 0261 FILTER_PPTX_TO_ODP 0262 ) 0263 #calligra_define_productset(FILTERS_STAGE_EXPORT "All Stage export filters" OPTIONAL ) none currently 0264 calligra_define_productset(FILTERS_STAGE "All Stage filters" 0265 OPTIONAL 0266 FILTERS_STAGE_IMPORT 0267 # FILTERS_STAGE_EXPORT 0268 ) 0269 calligra_define_productset(FILTERS_WORDS_IMPORT "All Words import filters" 0270 OPTIONAL 0271 FILTER_DOC_TO_ODT 0272 FILTER_DOCX_TO_ODT 0273 FILTER_WORDPERFECT_TO_ODT 0274 FILTER_WORKS_TO_ODT 0275 FILTER_APPLIXWORD_TO_ODT 0276 FILTER_ASCII_TO_WORDS 0277 FILTER_RTF_TO_ODT 0278 ) 0279 calligra_define_productset(FILTERS_WORDS_EXPORT "All Words export filters" 0280 OPTIONAL 0281 FILTER_ODT_TO_ASCII 0282 FILTER_ODT_TO_MOBI 0283 FILTER_ODT_TO_EPUB2 0284 FILTER_ODT_TO_HTML 0285 FILTER_ODT_TO_DOCX 0286 FILTER_ODT_TO_WIKI 0287 ) 0288 calligra_define_productset(FILTERS_WORDS "All Words filters" 0289 OPTIONAL 0290 FILTERS_WORDS_IMPORT 0291 FILTERS_WORDS_EXPORT 0292 ) 0293 calligra_define_productset(FILTERS_KARBON_IMPORT "All Karbon import filters" 0294 OPTIONAL 0295 FILTER_EPS_TO_SVG_AI 0296 FILTER_XFIG_TO_ODG 0297 FILTER_PDF_TO_SVG 0298 FILTER_WPG_TO_SVG 0299 FILTER_SVG_TO_KARBON 0300 FILTER_WMF_TO_SVG 0301 FILTER_KARBON1X_TO_KARBON 0302 ) 0303 calligra_define_productset(FILTERS_KARBON_EXPORT "All Karbon export filters" 0304 OPTIONAL 0305 FILTER_KARBON_TO_IMAGE 0306 FILTER_KARBON_TO_SVG 0307 FILTER_KARBON_TO_WMF 0308 ) 0309 calligra_define_productset(FILTERS_KARBON "All Karbon filters" 0310 OPTIONAL 0311 FILTERS_KARBON_IMPORT 0312 FILTERS_KARBON_EXPORT 0313 ) 0314 0315 # filemanager 0316 calligra_define_productset(FILEMANAGER "Extensions for the filemanager" 0317 OPTIONAL 0318 FILEMANAGER_PROPERTIES 0319 FILEMANAGER_QUICKPRINT 0320 FILEMANAGER_TEMPLATES 0321 FILEMANAGER_THUMBNAIL 0322 ) 0323 0324 # apps 0325 calligra_define_productset(BRAINDUMP "Full Braindump (for Desktop)" 0326 REQUIRES 0327 APP_BRAINDUMP 0328 OPTIONAL 0329 # plugins 0330 PLUGIN_ARTISTICTEXTSHAPE 0331 PLUGIN_CHARTSHAPE 0332 PLUGIN_DEFAULTTOOLS 0333 PLUGIN_DOCKERS 0334 PLUGIN_FORMULASHAPE 0335 PLUGIN_MUSICSHAPE 0336 PLUGIN_PATHSHAPES 0337 PLUGIN_PICTURESHAPE 0338 PLUGIN_PLUGINSHAPE 0339 PLUGIN_TEXTEDITING 0340 PLUGIN_TEXTSHAPE 0341 PLUGIN_THREEDSHAPE 0342 PLUGIN_VARIABLES 0343 PLUGIN_VECTORSHAPE 0344 PLUGIN_VIDEOSHAPE 0345 ) 0346 0347 calligra_define_productset(KARBON "Full Karbon (for Desktop)" 0348 REQUIRES 0349 APP_KARBON 0350 PLUGIN_KARBONPLUGINS 0351 PLUGIN_SHAPEFILTEREFFECTS 0352 OPTIONAL 0353 # extras 0354 FILEMANAGER 0355 # plugins 0356 PLUGIN_ARTISTICTEXTSHAPE 0357 PLUGIN_CHARTSHAPE 0358 PLUGIN_DEFAULTTOOLS 0359 PLUGIN_DOCKERS 0360 PLUGIN_FORMULASHAPE 0361 PLUGIN_PATHSHAPES 0362 PLUGIN_PICTURESHAPE 0363 PLUGIN_PLUGINSHAPE 0364 PLUGIN_STENCILSDOCKER 0365 PLUGIN_TEXTEDITING 0366 PLUGIN_TEXTSHAPE 0367 PLUGIN_VARIABLES 0368 PLUGIN_VECTORSHAPE 0369 # filters 0370 FILTERS_KARBON 0371 FILTERS_ODG 0372 ) 0373 calligra_define_productset(SHEETS "Full Sheets (for Desktop)" 0374 REQUIRES 0375 APP_SHEETS 0376 OPTIONAL 0377 # extras 0378 FILEMANAGER 0379 # feature 0380 FEATURE_SCRIPTING 0381 # plugins 0382 PLUGIN_ARTISTICTEXTSHAPE 0383 PLUGIN_CHARTSHAPE 0384 PLUGIN_DEFAULTTOOLS 0385 PLUGIN_DOCKERS 0386 PLUGIN_FORMULASHAPE 0387 PLUGIN_PATHSHAPES 0388 PLUGIN_PICTURESHAPE 0389 PLUGIN_PLUGINSHAPE 0390 PLUGIN_TEXTEDITING 0391 PLUGIN_TEXTSHAPE 0392 PLUGIN_VARIABLES 0393 PLUGIN_VECTORSHAPE 0394 # filters 0395 FILTERS_SHEETS 0396 ) 0397 calligra_define_productset(STAGE "Full Stage (for Desktop)" 0398 REQUIRES 0399 APP_STAGE 0400 OPTIONAL 0401 # extras 0402 FILEMANAGER 0403 # plugins 0404 PLUGIN_ARTISTICTEXTSHAPE 0405 PLUGIN_CHARTSHAPE 0406 PLUGIN_DEFAULTTOOLS 0407 PLUGIN_DOCKERS 0408 PLUGIN_FORMULASHAPE 0409 PLUGIN_PATHSHAPES 0410 PLUGIN_PICTURESHAPE 0411 PLUGIN_PLUGINSHAPE 0412 PLUGIN_TEXTEDITING 0413 PLUGIN_TEXTSHAPE 0414 PLUGIN_STENCILSDOCKER 0415 PLUGIN_VARIABLES 0416 PLUGIN_VECTORSHAPE 0417 PLUGIN_VIDEOSHAPE 0418 # filters 0419 FILTERS_STAGE 0420 ) 0421 calligra_define_productset(WORDS "Full Words (for Desktop)" 0422 REQUIRES 0423 APP_WORDS 0424 OPTIONAL 0425 # extras 0426 FILEMANAGER 0427 # plugins 0428 PLUGIN_ARTISTICTEXTSHAPE 0429 PLUGIN_CHARTSHAPE 0430 PLUGIN_DEFAULTTOOLS 0431 PLUGIN_DOCKERS 0432 PLUGIN_FORMULASHAPE 0433 PLUGIN_PATHSHAPES 0434 PLUGIN_PICTURESHAPE 0435 PLUGIN_PLUGINSHAPE 0436 PLUGIN_SEMANTICITEMS 0437 PLUGIN_STENCILSDOCKER 0438 PLUGIN_TEXTEDITING 0439 PLUGIN_TEXTSHAPE 0440 PLUGIN_VARIABLES 0441 PLUGIN_VECTORSHAPE 0442 # filters 0443 FILTERS_WORDS 0444 ) 0445 calligra_define_productset(GEMINI "Calligra for 2:1 devices" 0446 REQUIRES 0447 APP_GEMINI 0448 OPTIONAL 0449 # plugins 0450 PLUGIN_ARTISTICTEXTSHAPE 0451 PLUGIN_CALLIGRAGEMINI_GIT 0452 PLUGIN_CHARTSHAPE 0453 PLUGIN_DEFAULTTOOLS 0454 PLUGIN_DOCKERS 0455 PLUGIN_FORMULASHAPE 0456 PLUGIN_PATHSHAPES 0457 PLUGIN_PICTURESHAPE 0458 PLUGIN_PLUGINSHAPE 0459 PLUGIN_TEXTEDITING 0460 PLUGIN_TEXTSHAPE 0461 PLUGIN_VARIABLES 0462 PLUGIN_VECTORSHAPE 0463 PLUGIN_VIDEOSHAPE 0464 # filters 0465 FILTERS_WORDS 0466 FILTERS_STAGE 0467 ) 0468 0469 # okular support 0470 calligra_define_productset(OKULAR "Okular generators" 0471 OPTIONAL 0472 OKULAR_GENERATOR_ODP 0473 OKULAR_GENERATOR_PPT 0474 OKULAR_GENERATOR_PPTX 0475 OKULAR_GENERATOR_ODT 0476 OKULAR_GENERATOR_DOC 0477 OKULAR_GENERATOR_DOCX 0478 OKULAR_GENERATOR_RTF 0479 OKULAR_GENERATOR_WORDPERFECT 0480 ) 0481 0482 0483 # How to add another product? 0484 # =========================== 0485 # 0486 # 1. Define the product by a call of calligra_define_product, 0487 # e.g. 0488 # 0489 # calligra_define_product(MYPRODUCT "title of product") 0490 # 0491 # For the product id use a proper prefix (LIB_, PLUGIN_, FILTER_, APP_, PART_, 0492 # ...), whatever is appropriate. 0493 # 0494 # 2. Extend that call with a REQUIRES argument section, if the product has 0495 # hard internal build-time dependencies on other products or features. 0496 # Products/features that are listed as dependencies have to be defined before 0497 # (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake) 0498 # E.g. 0499 # 0500 # calligra_define_product(MYPRODUCT "title of product" REQUIRES P1 P2) 0501 # 0502 # 3. Add a rule when to not build the product, in the section "Detect which 0503 # products/features can be compiled" of the toplevel CMakeLists.txt. Each 0504 # product should have their own boolean expression when to set the build flag 0505 # to FALSE, e.g. 0506 # 0507 # if (PLATFORMX OR NOT EXTERNAL_DEP_X_FOUND) 0508 # set(SHOULD_BUILD_MYPRODUCT FALSE) 0509 # endif () 0510 # 0511 # 4. Wrap everything belonging to the product with the build flag of the product. 0512 # Ideally this is done around subdirectory inclusions, results in easier code. 0513 # e.g. 0514 # 0515 # if (SHOULD_BUILD_MYPRODUCT) 0516 # add_subdirectory(myproduct) 0517 # endif () 0518 # 0519 # 5. Tag the product as STAGING, if it is not yet ready for release, but already 0520 # integrated in the master branch, e.g. 0521 # 0522 # calligra_define_product(MYPRODUCT "title of product" STAGING REQUIRES P1) 0523 # 0524 # 6. Add the product to all products, features and product sets which have this 0525 # product as REQUIRED or OPTIONAL dependency. 0526 # 0527 # 0528 # How to add another feature? 0529 # =========================== 0530 # 0531 # 1. Define the feature by a call of calligra_define_feature, 0532 # e.g. 0533 # 0534 # calligra_define_feature(MYFEATURE "title of feature") 0535 # 0536 # For the feature id use a proper prefix (FEATURE_, ...), whatever is 0537 # appropriate. 0538 # 0539 # 2. Extend that call with a REQUIRES argument section, if the feature has 0540 # hard internal build-time dependencies on other products or features. 0541 # Products or features that are listed as dependencies have to be defined 0542 # before 0543 # (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake) 0544 # E.g. 0545 # 0546 # calligra_define_feature(MYFEATURE "title of feature" REQUIRES P1 F1) 0547 # 0548 # 3. Add a rule when to not build the feature, in the section "Detect which 0549 # products/features can be compiled" of the toplevel CMakeLists.txt. Each 0550 # feature should have their own boolean expression when to set the build flag 0551 # to FALSE, e.g. 0552 # 0553 # if (PLATFORMX OR NOT EXTERNAL_DEP_X_FOUND) 0554 # set(SHOULD_BUILD_MYFEATURE FALSE) 0555 # endif () 0556 # 0557 # 4. Wrap everything belonging to the feature with the build flag of the feature. 0558 # Ideally this is done around subdirectory inclusions, results in easier code. 0559 # e.g. 0560 # 0561 # if (SHOULD_BUILD_MYFEATURE) 0562 # add_subdirectory(myproduct) 0563 # endif () 0564 # 0565 # 5. Tag the feature as STAGING, if it is not yet ready for release, but already 0566 # integrated in the master branch, e.g. 0567 # 0568 # calligra_define_product(MYFEATURE "title of feature" STAGING REQUIRES P1 F1) 0569 # 0570 # 6. Add the feature to all products, features and product sets which have this 0571 # product as REQUIRED or OPTIONAL dependency. 0572 # 0573 # 0574 # How to add another productset? 0575 # ============================== 0576 # 0577 # There are two possible places to put a productset definition. The first is to 0578 # add it to this file, which should be done for more generic sets that are 0579 # useful for many people. The second is a file of its own, in the directory 0580 # "cmake/productsets", which should be done for more special ones or for those 0581 # which should not be added to the repository. 0582 # The file must be named with the name of the productset in lowercase and have 0583 # the extension ".cmake". 0584 # 0585 # 1. Define the productset by a call of calligra_define_productset, 0586 # e.g. 0587 # 0588 # calligra_define_productset(MYPRODUCTSET "title of productset") 0589 # 0590 # 2. Extend that call with REQUIRES or OPTIONAL argument sections, if the productset 0591 # has hard or soft internal dependencies on other products, features or 0592 # productsets. 0593 # Products, features or productsets that are listed as dependencies have to 0594 # be defined before 0595 # (see also the API doc in cmake/modules/CalligraProductSetMacros.cmake) 0596 # E.g. 0597 # 0598 # calligra_define_productset(MYPRODUCT "title of product" 0599 # REQUIRES P1 P2 F1 PS1 0600 # OPTIONAL P3 F2 PS2) 0601 # 0602 # 3. Add the productset to all product sets which have this product set as 0603 # REQUIRED or OPTIONAL dependency. 0604 # 0605 # Example for a file-based productset definition: 0606 # You want a productset "MYWORDS". For that you add a file named 0607 # "mywords.cmake" into the directory "cmake/productsets", with the content: 0608 # --- 8< --- 0609 # calligra_define_productset(MYWORDS "My Words" 0610 # REQUIRES 0611 # APP_WORDS 0612 # PLUGIN_DEFAULTTOOLS 0613 # PLUGIN_DOCKERS 0614 # PLUGIN_PATHSHAPES 0615 # PLUGIN_VARIABLES 0616 # PLUGIN_TEXTSHAPE 0617 # PLUGIN_PLUGINSHAPE 0618 # PLUGIN_FORMULASHAPE 0619 # ) 0620 # --- 8< ---