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) 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) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(KDEInstallDirs) include(KDEInstallDirs)

View File

@ -89,7 +89,7 @@ set(OpenEXR_INCLUDE_DIRS ${OpenEXR_INCLUDE_DIR})
include(FeatureSummary) include(FeatureSummary)
set_package_properties(OpenEXR PROPERTIES set_package_properties(OpenEXR PROPERTIES
URL http://www.openexr.com/ 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( mark_as_advanced(
OpenEXR_INCLUDE_DIR OpenEXR_INCLUDE_DIR

View File

@ -1,161 +1,139 @@
# NB: the desktop files are installed for the benefit of KImageIO in KDE4Support. # NB: the desktop files are installed for the benefit of KImageIO in KDE4Support.
find_package(Jasper) # Required for OpenEXR
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"
)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE_ENABLE_EXCEPTIONS}") 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} ) install(TARGETS kimg_dds DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
set(kimg_jp2_LIB_SRCS jp2.cpp) install(FILES dds.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
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()
################################## ##################################
# EPS support depends on the gs utility; non-UNIX systems are unlikely to have # EPS support depends on the gs utility; non-UNIX systems are unlikely to have
# this available in PATH # this available in PATH
if (UNIX) if (UNIX)
find_package(Qt5PrintSupport 5.2.0 NO_MODULE) find_package(Qt5PrintSupport 5.2.0 NO_MODULE)
set_package_properties(Qt5PrintSupport PROPERTIES set_package_properties(Qt5PrintSupport PROPERTIES
DESCRIPTION "Support for Qt printing, necessary for the EPS format" PURPOSE "Required for the QImage plugin for EPS images"
TYPE OPTIONAL TYPE OPTIONAL
) )
if (Qt5PrintSupport_FOUND) if (Qt5PrintSupport_FOUND)
set(kimg_eps_LIB_SRCS eps.cpp) add_library(kimg_eps MODULE eps.cpp)
add_library(kimg_eps MODULE ${kimg_eps_LIB_SRCS}) target_link_libraries(kimg_eps Qt5::Gui Qt5::PrintSupport)
set_target_properties(kimg_eps PROPERTIES PREFIX "")
target_link_libraries(kimg_eps Qt5::Gui Qt5::PrintSupport)
install(TARGETS kimg_eps DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/) install(TARGETS kimg_eps DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES eps.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/) install(FILES eps.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif() endif()
endif() endif()
################################## ##################################
set(kimg_pcx_LIB_SRCS pcx.cpp) find_package(Jasper)
add_library(kimg_pcx MODULE ${kimg_pcx_LIB_SRCS}) set_package_properties(Jasper PROPERTIES
set_target_properties(kimg_pcx PROPERTIES PREFIX "") DESCRIPTION "A library for handling JPEG-2000 images"
target_link_libraries(kimg_pcx Qt5::Gui) 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/ ) check_include_files(sys/types.h HAVE_SYS_TYPES_H)
install(FILES pcx.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ ) 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) find_package(OpenEXR)
add_library(kimg_tga MODULE ${kimg_tga_LIB_SRCS}) set_package_properties(OpenEXR PROPERTIES
set_target_properties(kimg_tga PROPERTIES PREFIX "") TYPE OPTIONAL
target_link_libraries(kimg_tga Qt5::Gui) PURPOSE "Required for the QImage plugin for OpenEXR images"
)
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/ )
##################################
if(OpenEXR_FOUND) if(OpenEXR_FOUND)
add_library(kimg_exr MODULE exr.cpp)
include_directories(${OpenEXR_INCLUDE_DIR}) target_compile_options(kimg_exr PRIVATE ${OpenEXR_DEFINITIONS})
add_definitions(${OpenEXR_DEFINITIONS}) target_include_directories(kimg_exr PRIVATE ${OpenEXR_INCLUDE_DIR})
set(kimg_exr_LIB_SRCS exr.cpp)
add_library(kimg_exr MODULE ${kimg_exr_LIB_SRCS})
set_target_properties(kimg_exr PROPERTIES PREFIX "")
target_link_libraries(kimg_exr Qt5::Gui ${OpenEXR_LIBRARIES}) target_link_libraries(kimg_exr Qt5::Gui ${OpenEXR_LIBRARIES})
install(TARGETS kimg_exr DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ ) install(TARGETS kimg_exr DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES exr.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ ) install(FILES exr.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/)
endif() endif()
################################## ##################################
set(kimg_pic_LIB_SRCS pic_read.cpp pic_write.cpp pic.cpp) add_library(kimg_pcx MODULE pcx.cpp)
add_library(kimg_pic MODULE ${kimg_pic_LIB_SRCS}) target_link_libraries(kimg_pcx Qt5::Gui)
set_target_properties(kimg_pic PROPERTIES PREFIX "")
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) target_link_libraries(kimg_pic Qt5::Gui)
install(TARGETS kimg_pic DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/ ) install(TARGETS kimg_pic DESTINATION ${QT_PLUGIN_INSTALL_DIR}/imageformats/)
install(FILES pic.desktop DESTINATION ${SERVICES_INSTALL_DIR}/qimageioplugins/ ) 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) bool EXRHandler::canRead(QIODevice *device)
{ {
if (!device) { if (!device) {

View File

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

View File

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