Warning, /utilities/ark/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required (VERSION 3.19 FATAL_ERROR) 0002 0003 # KDE Application Version, managed by release script 0004 set (RELEASE_SERVICE_VERSION_MAJOR "24") 0005 set (RELEASE_SERVICE_VERSION_MINOR "01") 0006 set (RELEASE_SERVICE_VERSION_MICRO "95") 0007 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 project(ark VERSION ${RELEASE_SERVICE_VERSION}) 0009 0010 set(QT_MIN_VERSION 6.6.0) 0011 set(KF_MIN_VERSION 5.240.0) 0012 0013 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) 0015 0016 include(KDEInstallDirs) 0017 include(KDECMakeSettings) 0018 include(KDECompilerSettings NO_POLICY_SCOPE) 0019 0020 include(GenerateExportHeader) 0021 include(FeatureSummary) 0022 include(ECMQtDeclareLoggingCategory) 0023 include(ECMSetupVersion) 0024 include(ECMDeprecationSettings) 0025 include(KDEClangFormat) 0026 include(KDEGitCommitHooks) 0027 0028 ecm_setup_version(${RELEASE_SERVICE_VERSION} 0029 VARIABLE_PREFIX ARK 0030 VERSION_HEADER "ark_version.h") 0031 0032 ecm_setup_version(PROJECT 0033 VARIABLE_PREFIX KERFUFFLE) 0034 0035 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED 0036 Concurrent 0037 Core 0038 Gui 0039 Widgets) 0040 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Config 0041 Crash 0042 DBusAddons 0043 DocTools 0044 FileMetaData 0045 I18n 0046 KIO 0047 Service 0048 Parts 0049 Pty 0050 WidgetsAddons 0051 WindowSystem 0052 IconThemes) 0053 0054 find_package(Qt6Test ${QT_MIN_VERSION} CONFIG QUIET) 0055 set_package_properties(Qt6Test PROPERTIES 0056 PURPOSE "Required for tests" 0057 TYPE OPTIONAL) 0058 0059 if(NOT TARGET Qt6::Test) 0060 set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.") 0061 endif() 0062 0063 find_package(LibArchive 3.3.3 REQUIRED) 0064 set_package_properties(LibArchive PROPERTIES 0065 URL "https://www.libarchive.org/" 0066 DESCRIPTION "A library for dealing with a wide variety of archive file formats" 0067 PURPOSE "Required for among others tar, tar.gz, tar.bz2 formats in Ark.") 0068 0069 find_package(LibZip 1.3.0) 0070 set_package_properties(LibZip PROPERTIES 0071 URL "https://nih.at/libzip/" 0072 DESCRIPTION "A library for handling zip archives" 0073 PURPOSE "Optional for zip archives.") 0074 # To remove once we can depend on LibZip 1.6+ 0075 if ("${LibZip_VERSION}" VERSION_GREATER_EQUAL 1.6) 0076 set(LIBZIP_CANCELATION 1) 0077 endif() 0078 configure_file(config.h.in config.h) 0079 0080 option(WITH_TEST_COVERAGE "Build with test coverage support" OFF) 0081 if (WITH_TEST_COVERAGE) 0082 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage") 0083 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") 0084 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") 0085 endif (WITH_TEST_COVERAGE) 0086 0087 set(SUPPORTED_ARK_MIMETYPES "") 0088 0089 add_definitions(-DTRANSLATION_DOMAIN="ark") 0090 0091 ecm_set_disabled_deprecation_versions(QT 5.15.2 0092 KF 5.101 0093 ) 0094 0095 0096 add_subdirectory(plugins) 0097 add_subdirectory(kerfuffle) 0098 add_subdirectory(part) 0099 add_subdirectory(app) 0100 add_subdirectory(doc) 0101 0102 if(BUILD_TESTING) 0103 add_subdirectory(autotests) 0104 endif() 0105 0106 ki18n_install(po) 0107 kdoctools_install(po) 0108 0109 ecm_qt_install_logging_categories(EXPORT ARK FILE ark.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) 0110 0111 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0112 0113 # add clang-format target for all our real source files 0114 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0115 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0116 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)