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 "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(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 set(CMAKE_CXX_STANDARD 20)
0017 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0018 
0019 include(KDEInstallDirs)
0020 include(KDECMakeSettings)
0021 include(KDECompilerSettings NO_POLICY_SCOPE)
0022 
0023 include(GenerateExportHeader)
0024 include(FeatureSummary)
0025 include(ECMQtDeclareLoggingCategory)
0026 include(ECMSetupVersion)
0027 include(ECMDeprecationSettings)
0028 include(KDEClangFormat)
0029 include(KDEGitCommitHooks)
0030 
0031 ecm_setup_version(${RELEASE_SERVICE_VERSION}
0032                   VARIABLE_PREFIX ARK
0033                   VERSION_HEADER "ark_version.h")
0034 
0035 ecm_setup_version(PROJECT
0036                   VARIABLE_PREFIX KERFUFFLE)
0037 
0038 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED
0039     Concurrent
0040     Core
0041     Gui
0042     Widgets)
0043 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Config
0044                                                         Crash
0045                                                         DBusAddons
0046                                                         DocTools
0047                                                         FileMetaData
0048                                                         I18n
0049                                                         KIO
0050                                                         Service
0051                                                         Parts
0052                                                         WidgetsAddons
0053                                                         WindowSystem
0054                                                         IconThemes)
0055 
0056 if (NOT WIN32)
0057     find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Pty)
0058 endif()
0059 
0060 find_package(Qt6Test ${QT_MIN_VERSION} CONFIG QUIET)
0061 set_package_properties(Qt6Test PROPERTIES
0062     PURPOSE "Required for tests"
0063     TYPE OPTIONAL)
0064 
0065 if(NOT TARGET Qt6::Test)
0066     set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
0067 endif()
0068 
0069 find_package(LibArchive 3.3.3 REQUIRED)
0070 set_package_properties(LibArchive PROPERTIES
0071                        URL "https://www.libarchive.org/"
0072                        DESCRIPTION "A library for dealing with a wide variety of archive file formats"
0073                        PURPOSE "Required for among others tar, tar.gz, tar.bz2 formats in Ark.")
0074 
0075 find_package(LibZip 1.3.0)
0076 set_package_properties(LibZip PROPERTIES
0077                        URL "https://nih.at/libzip/"
0078                        DESCRIPTION "A library for handling zip archives"
0079                        PURPOSE "Optional for zip archives.")
0080 # To remove once we can depend on LibZip 1.6+
0081 if ("${LibZip_VERSION}" VERSION_GREATER_EQUAL 1.6)
0082     set(LIBZIP_CANCELATION 1)
0083 endif()
0084 configure_file(config.h.in config.h)
0085 
0086 option(WITH_TEST_COVERAGE "Build with test coverage support" OFF)
0087 if (WITH_TEST_COVERAGE)
0088     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
0089     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
0090     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
0091 endif (WITH_TEST_COVERAGE)
0092 
0093 set(SUPPORTED_ARK_MIMETYPES "")
0094 
0095 add_definitions(-DTRANSLATION_DOMAIN="ark")
0096 
0097 ecm_set_disabled_deprecation_versions(QT 5.15.2
0098     KF 5.101
0099 )
0100 
0101 
0102 add_subdirectory(plugins)
0103 add_subdirectory(kerfuffle)
0104 add_subdirectory(part)
0105 add_subdirectory(app)
0106 add_subdirectory(doc)
0107 
0108 if(BUILD_TESTING)
0109     add_subdirectory(autotests)
0110 endif()
0111 
0112 ki18n_install(po)
0113 kdoctools_install(po)
0114 
0115 ecm_qt_install_logging_categories(EXPORT ARK FILE ark.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
0116 
0117 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
0118 
0119 # add clang-format target for all our real source files
0120 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0121 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0122 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)