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< ---