X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=ef844c44e65c7553436cfa8385400fc3124c0824;hb=3a9e9df62b3198c4f93d1768074b6be828ac7308;hp=2fcf1d4b44740910ed1df259e76b8d677eedabcd;hpb=90b4a5fe21c1f56dcdb035ebf91b8601008da352;p=gdcm.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2fcf1d4b..ef844c44 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,65 +1,81 @@ -#----------------------------------------------------------------------------- -# Build jpeg lib first: -SUBDIRS(jpeg) - -INCLUDE_DIRECTORIES( - ${GDCM_SOURCE_DIR}/jpeg/ -) - -SET(libgdcm_la_SOURCES - gdcmException.cxx - gdcmUtil.cxx - gdcmHeader.cxx - gdcmHeaderHelper.cxx - gdcmElValue.cxx - gdcmDictEntry.cxx - gdcmDict.cxx - gdcmDictSet.cxx - gdcmElValSet.cxx - gdcmHeaderIdo.cxx - gdcmFile.cxx - gdcmVR.cxx - gdcmTS.cxx - gdcmJpeg.cxx - gdcmJpeg12.cxx - gdcmJpeg2000.cxx - gdcmRLE.cxx - gdcmParse.cxx - gdcmJpegIdo.cxx -) -#----------------------------------------------------------------------------- -# Why one should not use ADD_DEFINITIONS -# http://www.cmake.org/pipermail/cmake/2003-September/004286.html - -#----------------------------------------------------------------------------- -# __STDC_LIMIT_MACROS -> Refer to stdint.h -# http://www.cmake.org/pipermail/cmake/2003-October/004369.html -# http://www.cmake.org/pipermail/cmake/2003-October/004373.html - -SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES} - PROPERTIES - COMPILE_FLAGS "-D__STDC_LIMIT_MACROS -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\"" -) - -ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} ) -#TODO this is not working out of the box (on the first time) -IF(UNIX) - TARGET_LINK_LIBRARIES(gdcm - gdcmijpeg8 - gdcmijpeg12 - ) -ELSE(UNIX) - TARGET_LINK_LIBRARIES(gdcm - gdcmijpeg8 - gdcmijpeg12 - Wsock32.lib #doesn't exist on cygwin - ) -ENDIF(UNIX) - -#The following is not wroking because when a header file is not found it tries -#to find one in the binary dir -#INSTALL_FILES(/include .h ${libgdcm_la_SOURCES}) -#INSTALL_FILES(/include FILES gdcmIdo.h iddcmjpeg.h) -INSTALL_FILES(/include "\\.h$") - -INSTALL_TARGETS(/lib/ gdcm) \ No newline at end of file +#----------------------------------------------------------------------------- +# Rebuild gdcm whenever a file starting with gdcm* is modified +INCLUDE_REGULAR_EXPRESSION("^gdcm.*$") + +# Build jpeg lib first: +SUBDIRS(gdcmjpeg) + +# "jpeglib.h" is defined here: +INCLUDE_DIRECTORIES( + ${GDCM_SOURCE_DIR}/src + ${GDCM_BINARY_DIR}/ #for gdcmConfigure.h + ${GDCM_BINARY_DIR}/src #for gdcmjpeg 8, 12 and 16 +) + +SET(libgdcm_la_SOURCES + gdcmBase.cxx + gdcmBinEntry.cxx + gdcmContentEntry.cxx + gdcmDebug.cxx + gdcmDicomDir.cxx + gdcmDicomDirElement.cxx + gdcmDicomDirImage.cxx + gdcmDicomDirMeta.cxx + gdcmDicomDirObject.cxx + gdcmDicomDirPatient.cxx + gdcmDicomDirSerie.cxx + gdcmDicomDirStudy.cxx + gdcmDict.cxx + gdcmDictEntry.cxx + gdcmDictGroupName.cxx + gdcmDictSet.cxx + gdcmDirList.cxx + gdcmDocEntry.cxx + gdcmDocEntryArchive.cxx + gdcmDocEntrySet.cxx + gdcmDocument.cxx + gdcmElementSet.cxx + gdcmException.cxx + gdcmFileHelper.cxx + gdcmGlobal.cxx + gdcmFile.cxx + gdcmJPEGFragment.cxx + gdcmJPEGFragmentsInfo.cxx + gdcmJpeg8.cxx + gdcmJpeg12.cxx + gdcmJpeg16.cxx + gdcmJpeg2000.cxx + gdcmPixelReadConvert.cxx + gdcmPixelWriteConvert.cxx + gdcmRLEFrame.cxx + gdcmRLEFramesInfo.cxx + gdcmSeqEntry.cxx + gdcmSerieHelper.cxx + gdcmSQItem.cxx + gdcmTS.cxx + gdcmUtil.cxx + gdcmValEntry.cxx + gdcmVR.cxx + ${GDCM_BINARY_DIR}/src/gdcmDefaultDicts.cxx + ) + +ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} ) +TARGET_LINK_LIBRARIES(gdcm + gdcmjpeg8 + gdcmjpeg12 + gdcmjpeg16 +) +IF(WIN32) + IF(NOT BORLAND) + TARGET_LINK_LIBRARIES(gdcm wsock32 snmpapi) + ENDIF(NOT BORLAND) +ENDIF(WIN32) + +# Need nsl to resolve gethostbyname on SunOS-5.8 +# and socket also +IF(CMAKE_SYSTEM MATCHES "SunOS.*") + TARGET_LINK_LIBRARIES(gdcm socket nsl) +ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*") + +INSTALL_FILES(/include "\\.h$") +INSTALL_TARGETS(/lib/ gdcm)