Warning, /network/kio-gdrive/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 # KDE Application Version, managed by release script 0004 set (RELEASE_SERVICE_VERSION_MAJOR "24") 0005 set (RELEASE_SERVICE_VERSION_MINOR "04") 0006 set (RELEASE_SERVICE_VERSION_MICRO "70") 0007 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 project(kio-gdrive VERSION ${RELEASE_SERVICE_VERSION}) 0009 0010 set(QT_MIN_VERSION 5.15.2) 0011 set(KF_MIN_VERSION 5.96.0) 0012 set(KGAPI_MIN_VERSION 5.11.41) 0013 set(KACCOUNTS_MIN_VERSION 20.03.80) 0014 set(QTKEYCHAIN_MIN_VERSION 0.6.0) 0015 0016 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0017 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${ECM_MODULE_PATH}) 0018 0019 include(FeatureSummary) 0020 include(KDEInstallDirs) 0021 include(KDECMakeSettings) 0022 include(KDECompilerSettings NO_POLICY_SCOPE) 0023 include(ECMQtDeclareLoggingCategory) 0024 include(ECMSetupVersion) 0025 include(ECMDeprecationSettings) 0026 include(KDEClangFormat) 0027 include(KDEGitCommitHooks) 0028 0029 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0030 Gui 0031 Network 0032 Widgets) 0033 0034 0035 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS 0036 I18n 0037 DocTools 0038 KIO) 0039 0040 if(QT_MAJOR_VERSION STREQUAL "5") 0041 find_package(KPimGAPI ${KGAPI_MIN_VERSION} REQUIRED) 0042 else() 0043 find_package(KPim6GAPI ${KGAPI_MIN_VERSION} REQUIRED) 0044 endif() 0045 0046 find_package(KF${QT_MAJOR_VERSION}Purpose ${KF_MIN_VERSION}) # Optional since it depends on KAccounts 0047 0048 set_package_properties(KF${QT_MAJOR_VERSION}Purpose PROPERTIES TYPE RECOMMENDED PURPOSE "Enables the Share menu plugin.") 0049 0050 if(QT_MAJOR_VERSION STREQUAL "5") 0051 set(KACCOUNTS_SUFFIX "") 0052 else() 0053 set(KACCOUNTS_SUFFIX "6") 0054 endif() 0055 0056 find_package(KAccounts${KACCOUNTS_SUFFIX} ${KACCOUNTS_MIN_VERSION}) 0057 set_package_properties(KAccounts${KACCOUNTS_SUFFIX} PROPERTIES 0058 TYPE RECOMMENDED 0059 URL "https://commits.kde.org/kaccounts-integration" 0060 PURPOSE "Enables integration with system-wide accounts.") 0061 0062 if (NOT KAccounts${KACCOUNTS_SUFFIX}_FOUND) 0063 find_package(Qt${QT_MAJOR_VERSION}Keychain ${QTKEYCHAIN_MIN_VERSION} REQUIRED) 0064 set_package_properties(Qt${QT_MAJOR_VERSION}Keychain PROPERTIES 0065 URL "https://github.com/frankosterfeld/qtkeychain" 0066 PURPOSE "Required for secure storage of accounts secrets.") 0067 message(STATUS "Building the QtKeychain backend.") 0068 endif() 0069 0070 find_package(Qt${QT_MAJOR_VERSION}Test QUIET) 0071 set_package_properties(Qt${QT_MAJOR_VERSION}Test PROPERTIES 0072 TYPE OPTIONAL 0073 PURPOSE "Required for building tests.") 0074 0075 if(NOT Qt${QT_MAJOR_VERSION}Test_FOUND) 0076 set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.") 0077 endif() 0078 0079 ecm_setup_version(${RELEASE_SERVICE_VERSION} 0080 VARIABLE_PREFIX GDRIVE 0081 VERSION_HEADER gdriveversion.h) 0082 0083 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0084 add_definitions(-DQT_STRICT_ITERATORS) 0085 add_definitions(-DTRANSLATION_DOMAIN=\"kio5_gdrive\") 0086 0087 ecm_set_disabled_deprecation_versions(QT 5.15.2 0088 KF 5.83.0 0089 ) 0090 0091 if(BUILD_TESTING) 0092 add_subdirectory(autotests) 0093 endif() 0094 add_subdirectory(desktop) 0095 add_subdirectory(doc) 0096 add_subdirectory(src) 0097 0098 if (KF${QT_MAJOR_VERSION}Purpose_FOUND) 0099 add_subdirectory(purpose) 0100 endif() 0101 0102 if (KAccounts${KACCOUNTS_SUFFIX}_FOUND) 0103 message(STATUS "Building the KAccounts backend.") 0104 add_subdirectory(kaccounts) 0105 endif() 0106 0107 ki18n_install(po) 0108 kdoctools_install(po) 0109 0110 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0111 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0112 0113 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0114 0115 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)