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.106.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)
0055 set_package_properties(libavif PROPERTIES
0056     TYPE OPTIONAL
0057     PURPOSE "Required for the QImage plugin for AVIF images"
0058 )
0059 
0060 option(KIMAGEFORMATS_HEIF "Enable plugin for HEIF format" OFF)
0061 if(KIMAGEFORMATS_HEIF)
0062     pkg_check_modules(LibHeif IMPORTED_TARGET libheif>=1.10.0)
0063 endif()
0064 add_feature_info(LibHeif LibHeif_FOUND "required for the QImage plugin for HEIF/HEIC images")
0065 
0066 option(KIMAGEFORMATS_JXL "Enable plugin for JPEG XL format" ON)
0067 if(KIMAGEFORMATS_JXL)
0068     pkg_check_modules(LibJXL IMPORTED_TARGET libjxl>=0.6.1)
0069     pkg_check_modules(LibJXLThreads IMPORTED_TARGET libjxl_threads>=0.6.1)
0070 endif()
0071 add_feature_info(LibJXL LibJXL_FOUND "required for the QImage plugin for JPEG XL images")
0072 
0073 # note: module FindLibRaw missing from https://invent.kde.org/frameworks/extra-cmake-modules
0074 find_package(LibRaw 0.20.2)
0075 set_package_properties(LibRaw PROPERTIES
0076     TYPE OPTIONAL
0077     PURPOSE "Required for the QImage plugin for RAW images"
0078 )
0079 
0080 ecm_set_disabled_deprecation_versions(
0081     QT 5.15.2
0082     KF 5.95
0083 )
0084 
0085 add_subdirectory(src)
0086 if (BUILD_TESTING)
0087     add_subdirectory(autotests)
0088     add_subdirectory(tests)
0089 endif()
0090 
0091 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0092 
0093 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)