-#-----------------------------------------------------------------------------\r
-# Build jpeg lib first:\r
-SUBDIRS(jpeg)\r
-\r
-# "jpeglib.h" is defined here:\r
-INCLUDE_DIRECTORIES(\r
- ${GDCM_SOURCE_DIR}/src/jpeg/libijg8\r
- #${GDCM_SOURCE_DIR}/jpeg/libijg12 #all files have been renamed, appending 12\r
- #${GDCM_SOURCE_DIR}/jpeg/ljpg # JPEG lib from xmedcom \r
-)\r
-\r
-SET(libgdcm_la_SOURCES\r
- gdcmException.cxx\r
- gdcmUtil.cxx\r
- gdcmHeader.cxx\r
- gdcmHeaderHelper.cxx\r
- gdcmElValue.cxx\r
- gdcmDictEntry.cxx\r
- gdcmDict.cxx\r
- gdcmDictSet.cxx\r
- gdcmElValSet.cxx\r
- gdcmHeaderIdo.cxx\r
- gdcmFile.cxx\r
- gdcmVR.cxx\r
- gdcmTS.cxx\r
- gdcmJpeg.cxx\r
- gdcmJpeg12.cxx\r
- gdcmJpeg2000.cxx\r
- gdcmRLE.cxx\r
- gdcmParse.cxx\r
-)\r
-#-----------------------------------------------------------------------------\r
-# Why one should not use ADD_DEFINITIONS\r
-# http://www.cmake.org/pipermail/cmake/2003-September/004286.html\r
-\r
-#-----------------------------------------------------------------------------\r
-# __STDC_LIMIT_MACROS -> Refer to stdint.h\r
-# http://www.cmake.org/pipermail/cmake/2003-October/004369.html\r
-# http://www.cmake.org/pipermail/cmake/2003-October/004373.html\r
-\r
-SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES}\r
- PROPERTIES\r
- COMPILE_FLAGS "-D__STDC_LIMIT_MACROS -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\""\r
-)\r
-\r
-IF(${CMAKE_NO_ANSI_STRING_STREAM})\r
-SET_SOURCE_FILES_PROPERTIES(gdcmHeader.cxx\r
- PROPERTIES\r
- COMPILE_FLAGS "-DGDCM_NO_ANSI_STRING_STREAM"\r
-)\r
-ENDIF(${CMAKE_NO_ANSI_STRING_STREAM})\r
-\r
-ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} )\r
-IF(UNIX)\r
- TARGET_LINK_LIBRARIES(gdcm \r
- gdcmijpeg8 \r
- gdcmijpeg12\r
- gdcmjpeg # JPEG lib from xmedcom \r
- )\r
-ELSE(UNIX)\r
- TARGET_LINK_LIBRARIES(gdcm \r
- gdcmijpeg8 \r
- gdcmijpeg12\r
- gdcmjpeg\r
- Wsock32.lib #doesn't exist on cygwin\r
- )\r
-ENDIF(UNIX)\r
-\r
-#The following is not working because when a header file is not found it tries \r
-#to find one in the binary dir\r
-#INSTALL_FILES(/include .h ${libgdcm_la_SOURCES})\r
-#INSTALL_FILES(/include FILES gdcmIdo.h iddcmjpeg.h)\r
-INSTALL_FILES(/include "\\.h$")\r
-\r
-INSTALL_TARGETS(/lib/ gdcm)\r
+#-----------------------------------------------------------------------------
+# 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
+ 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)