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)