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)