Clean up the CMake files (and a couple of other bits)

src/imageformats/CMakeLists.txt is now much clearer and more consistent.

Also, removed an unnecessary/unimplemented method from exr.cpp.

REVIEW: 115120
This commit is contained in:
Alex Merry 2014-01-19 12:14:41 +00:00
parent cd4a2de0c1
commit 0ee3ffb368
7 changed files with 108 additions and 139 deletions

View File

@ -4,7 +4,6 @@ project(KImageFormats)
find_package(ECM 0.0.9 REQUIRED NO_MODULE)
# Add our own CMake dir for FindOpenEXR.cmake
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(KDEInstallDirs)

View File

@ -89,7 +89,7 @@ set(OpenEXR_INCLUDE_DIRS ${OpenEXR_INCLUDE_DIR})
include(FeatureSummary)
set_package_properties(OpenEXR PROPERTIES
URL http://www.openexr.com/
DESCRIPTION "A library for reading and writing OpenEXR high dynamic-range image files")
DESCRIPTION "A library for handling OpenEXR high dynamic-range image files")
mark_as_advanced(
OpenEXR_INCLUDE_DIR

View File

@ -1,161 +1,139 @@
# NB: the desktop files are installed for the benefit of KImageIO in KDE4Support.
find_package(Jasper)
set_package_properties(Jasper PROPERTIES DESCRIPTION "Support for JPEG-2000 images"
URL "http://www.ece.uvic.ca/~mdadams/jasper"
TYPE OPTIONAL
)
find_package(OpenEXR)
set_package_properties(OpenEXR PROPERTIES
TYPE OPTIONAL
PURPOSE "QImage plugin for OpenEXR images"
)
# Required for OpenEXR
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE_ENABLE_EXCEPTIONS}")
configure_file(config-kimgio.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kimgio.h )
check_include_files(sys/types.h HAVE_SYS_TYPES_H)
check_include_files(stdint.h HAVE_STDINT_H)
##################################
if(JASPER_FOUND)
add_library(kimg_dds MODULE dds.cpp)
target_link_libraries(kimg_dds Qt5::Gui)
include_directories( ${JASPER_INCLUDE_DIR} )
set(kimg_jp2_LIB_SRCS jp2.cpp)
add_library(kimg_jp2 MODULE ${kimg_jp2_LIB_SRCS})
set_target_properties(kimg_jp2 PROPERTIES PREFIX "")
target_link_libraries(kimg_jp2 Qt5::Gui ${JASPER_LIBRARIES} )
install(TARGETS kimg_jp2 DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES jp2.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
endif()
install(TARGETS kimg_dds DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES dds.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
# EPS support depends on the gs utility; non-UNIX systems are unlikely to have
# this available in PATH
if (UNIX)
find_package(Qt5PrintSupport 5.2.0 NO_MODULE)
set_package_properties(Qt5PrintSupport PROPERTIES
DESCRIPTION "Support for Qt printing, necessary for the EPS format"
TYPE OPTIONAL
)
find_package(Qt5PrintSupport 5.2.0 NO_MODULE)
set_package_properties(Qt5PrintSupport PROPERTIES
PURPOSE "Required for the QImage plugin for EPS images"
TYPE OPTIONAL
)
if (Qt5PrintSupport_FOUND)
set(kimg_eps_LIB_SRCS eps.cpp)
add_library(kimg_eps MODULE ${kimg_eps_LIB_SRCS})
set_target_properties(kimg_eps PROPERTIES PREFIX "")
target_link_libraries(kimg_eps Qt5::Gui Qt5::PrintSupport)
if (Qt5PrintSupport_FOUND)
add_library(kimg_eps MODULE eps.cpp)
target_link_libraries(kimg_eps Qt5::Gui Qt5::PrintSupport)
install(TARGETS kimg_eps DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES eps.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif()
install(TARGETS kimg_eps DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES eps.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif()
endif()
##################################
set(kimg_pcx_LIB_SRCS pcx.cpp)
add_library(kimg_pcx MODULE ${kimg_pcx_LIB_SRCS})
set_target_properties(kimg_pcx PROPERTIES PREFIX "")
target_link_libraries(kimg_pcx Qt5::Gui)
find_package(Jasper)
set_package_properties(Jasper PROPERTIES
DESCRIPTION "A library for handling JPEG-2000 images"
PURPOSE "Required for the QImage plugin for JPEG-2000 images"
URL "http://www.ece.uvic.ca/~mdadams/jasper"
TYPE OPTIONAL
)
install(TARGETS kimg_pcx DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES pcx.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
check_include_files(sys/types.h HAVE_SYS_TYPES_H)
check_include_files(stdint.h HAVE_STDINT_H)
configure_file(config-jp2.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-jp2.h)
if(JASPER_FOUND)
add_library(kimg_jp2 MODULE jp2.cpp)
target_compile_options(kimg_jp2 PRIVATE ${JASPER_DEFINITIONS})
target_include_directories(kimg_jp2 PRIVATE ${JASPER_INCLUDE_DIR})
target_link_libraries(kimg_jp2 Qt5::Gui ${JASPER_LIBRARIES})
install(TARGETS kimg_jp2 DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES jp2.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif()
##################################
set(kimg_tga_LIB_SRCS tga.cpp)
add_library(kimg_tga MODULE ${kimg_tga_LIB_SRCS})
set_target_properties(kimg_tga PROPERTIES PREFIX "")
target_link_libraries(kimg_tga Qt5::Gui)
install(TARGETS kimg_tga DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES tga.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_ras_LIB_SRCS ras.cpp)
add_library(kimg_ras MODULE ${kimg_ras_LIB_SRCS})
set_target_properties(kimg_ras PROPERTIES PREFIX "")
target_link_libraries(kimg_ras Qt5::Gui)
install(TARGETS kimg_ras DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES ras.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_rgb_LIB_SRCS rgb.cpp)
add_library(kimg_rgb MODULE ${kimg_rgb_LIB_SRCS})
set_target_properties(kimg_rgb PROPERTIES PREFIX "")
target_link_libraries(kimg_rgb Qt5::Gui)
install(TARGETS kimg_rgb DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES rgb.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_xcf_LIB_SRCS xcf.cpp)
add_library(kimg_xcf MODULE ${kimg_xcf_LIB_SRCS})
set_target_properties(kimg_xcf PROPERTIES PREFIX "")
target_link_libraries(kimg_xcf Qt5::Gui)
install(TARGETS kimg_xcf DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES xcf.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_dds_LIB_SRCS dds.cpp)
add_library(kimg_dds MODULE ${kimg_dds_LIB_SRCS})
set_target_properties(kimg_dds PROPERTIES PREFIX "")
target_link_libraries(kimg_dds Qt5::Gui)
install(TARGETS kimg_dds DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES dds.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_psd_LIB_SRCS psd.cpp)
add_library(kimg_psd MODULE ${kimg_psd_LIB_SRCS})
set_target_properties(kimg_psd PROPERTIES PREFIX "")
target_link_libraries(kimg_psd Qt5::Gui)
install(TARGETS kimg_psd DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES psd.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
set(kimg_xview_LIB_SRCS xview.cpp)
add_library(kimg_xview MODULE ${kimg_xview_LIB_SRCS})
set_target_properties(kimg_xview PROPERTIES PREFIX "")
target_link_libraries(kimg_xview Qt5::Gui)
install(TARGETS kimg_xview DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES xv.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
##################################
find_package(OpenEXR)
set_package_properties(OpenEXR PROPERTIES
TYPE OPTIONAL
PURPOSE "Required for the QImage plugin for OpenEXR images"
)
if(OpenEXR_FOUND)
include_directories(${OpenEXR_INCLUDE_DIR})
add_definitions(${OpenEXR_DEFINITIONS})
set(kimg_exr_LIB_SRCS exr.cpp)
add_library(kimg_exr MODULE ${kimg_exr_LIB_SRCS})
set_target_properties(kimg_exr PROPERTIES PREFIX "")
add_library(kimg_exr MODULE exr.cpp)
target_compile_options(kimg_exr PRIVATE ${OpenEXR_DEFINITIONS})
target_include_directories(kimg_exr PRIVATE ${OpenEXR_INCLUDE_DIR})
target_link_libraries(kimg_exr Qt5::Gui ${OpenEXR_LIBRARIES})
install(TARGETS kimg_exr DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES exr.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
install(TARGETS kimg_exr DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES exr.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif()
##################################
set(kimg_pic_LIB_SRCS pic_read.cpp pic_write.cpp pic.cpp)
add_library(kimg_pic MODULE ${kimg_pic_LIB_SRCS})
set_target_properties(kimg_pic PROPERTIES PREFIX "")
add_library(kimg_pcx MODULE pcx.cpp)
target_link_libraries(kimg_pcx Qt5::Gui)
install(TARGETS kimg_pcx DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES pcx.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_pic MODULE pic_read.cpp pic_write.cpp pic.cpp)
target_link_libraries(kimg_pic Qt5::Gui)
install(TARGETS kimg_pic DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ )
install(FILES pic.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ )
install(TARGETS kimg_pic DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES pic.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_psd MODULE psd.cpp)
target_link_libraries(kimg_psd Qt5::Gui)
install(TARGETS kimg_psd DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES psd.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_ras MODULE ras.cpp)
target_link_libraries(kimg_ras Qt5::Gui)
install(TARGETS kimg_ras DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES ras.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_rgb MODULE rgb.cpp)
target_link_libraries(kimg_rgb Qt5::Gui)
install(TARGETS kimg_rgb DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES rgb.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_tga MODULE tga.cpp)
target_link_libraries(kimg_tga Qt5::Gui)
install(TARGETS kimg_tga DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES tga.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_xcf MODULE xcf.cpp)
target_link_libraries(kimg_xcf Qt5::Gui)
install(TARGETS kimg_xcf DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES xcf.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
##################################
add_library(kimg_xview MODULE xview.cpp)
target_link_libraries(kimg_xview Qt5::Gui)
install(TARGETS kimg_xview DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES xv.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)

View File

@ -200,13 +200,6 @@ bool EXRHandler::read(QImage *outImage)
}
}
bool EXRHandler::write(const QImage &image)
{
// TODO: stub
Q_UNUSED(image);
return false;
}
bool EXRHandler::canRead(QIODevice *device)
{
if (!device) {

View File

@ -20,7 +20,6 @@ public:
virtual bool canRead() const;
virtual bool read(QImage *outImage);
virtual bool write(const QImage &image);
static bool canRead(QIODevice *device);
};

View File

@ -7,7 +7,7 @@
#include "jp2.h"
#include <config-kimgio.h>
#include <config-jp2.h>
#if HAVE_SYS_TYPES_H
#include <sys/types.h>