mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-06-03 17:08:08 -04:00
Set LIBRARY_OUTPUT_DIRECTORY so the autotests can run without the plugins installed
Do this properly by defining a function (inspired by kcoreaddons_add_plugin)
This commit is contained in:
parent
7f2c44add4
commit
04e2ee01cb
@ -2,107 +2,101 @@
|
|||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
|
function(kimageformats_add_plugin plugin)
|
||||||
|
set(options)
|
||||||
|
set(oneValueArgs JSON)
|
||||||
|
set(multiValueArgs SOURCES)
|
||||||
|
cmake_parse_arguments(KIF_ADD_PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
if(NOT KIF_ADD_PLUGIN_SOURCES)
|
||||||
|
message(FATAL_ERROR "kimageformats_add_plugin called without SOURCES parameter")
|
||||||
|
endif()
|
||||||
|
get_filename_component(json "${KIF_ADD_PLUGIN_JSON}" REALPATH)
|
||||||
|
if(NOT KIF_ADD_PLUGIN_JSON OR NOT EXISTS ${json})
|
||||||
|
message(FATAL_ERROR "JSON file doesn't exist: ${json}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_property(SOURCE ${KIF_ADD_PLUGIN_SOURCES} APPEND PROPERTY OBJECT_DEPENDS ${json})
|
||||||
|
add_library(${plugin} MODULE ${KIF_ADD_PLUGIN_SOURCES})
|
||||||
|
set_property(TARGET ${plugin} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${json})
|
||||||
|
set_target_properties(${plugin} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/imageformats")
|
||||||
|
target_link_libraries(${plugin} Qt5::Gui)
|
||||||
|
install(TARGETS ${plugin} DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
##################################
|
||||||
|
|
||||||
install(FILES dds-qt.desktop RENAME dds.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES dds-qt.desktop RENAME dds.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
if (BUILD_EPS_PLUGIN)
|
if (BUILD_EPS_PLUGIN)
|
||||||
if (Qt5PrintSupport_FOUND)
|
if (Qt5PrintSupport_FOUND)
|
||||||
add_library(kimg_eps MODULE eps.cpp)
|
kimageformats_add_plugin(kimg_eps JSON "eps.json" SOURCES eps.cpp)
|
||||||
target_link_libraries(kimg_eps Qt5::Gui Qt5::PrintSupport)
|
target_link_libraries(kimg_eps Qt5::PrintSupport)
|
||||||
|
|
||||||
install(TARGETS kimg_eps DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES eps.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES eps.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
|
|
||||||
# need this for Qt's version of the plugin
|
# need this for Qt's version of the plugin
|
||||||
install(FILES jp2.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES jp2.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
if(OpenEXR_FOUND)
|
if(OpenEXR_FOUND)
|
||||||
add_library(kimg_exr MODULE exr.cpp)
|
kimageformats_add_plugin(kimg_exr JSON "exr.json" SOURCES exr.cpp)
|
||||||
target_link_libraries(kimg_exr Qt5::Gui OpenEXR::IlmImf)
|
target_link_libraries(kimg_exr OpenEXR::IlmImf)
|
||||||
kde_target_enable_exceptions(kimg_exr PRIVATE)
|
kde_target_enable_exceptions(kimg_exr PRIVATE)
|
||||||
|
|
||||||
install(TARGETS kimg_exr DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES exr.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES exr.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_pcx MODULE pcx.cpp)
|
kimageformats_add_plugin(kimg_pcx JSON "pcx.json" SOURCES pcx.cpp)
|
||||||
target_link_libraries(kimg_pcx Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_pcx DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES pcx.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES pcx.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_pic MODULE pic.cpp)
|
kimageformats_add_plugin(kimg_pic JSON "pic.json" SOURCES pic.cpp)
|
||||||
target_link_libraries(kimg_pic Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_pic DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES pic.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES pic.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_psd MODULE psd.cpp)
|
kimageformats_add_plugin(kimg_psd JSON "psd.json" SOURCES psd.cpp)
|
||||||
target_link_libraries(kimg_psd Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_psd DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES psd.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES psd.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_ras MODULE ras.cpp)
|
kimageformats_add_plugin(kimg_ras JSON "ras.json" SOURCES ras.cpp)
|
||||||
target_link_libraries(kimg_ras Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_ras DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES ras.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES ras.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_rgb MODULE rgb.cpp)
|
kimageformats_add_plugin(kimg_rgb JSON "rgb.json" SOURCES rgb.cpp)
|
||||||
target_link_libraries(kimg_rgb Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_rgb DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES rgb.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES rgb.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_tga MODULE tga.cpp)
|
kimageformats_add_plugin(kimg_tga JSON "tga.json" SOURCES tga.cpp)
|
||||||
target_link_libraries(kimg_tga Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_tga DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES tga.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES tga.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
add_library(kimg_xcf MODULE xcf.cpp)
|
kimageformats_add_plugin(kimg_xcf JSON "xcf.json" SOURCES xcf.cpp)
|
||||||
target_link_libraries(kimg_xcf Qt5::Gui)
|
|
||||||
|
|
||||||
install(TARGETS kimg_xcf DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES xcf.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES xcf.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
if (KF5Archive_FOUND)
|
if (KF5Archive_FOUND)
|
||||||
|
|
||||||
add_library(kimg_kra MODULE kra.cpp)
|
kimageformats_add_plugin(kimg_kra JSON "kra.json" SOURCES kra.cpp)
|
||||||
target_link_libraries(kimg_kra Qt5::Gui KF5::Archive)
|
target_link_libraries(kimg_kra KF5::Archive)
|
||||||
|
|
||||||
install(TARGETS kimg_kra DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES kra.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES kra.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
add_library(kimg_ora MODULE ora.cpp)
|
kimageformats_add_plugin(kimg_ora JSON "ora.json" SOURCES ora.cpp)
|
||||||
target_link_libraries(kimg_ora Qt5::Gui KF5::Archive)
|
target_link_libraries(kimg_ora KF5::Archive)
|
||||||
|
|
||||||
install(TARGETS kimg_ora DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/)
|
|
||||||
install(FILES ora.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
install(FILES ora.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user