]> Creatis software - gdcm.git/blobdiff - src/CMakeLists.txt
* src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
[gdcm.git] / src / CMakeLists.txt
index 6bd5a093990c7cda4e4c4e431cddbdbc2c8bc4ed..ef844c44e65c7553436cfa8385400fc3124c0824 100644 (file)
-#-----------------------------------------------------------------------------\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
-   gdcmDebug.cxx\r
-   gdcmDicomDir.cxx\r
-   gdcmDicomDirElement.cxx\r
-   gdcmDicomDirImage.cxx\r
-   gdcmDicomDirMeta.cxx\r
-   gdcmDicomDirPatient.cxx\r
-   gdcmDicomDirSerie.cxx\r
-   gdcmDicomDirStudy.cxx\r
-   gdcmDict.cxx\r
-   gdcmDictEntry.cxx\r
-   gdcmDictSet.cxx\r
-   gdcmDirList.cxx\r
-   gdcmException.cxx\r
-   gdcmFile.cxx\r
-   gdcmGlobal.cxx\r
-   gdcmHeader.cxx\r
-   gdcmHeaderEntry.cxx\r
-   gdcmHeaderHelper.cxx\r
-   gdcmJpeg12.cxx\r
-   gdcmJpeg2000.cxx\r
-   gdcmJpeg.cxx\r
-   gdcmObject.cxx\r
-   gdcmParsePixels.cxx\r
-   gdcmParser.cxx\r
-   gdcmRLE.cxx\r
-   gdcmTS.cxx\r
-   gdcmUtil.cxx\r
-   gdcmVR.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(GDCM_COMPILE_FLAGS\r
-  "-D__STDC_LIMIT_MACROS  -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\""\r
-  )\r
-\r
-# SunOS + old gcc fixes:\r
-\r
-INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)\r
-IF(CMAKE_NO_ANSI_STRING_STREAM)\r
-SET(GDCM_COMPILE_FLAGS\r
-  "${GDCM_COMPILE_FLAGS} -DGDCM_NO_ANSI_STRING_STREAM"\r
-  )\r
-ENDIF(CMAKE_NO_ANSI_STRING_STREAM)\r
-\r
-#INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake)\r
-#INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)\r
-\r
-INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)\r
-CHECK_INCLUDE_FILE("stdint.h"    CMAKE_HAVE_STDINT_H)\r
-\r
-#MESSAGE(STATUS ${CMAKE_NO_ANSI_STRING_STREAM})\r
-IF(NOT CMAKE_HAVE_STDINT_H)\r
-SET(GDCM_COMPILE_FLAGS\r
-  "${GDCM_COMPILE_FLAGS} -DHAVE_NO_STDINT_H"\r
-  )\r
-ENDIF(NOT CMAKE_HAVE_STDINT_H)\r
-\r
-SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES}\r
-  PROPERTIES\r
-  COMPILE_FLAGS ${GDCM_COMPILE_FLAGS}\r
-)\r
-\r
-ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} )\r
-IF(UNIX)\r
-  TARGET_LINK_LIBRARIES(gdcm \r
-    gdcmijpeg8 \r
-    gdcmijpeg12\r
-    gdcmljpeg     # JPEG lib from xmedcom \r
-  )\r
-ELSE(UNIX)\r
-  TARGET_LINK_LIBRARIES(gdcm \r
-    gdcmijpeg8 \r
-    gdcmijpeg12\r
-    gdcmljpeg\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
+   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)