Warning, /frameworks/kimageformats/src/imageformats/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # NB: the desktop files are installed for the benefit of KImageIO in KDELibs4Support.
0002 
0003 ##################################
0004 
0005 function(kimageformats_add_plugin plugin)
0006     set(options)
0007     set(oneValueArgs)
0008     set(multiValueArgs SOURCES)
0009     cmake_parse_arguments(KIF_ADD_PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
0010     if(NOT KIF_ADD_PLUGIN_SOURCES)
0011         message(FATAL_ERROR "kimageformats_add_plugin called without SOURCES parameter")
0012     endif()
0013 
0014     qt_add_plugin(${plugin} PLUGIN_TYPE imageformats)
0015     target_sources(${plugin} PRIVATE ${KIF_ADD_PLUGIN_SOURCES})
0016     set_target_properties(${plugin} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/imageformats)
0017     target_link_libraries(${plugin} PRIVATE Qt6::Gui)
0018     install(TARGETS ${plugin} DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats)
0019 endfunction()
0020 
0021 ##################################
0022 
0023 kimageformats_add_plugin(kimg_ani SOURCES ani.cpp)
0024 
0025 ##################################
0026 
0027 if (TARGET avif)
0028     kimageformats_add_plugin(kimg_avif SOURCES "avif.cpp")
0029     target_link_libraries(kimg_avif PRIVATE "avif")
0030 endif()
0031 
0032 ##################################
0033 
0034 if (BUILD_EPS_PLUGIN)
0035     if (TARGET Qt6::PrintSupport)
0036         kimageformats_add_plugin(kimg_eps SOURCES eps.cpp)
0037         target_link_libraries(kimg_eps PRIVATE Qt6::PrintSupport)
0038     endif()
0039 endif()
0040 
0041 ##################################
0042 
0043 if(OpenEXR_FOUND)
0044     kimageformats_add_plugin(kimg_exr SOURCES exr.cpp scanlineconverter.cpp)
0045     if(TARGET OpenEXR::OpenEXR)
0046         target_link_libraries(kimg_exr PRIVATE OpenEXR::OpenEXR)
0047     else()
0048         if(OpenEXR_VERSION_STRING VERSION_LESS 2.3.0)
0049             # Older OpenEXR versions use dynamic exception specifications, so
0050             # cannot use C++17 with them
0051             set_target_properties(kimg_exr PROPERTIES CXX_STANDARD 14)
0052         endif()
0053         target_link_libraries(kimg_exr PRIVATE OpenEXR::IlmImf)
0054     endif()
0055     kde_target_enable_exceptions(kimg_exr PRIVATE)
0056 endif()
0057 
0058 ##################################
0059 
0060 kimageformats_add_plugin(kimg_hdr SOURCES hdr.cpp)
0061 
0062 ##################################
0063 
0064 if (LibHeif_FOUND)
0065     kimageformats_add_plugin(kimg_heif SOURCES heif.cpp)
0066     target_link_libraries(kimg_heif PRIVATE PkgConfig::LibHeif)
0067 endif()
0068 
0069 ##################################
0070 
0071 if (LibJXL_FOUND AND LibJXLThreads_FOUND)
0072     kimageformats_add_plugin(kimg_jxl SOURCES jxl.cpp)
0073     target_link_libraries(kimg_jxl PRIVATE PkgConfig::LibJXL PkgConfig::LibJXLThreads)
0074 endif()
0075 
0076 ##################################
0077 
0078 kimageformats_add_plugin(kimg_pcx SOURCES pcx.cpp)
0079 
0080 ##################################
0081 
0082 kimageformats_add_plugin(kimg_pic SOURCES pic.cpp)
0083 
0084 ##################################
0085 
0086 kimageformats_add_plugin(kimg_psd SOURCES psd.cpp)
0087 
0088 ##################################
0089 
0090 kimageformats_add_plugin(kimg_qoi SOURCES qoi.cpp scanlineconverter.cpp)
0091 
0092 ##################################
0093 
0094 kimageformats_add_plugin(kimg_ras SOURCES ras.cpp)
0095 
0096 ##################################
0097 
0098 kimageformats_add_plugin(kimg_rgb SOURCES rgb.cpp)
0099 
0100 ##################################
0101 
0102 kimageformats_add_plugin(kimg_tga SOURCES tga.cpp)
0103 
0104 ##################################
0105 
0106 kimageformats_add_plugin(kimg_xcf SOURCES xcf.cpp)
0107 
0108 ##################################
0109 
0110 if (LibRaw_FOUND)
0111     kimageformats_add_plugin(kimg_raw SOURCES raw.cpp)
0112     kde_enable_exceptions()
0113     target_link_libraries(kimg_raw PRIVATE LibRaw::LibRaw)
0114 endif()
0115 
0116 ##################################
0117 
0118 if (KF6Archive_FOUND)
0119 
0120     kimageformats_add_plugin(kimg_kra SOURCES kra.cpp)
0121     target_link_libraries(kimg_kra PRIVATE KF6::Archive)
0122 
0123     kimageformats_add_plugin(kimg_ora SOURCES ora.cpp)
0124     target_link_libraries(kimg_ora PRIVATE KF6::Archive)
0125 
0126 endif()