summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: ba04c261a93cde5b143bb90ee20d8a5038429461 (plain)
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
###############################################################################
# Trinity KOffice                                                             #
# ---------------                                                             #
# This file is licensed under the terms of GNU GPL v3 or later.               #
# Improvements and feedback are welcome.                                      #
###############################################################################

project(koffice)

### Includes ##################################################################
include(FindPkgConfig)
include(CheckFunctionExists)
include(CheckSymbolExists)
include(CheckIncludeFile)
include(CheckLibraryExists)
include(CheckCSourceCompiles)
include(CheckCXXSourceCompiles)

include(TDEMacros)
include(TDESetupPaths)
include(TDEVersion)

### Basic project setup ########################################################
cmake_minimum_required(VERSION ${TDE_CMAKE_MINIMUM_VERSION})
tde_set_project_version()
tde_setup_paths()

### Options ####################################################################
option(WITH_ALL_OPTIONS    "Enable all optional support"    ON)
option(WITH_LIBEXIF        "Enable libexif support"         ${WITH_ALL_OPTIONS})
option(WITH_GRAPHICSMAGICK "Enable GraphicsMagick filter"   ${WITH_ALL_OPTIONS})
option(WITH_IMAGEMAGICK    "Enable ImageMagick filter"      ${WITH_ALL_OPTIONS})
option(WITH_OPENEXR        "Enable OpenEXR support"         ${WITH_ALL_OPTIONS})
option(WITH_KEXI_MYSQL     "Enable Kexi MySQL plugin"       ${WITH_ALL_OPTIONS})
option(WITH_KEXI_PGSQL     "Enable Kexi PostgreSQL plugin"  ${WITH_ALL_OPTIONS})
option(WITH_KEXI_MACROS    "Enable Kexi macro plugin"       ${WITH_ALL_OPTIONS})
option(WITH_KROSS_PYTHON   "Enable Kross Python plugin"     OFF)
option(WITH_KROSS_RUBY     "Enable Kross Ruby plugin"       ${WITH_ALL_OPTIONS})

### Components #################################################################
option(BUILD_ALL           "Build all"                      ON)
option(BUILD_DOC           "Build documentation"            ${BUILD_ALL})
option(BUILD_TRANSLATIONS  "Build translations"             ${BUILD_ALL})
option(BUILD_CHALK         "Build Chalk"                    ${BUILD_ALL})
option(BUILD_KARBON        "Build Karbon"                   ${BUILD_ALL})
option(BUILD_KCHART        "Build KChart"                   ${BUILD_ALL})
option(BUILD_KDGANTT       "Build KDGantt"                  ${BUILD_ALL})
option(BUILD_KEXI          "Build Kexi"                     ${BUILD_ALL})
option(BUILD_KFORMULA      "Build KFormula"                 ${BUILD_ALL})
option(BUILD_KIVIO         "Build Kivio"                    ${BUILD_ALL})
option(BUILD_KOSHELL       "Build KOffice Workspace"        ${BUILD_ALL})
option(BUILD_KPLATO        "Build KPlato"                   ${BUILD_ALL})
option(BUILD_KPRESENTER    "Build KPresenter"               ${BUILD_ALL})
option(BUILD_KSPREAD       "Build KSpread"                  ${BUILD_ALL})
option(BUILD_KUGAR         "Build Kugar"                    ${BUILD_ALL})
option(BUILD_KWORD         "Build KWord"                    ${BUILD_ALL})
option(BUILD_KROSS         "Build Kross scripting library"  ${BUILD_ALL})
option(BUILD_EXAMPLE       "Build KOffice example part"     OFF)
option(BUILD_TESTS         "Build KOffice tests"            OFF)

### Configuration #############################################################
include(ConfigureChecks.cmake)
configure_file(config.h.cmake config.h @ONLY)

### Subdirectories ############################################################
add_subdirectory(lib)
add_subdirectory(interfaces)
add_subdirectory(autocorrect)
add_subdirectory(kounavail)
add_subdirectory(pics)
# add_subdirectory(plugins)
add_subdirectory(servicetypes)
add_subdirectory(templates)
# add_subdirectory(tools)
# add_subdirectory(filters)
#
tde_conditional_add_project_docs(BUILD_DOC)
tde_conditional_add_project_translations(BUILD_TRANSLATIONS)
#
# tde_conditional_add_subdirectory(BUILD_CHALK chalk)
tde_conditional_add_subdirectory(BUILD_EXAMPLE example)
# tde_conditional_add_subdirectory(BUILD_KARBON karbon)
tde_conditional_add_subdirectory(BUILD_KCHART kchart)
# tde_conditional_add_subdirectory(BUILD_KDGANTT kdgantt)
tde_conditional_add_subdirectory(BUILD_KFORMULA kformula)
# tde_conditional_add_subdirectory(BUILD_KIVIO kivio)
# tde_conditional_add_subdirectory(BUILD_KOSHELL koshell)
tde_conditional_add_subdirectory(BUILD_KPRESENTER kpresenter)
# tde_conditional_add_subdirectory(BUILD_KSPREAD kspread)
# tde_conditional_add_subdirectory(BUILD_KUGAR kugar)
tde_conditional_add_subdirectory(BUILD_KWORD kword)
# tde_conditional_add_subdirectory(BUILD_KPLATO kplato)
# tde_conditional_add_subdirectory(BUILD_KEXI kexi)

# kate: indent-width 2; replace-tabs true;