Warning, /sdk/kommit/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project(kommit) 0004 0005 set(PROJECT_VERSION_MAJOR 1) 0006 set(PROJECT_VERSION_MINOR 4) 0007 set(PROJECT_VERSION_PATCH 0) 0008 0009 set (RELEASE_SERVICE_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") 0010 0011 set(LIBKOMMIT_LIB_VERSION "${RELEASE_SERVICE_VERSION}") 0012 set(LIBKOMMIT_LIB_SOVERSION "0") 0013 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake") 0014 0015 #find_package(git2 REQUIRED) 0016 find_package(PkgConfig REQUIRED) 0017 pkg_check_modules(LIBGIT2 "libgit2>=1.0" REQUIRED IMPORTED_TARGET) 0018 0019 0020 add_definitions(-DGK_VERSION="${RELEASE_SERVICE_VERSION}") 0021 set(KF_MIN_VERSION "5.90") 0022 set(QT_MIN_VERSION 5.15.2) 0023 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0024 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake") 0025 0026 #find_package(git2 REQUIRED) 0027 find_package(PkgConfig REQUIRED) 0028 pkg_check_modules(LIBGIT2 "libgit2>=1.0" REQUIRED IMPORTED_TARGET) 0029 0030 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0031 set( 0032 CMAKE_MODULE_PATH 0033 ${ECM_MODULE_PATH} 0034 ${CMAKE_CURRENT_SOURCE_DIR}/cmake 0035 ) 0036 0037 include(KDEInstallDirs) 0038 include(KDECompilerSettings NO_POLICY_SCOPE) 0039 include(KDECMakeSettings NO_POLICY_SCOPE) 0040 include(FeatureSummary) 0041 0042 include(ECMInstallIcons) 0043 include(ECMQtDeclareLoggingCategory) 0044 include(ECMAddAppIcon) 0045 include(ECMSetupVersion) 0046 include(ECMAddTests) 0047 include(GenerateExportHeader) 0048 include(KDEGitCommitHooks) 0049 include(KDEClangFormat) 0050 include(ECMDeprecationSettings) 0051 if (QT_MAJOR_VERSION STREQUAL "6") 0052 set(QT_REQUIRED_VERSION "6.4.0") 0053 set(KF_MIN_VERSION "5.240.0") 0054 set(KF_MAJOR_VERSION "6") 0055 else() 0056 set(KF_MAJOR_VERSION "5") 0057 endif() 0058 0059 set (CMAKE_CXX_STANDARD 17) 0060 0061 find_package( 0062 Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} 0063 CONFIG REQUIRED 0064 Core 0065 Gui 0066 Widgets 0067 Concurrent 0068 ) 0069 0070 if (QT_MAJOR_VERSION STREQUAL "6") 0071 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED Core5Compat) 0072 endif() 0073 0074 find_package( 0075 KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} 0076 REQUIRED COMPONENTS 0077 ConfigWidgets 0078 CoreAddons 0079 Crash 0080 DBusAddons 0081 DocTools 0082 I18n 0083 XmlGui 0084 KIO 0085 TextWidgets 0086 TextEditor 0087 SyntaxHighlighting 0088 ) 0089 find_package(DolphinVcs REQUIRED) 0090 0091 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0092 0093 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT) 0094 add_definitions(-DQT_NO_CAST_TO_ASCII) 0095 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0096 add_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) 0097 add_definitions(-DQT_NO_FOREACH) 0098 #add_definitions(-DQT_NO_CAST_FROM_ASCII) 0099 0100 ecm_set_disabled_deprecation_versions(QT 5.15.2 0101 ) 0102 0103 0104 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0105 0106 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0107 if (USE_UNITY_CMAKE_SUPPORT) 0108 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0109 endif() 0110 0111 if(BUILD_TESTING) 0112 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Test) 0113 add_definitions(-DBUILD_TESTING) 0114 endif(BUILD_TESTING) 0115 0116 0117 if(KF${KF_MAJOR_VERSION}DocTools_FOUND) # For the moment on kf6 it doesn't build depend against deprecated &kf5 0118 add_subdirectory(doc) 0119 kdoctools_install(po) 0120 else() 0121 0122 message(WARNING "DocTools not found. NEED TO FIX IT IN QT6") 0123 endif() 0124 0125 add_subdirectory(icons) 0126 add_subdirectory(src) 0127 #add_subdirectory(autotests) 0128 if (UNIX) 0129 add_subdirectory(dolphinplugins) 0130 endif (UNIX) 0131 0132 0133 ecm_qt_install_logging_categories( 0134 EXPORT KOMMIT 0135 FILE kommit.categories 0136 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0137 ) 0138 0139 if (KOMMIT_BUILD_DIR) 0140 file(WRITE ${KOMMIT_BUILD_DIR}/version "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") 0141 message("-- Version in file ${KOMMIT_BUILD_DIR}/version saved") 0142 endif() 0143 0144 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0145 ki18n_install(po) 0146 0147 #CPack 0148 set(CPACK_PACKAGE_NAME ${PROJECT_NAME} 0149 CACHE STRING "The resulting package name" 0150 ) 0151 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "KDE git gui client" 0152 CACHE STRING "Package description for the package metadata" 0153 ) 0154 set(CPACK_PACKAGE_VENDOR "KDE") 0155 set(CPACK_VERBATIM_VARIABLES YES) 0156 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) 0157 #SET(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_SOURCE_DIR}/_packages") 0158 0159 # https://unix.stackexchange.com/a/11552/254512 0160 #set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/some")#/${CMAKE_PROJECT_VERSION}") 0161 0162 set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) 0163 set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) 0164 set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) 0165 set(CPACK_PACKAGE_DESCRIPTION "Git client for KDE") 0166 0167 set(CPACK_PACKAGE_CONTACT "hamed.masafi@gmail.com") 0168 set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Hamed Masafi") 0169 0170 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") 0171 #set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") 0172 0173 if (KOMMIT_BUILD_DIR) 0174 set(CPACK_PACKAGE_FILE_NAME "kommit") 0175 else() 0176 set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) 0177 endif() 0178 0179 set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP) 0180 # without this you won't be able to pack only specified component 0181 set(CPACK_DEB_COMPONENT_INSTALL YES) 0182 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) 0183 0184 include(CPack)