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)