Warning, /frameworks/kimageformats/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16)
0002
0003 project(KImageFormats)
0004
0005 include(FeatureSummary)
0006 find_package(ECM 5.115.0 NO_MODULE)
0007 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
0008 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0009
0010
0011 set(CMAKE_MODULE_PATH ${KImageFormats_SOURCE_DIR}/cmake/find-modules ${ECM_MODULE_PATH})
0012
0013 include(KDEInstallDirs)
0014 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0015 include(KDECMakeSettings)
0016
0017 include(KDEGitCommitHooks)
0018 include(ECMDeprecationSettings)
0019 include(CheckIncludeFiles)
0020 include(FindPkgConfig)
0021
0022 set(REQUIRED_QT_VERSION 5.15.2)
0023 find_package(Qt${QT_MAJOR_VERSION}Gui ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
0024
0025 find_package(KF5Archive)
0026 set_package_properties(KF5Archive PROPERTIES
0027 TYPE OPTIONAL
0028 PURPOSE "Required for the QImage plugin for Krita and OpenRaster images"
0029 )
0030
0031 # EPS support depends on the gs utility; non-UNIX systems are unlikely to have
0032 # this available in PATH
0033 set(BUILD_EPS_PLUGIN FALSE)
0034 if (UNIX)
0035 find_package(Qt${QT_MAJOR_VERSION}PrintSupport ${REQUIRED_QT_VERSION} NO_MODULE)
0036 set_package_properties(Qt${QT_MAJOR_VERSION}PrintSupport PROPERTIES
0037 PURPOSE "Required for the QImage plugin for EPS images"
0038 TYPE OPTIONAL
0039 )
0040 if (TARGET Qt${QT_MAJOR_VERSION}::PrintSupport)
0041 set(BUILD_EPS_PLUGIN TRUE)
0042 endif()
0043 endif()
0044
0045 find_package(OpenEXR 3.0 CONFIG QUIET)
0046 if(NOT OpenEXR_FOUND)
0047 find_package(OpenEXR)
0048 endif()
0049 set_package_properties(OpenEXR PROPERTIES
0050 TYPE OPTIONAL
0051 PURPOSE "Required for the QImage plugin for OpenEXR images"
0052 )
0053
0054 find_package(libavif 0.8.2 CONFIG QUIET)
0055 if(NOT libavif_FOUND)
0056 find_package(libavif 1 CONFIG)
0057 endif()
0058 set_package_properties(libavif PROPERTIES
0059 TYPE OPTIONAL
0060 PURPOSE "Required for the QImage plugin for AVIF images"
0061 )
0062
0063 option(KIMAGEFORMATS_HEIF "Enable plugin for HEIF format" OFF)
0064 if(KIMAGEFORMATS_HEIF)
0065 pkg_check_modules(LibHeif IMPORTED_TARGET libheif>=1.10.0)
0066 endif()
0067 add_feature_info(LibHeif LibHeif_FOUND "required for the QImage plugin for HEIF/HEIC images")
0068
0069 option(KIMAGEFORMATS_JXL "Enable plugin for JPEG XL format" ON)
0070 if(KIMAGEFORMATS_JXL)
0071 pkg_check_modules(LibJXL IMPORTED_TARGET libjxl>=0.7.0)
0072 pkg_check_modules(LibJXLThreads IMPORTED_TARGET libjxl_threads>=0.7.0)
0073 endif()
0074 add_feature_info(LibJXL LibJXL_FOUND "required for the QImage plugin for JPEG XL images")
0075
0076 # note: module FindLibRaw missing from https://invent.kde.org/frameworks/extra-cmake-modules
0077 find_package(LibRaw 0.20.2)
0078 set_package_properties(LibRaw PROPERTIES
0079 TYPE OPTIONAL
0080 PURPOSE "Required for the QImage plugin for RAW images"
0081 )
0082
0083 ecm_set_disabled_deprecation_versions(
0084 QT 5.15.2
0085 KF 5.95
0086 )
0087
0088 add_subdirectory(src)
0089 if (BUILD_TESTING)
0090 add_subdirectory(autotests)
0091 add_subdirectory(tests)
0092 endif()
0093
0094 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0095
0096 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)