]> Creatis software - gdcm.git/blobdiff - src/CMakeLists.txt
update CMakeLists
[gdcm.git] / src / CMakeLists.txt
index 09b2978219e99a415f4740d8fbcff9675a7ad927..6bd5a093990c7cda4e4c4e431cddbdbc2c8bc4ed 100644 (file)
+#-----------------------------------------------------------------------------\r
+# Build jpeg lib first:\r
 SUBDIRS(jpeg)\r
 \r
-#CXXFLAGS = @CXXFLAGS@ -DPUB_DICT_PATH=\"$(datadir)/gdcm/\" \\r
-#           -D__STDC_LIMIT_MACROS  # Refer to stdint.h\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
-       gdcmJpegIdo.cxx\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
-#Why one should not use ADD_DEFINITIONS\r
-#http://www.cmake.org/pipermail/cmake/2003-September/004286.html\r
-#ADD_DEFINITIONS(-DPUB_DICT_PATH=\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}/\\")\r
-#ADD_DEFINITIONS(-D__STDC_LIMIT_MACROS)\r
+#-----------------------------------------------------------------------------\r
+# Why one should not use ADD_DEFINITIONS\r
+# http://www.cmake.org/pipermail/cmake/2003-September/004286.html\r
 \r
-SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES} \r
-  PROPERTIES \r
-  COMPILE_FLAGS  -DPUB_DICT_PATH=\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\"\r
-  COMPILE_FLAGS  -D__STDC_LIMIT_MACROS\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
-#libgdcminclude_HEADERS =   \\r
-#      gdcmException.h    \\r
-#      gdcmHeader.h       \\r
-#      gdcmHeaderHelper.h \\r
-#      gdcmCommon.h       \\r
-#      gdcm.h             \\r
-#      gdcmDictSet.h      \\r
-#      gdcmDict.h         \\r
-#      gdcmDictEntry.h    \\r
-#      gdcmElValue.h      \\r
-#      gdcmElValSet.h     \\r
-#      gdcmVR.h           \\r
-#      gdcmTS.h           \\r
-#      gdcmFile.h\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
-#EXTRA_DIST =            \\r
-#      gdcmUtil.h      \\r
-#      gdcmIdo.h       \\r
-#      iddcmjpeg.h\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
-#TODO this is not working out of the box (on the first time)\r
-IF(WIN32)\r
+IF(UNIX)\r
   TARGET_LINK_LIBRARIES(gdcm \r
     gdcmijpeg8 \r
     gdcmijpeg12\r
-    Wsock32.lib\r
+    gdcmljpeg     # JPEG lib from xmedcom \r
   )\r
-ELSE(WIN32)\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(WIN32)
\ No newline at end of file
+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