X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=9e7065a497aad21c277684d22ed4d50ebc38b032;hb=80075429b6ab9db9e885b9bb9ae1427530c7bef8;hp=428c38986e10631ebc319012f52ca336748874d9;hpb=d660de8252252f981699115eac611a8ec0b3ad5f;p=gdcm.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 428c3898..9e7065a4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,42 +2,41 @@ # Rebuild gdcm whenever a file starting with gdcm* is modified INCLUDE_REGULAR_EXPRESSION("^gdcm.*$") -# Build jpeg lib first: -IF (WIN32) - IF (BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DJPEGDLL) - ELSE (BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DJPEGSTATIC) - ENDIF (BUILD_SHARED_LIBS) -ENDIF (WIN32) +SET(GDCM_LIBRARIES gdcm CACHE INTERNAL "libraries for GDCM") + +SET(OPJ_PREFIX gdcm) SUBDIRS( gdcmjpeg #gdcmmpeg2 - gdcmjasper #gdcmjpegls + gdcmopenjpeg ) # "jpeglib.h" is defined here: INCLUDE_DIRECTORIES( ${GDCM_SOURCE_DIR}/src ${GDCM_SOURCE_DIR}/src/gdcmmpeg2/src/mpeg2dec - ${GDCM_BINARY_DIR}/ #for gdcmConfigure.h + ${GDCM_BINARY_DIR} #for gdcmConfigure.h ${GDCM_BINARY_DIR}/src #for gdcmjpeg 8, 12 and 16 - ${GDCM_BINARY_DIR}/src/gdcmjasper/src/libjasper/include - ${GDCM_SOURCE_DIR}/src/gdcmjasper/src/libjasper/include + ${GDCM_SOURCE_DIR}/src/gdcmopenjpeg/libopenjpeg ) -SET(libgdcm_la_SOURCES +SET(GDCM_SOURCES + gdcmArgMgr.cxx gdcmBase.cxx - gdcmBinEntry.cxx - gdcmContentEntry.cxx + gdcmCallbackCommand.cxx + gdcmCommand.cxx + gdcmCommandManager.cxx + gdcmDataEntry.cxx gdcmDebug.cxx gdcmDicomDir.cxx gdcmDicomDirElement.cxx gdcmDicomDirImage.cxx + gdcmDicomDirPrivate.cxx gdcmDicomDirMeta.cxx gdcmDicomDirObject.cxx gdcmDicomDirPatient.cxx + gdcmDicomDirVisit.cxx gdcmDicomDirSerie.cxx gdcmDicomDirStudy.cxx gdcmDict.cxx @@ -51,18 +50,20 @@ SET(libgdcm_la_SOURCES gdcmDocument.cxx gdcmElementSet.cxx gdcmException.cxx + gdcmFile.cxx gdcmFileHelper.cxx gdcmGlobal.cxx - gdcmFile.cxx gdcmJPEGFragment.cxx gdcmJPEGFragmentsInfo.cxx gdcmJpeg8.cxx gdcmJpeg12.cxx gdcmJpeg16.cxx gdcmJpeg2000.cxx - # gdcmMpeg.cxx + #gdcmMpeg.cxx + gdcmOrientation.cxx gdcmPixelReadConvert.cxx gdcmPixelWriteConvert.cxx + gdcmRefCounter.cxx gdcmRLEFrame.cxx gdcmRLEFramesInfo.cxx gdcmSeqEntry.cxx @@ -70,19 +71,26 @@ SET(libgdcm_la_SOURCES gdcmSQItem.cxx gdcmTS.cxx gdcmUtil.cxx - gdcmValEntry.cxx + gdcmValidator.cxx gdcmVR.cxx - gdcmArgMgr.cxx ${GDCM_BINARY_DIR}/src/gdcmDefaultDicts.cxx ) -ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} ) +# Since OpenJPEG does not used configured headers we have to +# do the -D alternative +IF(NOT BUILD_SHARED_LIBS) + SET_SOURCE_FILES_PROPERTIES( + ${GDCM_SOURCE_DIR}/src/gdcmJpeg2000.cxx + COMPILE_FLAGS -DOPJ_STATIC) +ENDIF(NOT BUILD_SHARED_LIBS) + +ADD_LIBRARY(gdcm ${GDCM_SOURCES}) TARGET_LINK_LIBRARIES(gdcm gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 - # gdcmmpeg2 - gdcmjasper + #gdcmmpeg2 + gdcmopenjpeg ) IF(WIN32) IF(NOT BORLAND) @@ -96,5 +104,18 @@ IF(CMAKE_SYSTEM MATCHES "SunOS.*") TARGET_LINK_LIBRARIES(gdcm socket nsl) ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*") -INSTALL_FILES(/include/gdcm "\\.h$") -INSTALL_TARGETS(/lib/gdcm/ gdcm) +IF(NOT GDCM_INSTALL_NO_DEVELOPMENT) + # Install header file used to construct the lib + #INSTALL_FILES( + # ${GDCM_INSTALL_INCLUDE_DIR} .h ${GDCM_SOURCES}) + INSTALL_FILES(${GDCM_INSTALL_INCLUDE_DIR} "\\.h$") +ENDIF(NOT GDCM_INSTALL_NO_DEVELOPMENT) + +IF(NOT GDCM_INSTALL_NO_LIBRARIES) + #Install the target itself + INSTALL_TARGETS( + ${GDCM_INSTALL_LIB_DIR} + RUNTIME_DIRECTORY ${GDCM_INSTALL_BIN_DIR} + ${GDCM_LIBRARIES}) +ENDIF(NOT GDCM_INSTALL_NO_LIBRARIES) +