Warning, /utilities/okteta/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 project(Okteta VERSION 0.26.60)
0004 
0005 set(REQUIRED_KF_VERSION "5.100.0")
0006 find_package(ECM ${REQUIRED_KF_VERSION} REQUIRED NO_MODULE)
0007 
0008 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${ECM_MODULE_PATH})
0009 
0010 # ECM KDE macros (include first, to have their policies and settings effect all other macros)
0011 include(KDEInstallDirs)
0012 include(KDECMakeSettings NO_POLICY_SCOPE)
0013 include(KDECompilerSettings NO_POLICY_SCOPE)
0014 # ECM macros
0015 include(ECMQtDeclareLoggingCategory)
0016 include(ECMInstallIcons)
0017 include(ECMAddAppIcon)
0018 include(ECMDeprecationSettings)
0019 # CMake macros
0020 include(FeatureSummary)
0021 include(CMakeDependentOption)
0022 if(BUILD_TESTING)
0023     include(ECMAddTests)
0024 endif()
0025 # Okteta macros
0026 include(OktetaInternalMacros)
0027 
0028 # control build scope, default to examples if BUILD_TESTING is ON
0029 if( NOT DEFINED OMIT_EXAMPLES AND NOT BUILD_TESTING )
0030     set( OMIT_EXAMPLES TRUE )
0031 endif()
0032 if( NOT DEFINED OMIT_INTERNAL_TEMPLATES AND NOT BUILD_TESTING )
0033     set( OMIT_INTERNAL_TEMPLATES TRUE )
0034 endif()
0035 
0036 if( NOT OMIT_EXAMPLES )
0037     set( OKTETA_BUILD_EXAMPLES TRUE )
0038 endif()
0039 if( NOT OMIT_INTERNAL_TEMPLATES )
0040     set( KASTEN_BUILD_INTERNAL_TEMPLATES TRUE )
0041 endif()
0042 
0043 option(BUILD_DESIGNERPLUGIN "Build the Designer plugin." ON)
0044 add_feature_info(DESIGNERPLUGIN ${BUILD_DESIGNERPLUGIN} "Qt Designer plugin")
0045 option(BUILD_OKTETAKASTENLIBS "Build the Okteta Kasten libraries." ON)
0046 add_feature_info(OKTETAKASTENLIBS ${BUILD_OKTETAKASTENLIBS} "Okteta Kasten libraries")
0047 
0048 cmake_dependent_option(BUILD_KPARTSPLUGIN "Build the KParts plugin." ON "BUILD_OKTETAKASTENLIBS" OFF)
0049 add_feature_info(KPARTSPLUGIN ${BUILD_KPARTSPLUGIN} "KParts plugin")
0050 cmake_dependent_option(BUILD_DESKTOPPROGRAM "Build the program." ON "BUILD_OKTETAKASTENLIBS" OFF)
0051 add_feature_info(DESKTOPPROGRAM ${BUILD_DESKTOPPROGRAM} "Program")
0052 
0053 set(REQUIRED_QT_VERSION "5.15.2")
0054 set(ADDITIONAL_REQUIRED_QT_COMPONENTS)
0055 if(BUILD_TESTING)
0056     list(APPEND ADDITIONAL_REQUIRED_QT_COMPONENTS Test)
0057 endif()
0058 if( BUILD_DESIGNERPLUGIN )
0059     list(APPEND ADDITIONAL_REQUIRED_QT_COMPONENTS UiPlugin)
0060 endif()
0061 if( BUILD_OKTETAKASTENLIBS )
0062     list(APPEND ADDITIONAL_REQUIRED_QT_COMPONENTS
0063         Network
0064         PrintSupport
0065         Qml
0066         Script
0067         ScriptTools
0068         Xml
0069     )
0070 endif()
0071 find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED
0072     COMPONENTS
0073     Core
0074     Widgets
0075     ${ADDITIONAL_REQUIRED_QT_COMPONENTS}
0076 )
0077 
0078 set(ADDITIONAL_REQUIRED_KF_COMPONENTS)
0079 if( BUILD_OKTETAKASTENLIBS )
0080     list(APPEND ADDITIONAL_REQUIRED_KF_COMPONENTS
0081         Bookmarks
0082         Completion
0083         ItemViews
0084         KIO
0085         NewStuff
0086         Parts
0087         Service
0088         WidgetsAddons
0089         XmlGui
0090     )
0091 endif()
0092 if( BUILD_DESKTOPPROGRAM )
0093     list(APPEND ADDITIONAL_REQUIRED_KF_COMPONENTS
0094         Crash
0095         DBusAddons
0096         DocTools
0097     )
0098 endif()
0099 find_package(KF5 ${REQUIRED_KF_VERSION} REQUIRED
0100     COMPONENTS
0101     ConfigWidgets
0102     I18n
0103     ${ADDITIONAL_REQUIRED_KF_COMPONENTS}
0104 )
0105 
0106 ecm_set_disabled_deprecation_versions(
0107     # Disable Qt deprecation warnings as there should be no new deprecations in Qt5,
0108     # and QLinkedList porting will take some time, also not blocking Qt6 port
0109     DISABLE_NEWER_WARNINGS
0110     QT 5.14.0 # QLinkedList
0111 )
0112 
0113 ecm_set_disabled_deprecation_versions(
0114     KF 5.100
0115 )
0116 
0117 # helper libs
0118 add_subdirectory( libs )
0119 if( BUILD_DESKTOPPROGRAM )
0120     add_subdirectory( doc )
0121 endif()
0122 
0123 set( OKTETALIBS_MAJOR_VERSION 0 )
0124 set( OKTETALIBS_MINOR_VERSION 10 )
0125 set( OKTETALIBS_PATCHLEVEL_VERSION 0 )
0126 set( OKTETALIBS_VERSION "${OKTETALIBS_MAJOR_VERSION}.${OKTETALIBS_MINOR_VERSION}.${OKTETALIBS_PATCHLEVEL_VERSION}" )
0127 set( OKTETALIBS_ABI_VERSION 3 )
0128 
0129 set( OKTETALIBS_LIB_SOVERSION 0 )
0130 set( OKTETALIBS_LIB_VERSION ${OKTETALIBS_VERSION} )
0131 
0132 # Okteta libs
0133 add_subdirectory( core )
0134 add_subdirectory( gui )
0135 
0136 if( BUILD_DESIGNERPLUGIN )
0137     add_subdirectory( designer )
0138 endif()
0139 
0140 # Okteta Kasten components
0141 if( BUILD_OKTETAKASTENLIBS )
0142     add_subdirectory( kasten )
0143 endif()
0144 # special mimetypes
0145 if( BUILD_OKTETAKASTENLIBS )
0146     add_subdirectory( mimetypes )
0147 endif()
0148 
0149 # programs and parts for desktop
0150 add_subdirectory( parts )
0151 if( BUILD_DESKTOPPROGRAM )
0152     add_subdirectory( program )
0153 endif()
0154 
0155 ki18n_install(po)
0156 
0157 if( BUILD_DESKTOPPROGRAM )
0158     kdoctools_install(po)
0159 endif()
0160 
0161 ecm_qt_install_logging_categories(
0162     EXPORT OKTETA
0163     FILE okteta.categories
0164     DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
0165 )
0166 
0167 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)