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