Project

General

Profile

Feature #440 ยป convenience-libs.patch

Uli Schlachter, 2012-08-23 15:43

View differences:

CMake/dcmtkMacros.cmake
SET_TARGET_PROPERTIES(${LIBRARY} PROPERTIES COMPILE_DEFINITIONS "${LIBRARY}_EXPORTS")
ENDIF(BUILD_SHARED_LIBS)
ENDMACRO(DCMTK_SETUP_LIBRARY)
#
# Setup a convenience library
#
# DCMTK_SETUP_LIBRARY - macro which adds the needed setup for a library
# LIBRARY - name of the library that we are called for
# extra arguments - source files to link into the library
#
MACRO(DCMTK_ADD_CONVENIENCE_LIBRARY LIBRARY)
ADD_LIBRARY(${LIBRARY} STATIC ${ARGN})
DCMTK_SETUP_LIBRARY(${LIBRARY})
# When building statically, convenience libraries get installed normally.
# When building dynamically, these libs don't need to be installed, because
# they already were linked into all libs that need them. Users don't need to
# interact with these libraries at all.
IF(NOT BUILD_SHARED_LIBS)
INSTALL(TARGETS ${LIBRARY}
COMPONENT lib
RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
ENDIF(NOT BUILD_SHARED_LIBS)
ENDMACRO(DCMTK_SETUP_LIBRARY)
dcmjpeg/libijg12/CMakeLists.txt
# create library from source files
ADD_LIBRARY(ijg12 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
DCMTK_SETUP_LIBRARY(ijg12)
# declare installation files
INSTALL(TARGETS ijg12
COMPONENT lib
RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
DCMTK_ADD_CONVENIENCE_LIBRARY(ijg12 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
dcmjpeg/libijg12/jmorecfg12.h
*/
#include "dcmtk/ofstd/ofexport.h" /* for DCMTK_DECL_EXPORT */
#ifdef ijg12_EXPORTS
#define DCMTK_IJG12_EXPORT DCMTK_DECL_EXPORT
#else
#define DCMTK_IJG12_EXPORT DCMTK_DECL_IMPORT
#endif
/*
* Define BITS_IN_JSAMPLE as either
* 8 for 8-bit sample values (the usual setting)
......
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
#define EXTERN(type) extern DCMTK_IJG12_EXPORT type
#define EXTERN(type) extern type
/* This macro is used to declare a "method", that is, a function pointer.
dcmjpeg/libijg16/CMakeLists.txt
# create library from source files
ADD_LIBRARY(ijg16 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
DCMTK_SETUP_LIBRARY(ijg16)
# declare installation files
INSTALL(TARGETS ijg16
COMPONENT lib
RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
DCMTK_ADD_CONVENIENCE_LIBRARY(ijg16 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
dcmjpeg/libijg16/jmorecfg16.h
*/
#include "dcmtk/ofstd/ofexport.h" /* for DCMTK_DECL_EXPORT */
#ifdef ijg16_EXPORTS
#define DCMTK_IJG16_EXPORT DCMTK_DECL_EXPORT
#else
#define DCMTK_IJG16_EXPORT DCMTK_DECL_IMPORT
#endif
/*
* Define BITS_IN_JSAMPLE as either
* 8 for 8-bit sample values (the usual setting)
......
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
#define EXTERN(type) extern DCMTK_IJG16_EXPORT type
#define EXTERN(type) extern type
/* This macro is used to declare a "method", that is, a function pointer.
dcmjpeg/libijg8/CMakeLists.txt
# create library from source files
ADD_LIBRARY(ijg8 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
DCMTK_SETUP_LIBRARY(ijg8)
# declare installation files
INSTALL(TARGETS ijg8
COMPONENT lib
RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
DCMTK_ADD_CONVENIENCE_LIBRARY(ijg8 jaricom jcapimin jcapistd jcarith jccoefct jccolor jcdctmgr jcdiffct jchuff jcinit jclhuff jclossls jclossy jcmainct jcmarker jcmaster jcodec jcomapi jcparam jcphuff jcpred jcprepct jcsample jcscale jcshuff jctrans jdapimin jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor jddctmgr jddiffct jdhuff jdinput jdlhuff jdlossls jdlossy jdmainct jdmarker jdmaster jdmerge jdphuff jdpostct jdpred jdsample jdscale jdshuff jdtrans jerror jfdctflt jfdctfst jfdctint jidctflt jidctfst jidctint jidctred jmemmgr jmemnobs jquant1 jquant2 jutils)
dcmjpeg/libijg8/jmorecfg8.h
*/
#include "dcmtk/ofstd/ofexport.h" /* for DCMTK_DECL_EXPORT */
#ifdef ijg8_EXPORTS
#define DCMTK_IJG8_EXPORT DCMTK_DECL_EXPORT
#else
#define DCMTK_IJG8_EXPORT DCMTK_DECL_IMPORT
#endif
/*
* Define BITS_IN_JSAMPLE as either
* 8 for 8-bit sample values (the usual setting)
......
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
#define EXTERN(type) extern DCMTK_IJG8_EXPORT type
#define EXTERN(type) extern type
/* This macro is used to declare a "method", that is, a function pointer.
dcmjpls/libcharls/CMakeLists.txt
INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/libcharls ${ofstd_SOURCE_DIR}/include)
# create library from source files
ADD_LIBRARY(charls header intrface jpegls)
DCMTK_SETUP_LIBRARY(charls)
# declare installation files
INSTALL(TARGETS charls
COMPONENT lib
RUNTIME DESTINATION ${DCMTK_INSTALL_BINDIR}
LIBRARY DESTINATION ${DCMTK_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${DCMTK_INSTALL_LIBDIR})
DCMTK_ADD_CONVENIENCE_LIBRARY(charls header intrface jpegls)
dcmjpls/libcharls/intrface.h
#include "pubtypes.h"
#include "dcmtk/ofstd/ofstd.h" /* for size_t */
#include "dcmtk/ofstd/ofdefine.h" /* for DCMTK_DECL_EXPORT */
#ifdef charls_EXPORTS
#define DCMTK_CHARLS_EXPORT DCMTK_DECL_EXPORT
#else
#define DCMTK_CHARLS_EXPORT DCMTK_DECL_IMPORT
#endif
#ifndef CHARLS_IMEXPORT
#define CHARLS_IMEXPORT(returntype) DCMTK_CHARLS_EXPORT returntype
#define CHARLS_IMEXPORT(returntype) returntype
#endif
    (1-1/1)