]> Creatis software - gdcm.git/commitdiff
* CMake-ification of gdcm, we have now two build system
authormalaterre <malaterre>
Thu, 9 Oct 2003 14:52:45 +0000 (14:52 +0000)
committermalaterre <malaterre>
Thu, 9 Oct 2003 14:52:45 +0000 (14:52 +0000)
12 files changed:
CMakeLists.txt [new file with mode: 0644]
ChangeLog
Dicts/CMakeLists.txt [new file with mode: 0644]
Doc/CMakeLists.txt [new file with mode: 0644]
Testing/CMakeLists.txt [new file with mode: 0644]
gdcmPython/CMakeLists.txt [new file with mode: 0644]
src/CMakeLists.txt [new file with mode: 0644]
src/jpeg/CMakeLists.txt [new file with mode: 0644]
src/jpeg/libijg/CMakeLists.txt [new file with mode: 0644]
src/jpeg/libijg12/CMakeLists.txt [new file with mode: 0644]
src/jpeg/libijg8/CMakeLists.txt [new file with mode: 0644]
vtk/CMakeLists.txt [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2b40cf5
--- /dev/null
@@ -0,0 +1,66 @@
+PROJECT(GDCM)\r
+CMAKE_MINIMUM_REQUIRED(VERSION 1.6)\r
+\r
+# The GDCM version number.\r
+SET(GDCM_VERSION_MAJOR 1)\r
+SET(GDCM_VERSION_MINOR 9)\r
+SET(GDCM_VERSION_PATCH 0)\r
+SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}")\r
+SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}")\r
+\r
+SET(GDCM_DATA_DIR "/share/gdcm" CACHE STRING \r
+  "Install location for data (relative to prefix).")\r
+MARK_AS_ADVANCED(GDCM_DATA_DIR)\r
+\r
+\r
+OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON)\r
+SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})\r
+\r
+INCLUDE_DIRECTORIES(\r
+)\r
+\r
+#Build directory on which many applications depend\r
+SUBDIRS(src\r
+        Test\r
+        Dicts)\r
+\r
+FIND_PACKAGE(VTK)\r
+#If vtk found\r
+IF(VTK_FOUND)\r
+  OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
+  IF(GDCM_VTK)\r
+    INCLUDE(${VTK_USE_FILE})\r
+    SUBDIRS(vtk)\r
+  ENDIF(GDCM_VTK)\r
+ENDIF(VTK_FOUND)\r
+\r
+FIND_PACKAGE(PythonLibs)\r
+#If PythonLibs found\r
+IF(PYTHON_LIBRARY)\r
+  OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
+  #if wrapping enable\r
+  IF(GDCM_WRAP_PYTHON)\r
+    SUBDIRS(gdcmPython)\r
+  ENDIF(GDCM_WRAP_PYTHON)\r
+ENDIF(PYTHON_LIBRARY)\r
+\r
+#Doxygen stuff\r
+#  SUBDIRS(Doc)\r
+\r
+\r
+# EXTRA_DIST = \\r
+#      AUTHORS \\r
+#      ChangeLog \\r
+#      COPYING \\r
+#      INSTALL \\r
+#      NEWS \\r
+#      README \\r
+#      TODO \\r
+#      gdcm.spec \\r
+#  gdcm.dsw\r
+\r
+#release:\r
+#      $(MAKE) dist distdir=$(PACKAGE)-$(VERSION)\r
+\r
+#snapshot:\r
+#      $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`\r
index 1bf2e060473c4144303f89126dbb01bae0adf7e9..f29ce9f381e560a51325d3bcbdc17207d6e02c59 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+2003-10-09  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+      * CMake-ification of gdcm, we have now two build system
 2003-10-03  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
       * vtkGdcmReader is now able to read rgb dicom file.
       * src/gdcmHeaderHelper : GetNumberOfScalarComponents()
diff --git a/Dicts/CMakeLists.txt b/Dicts/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d89e386
--- /dev/null
@@ -0,0 +1,16 @@
+#SET(dictsdir \r
+#  ${GDCM_SOURCE_DIR}/gdcm\r
+#)\r
+\r
+#SET(dicts_DATA\r
+#  dicomV3.dic\r
+#  README\r
+#)\r
+\r
+#SET(EXTRA_DIST\r
+#  dicomV3.dic\r
+#)\r
+\r
+#IF(UNIX)\r
+  INSTALL_FILES(${GDCM_DATA_DIR} FILES dicomV3.dic README)\r
+#ENDIF(UNIX)
\ No newline at end of file
diff --git a/Doc/CMakeLists.txt b/Doc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..503fa1d
--- /dev/null
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c273c1d
--- /dev/null
@@ -0,0 +1,41 @@
+#For later : rewrite this things for more consistencies, such as a 'FOREACH'
+
+LINK_LIBRARIES(gdcm)
+INCLUDE_DIRECTORIES(
+  ${GDCM_SOURCE_DIR}/src/
+)
+
+SET(PrintHeader_SOURCES
+  PrintHeader.cxx
+)
+ADD_EXECUTABLE(PrintHeader ${PrintHeader_SOURCES})
+
+SET(testWrite_SOURCES
+  testWrite.cxx
+)
+ADD_EXECUTABLE(testWrite ${testWrite_SOURCES})
+
+SET(testChangeEntete_SOURCES
+  testChangeEntete.cxx
+)
+ADD_EXECUTABLE(testChangeEntete ${testChangeEntete_SOURCES})
+
+SET(hashtest_SOURCES
+  hashtest.cxx
+)
+ADD_EXECUTABLE(hashtest ${hashtest_SOURCES})
+
+SET(bug1_SOURCES
+  bug1.cxx
+)
+ADD_EXECUTABLE(bug1 ${bug1_SOURCES})
+
+SET(pourFindTaggs_SOURCES
+  pourFindTaggs.cxx
+)
+ADD_EXECUTABLE(pourFindTaggs ${pourFindTaggs_SOURCES})
+
+SET(dcm2acr_SOURCES
+  dcm2acr.cxx
+)
+ADD_EXECUTABLE(dcm2acr ${dcm2acr_SOURCES})
diff --git a/gdcmPython/CMakeLists.txt b/gdcmPython/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ab30308
--- /dev/null
@@ -0,0 +1,77 @@
+#IF(GDCM_WRAP_PYTHON)
+#If we reach this dir we have selected this option
+
+
+#TODO
+#http://www.cmake.org/pipermail/cmake/2003-August/004185.html
+#http://www.cmake.org/pipermail/cmake/2003-January/001092.html
+
+#As of 09/10/2003 there was no FindSWIG.cmake
+
+#gdcm_wrap.cxx: $(srcdir)/gdcm.i
+#      $(SWIG)  -python -c++ $(SWIG_INC) -o $@ $<
+
+INCLUDE_DIRECTORIES(
+  ${GDCM_SOURCE_DIR}/src
+)
+
+SET(GDCM_INC
+  ${GDCM_SOURCE_DIR}/src
+#  -I$(top_builddir)
+)
+
+SET(SWIG_INC
+  ${PYTHON_INCLUDES}
+  ${GDCM_INC}
+)
+
+
+SET(GDCM_PYTHON_SOURCES
+  gdcm_wrap.cxx
+)
+
+SET_SOURCE_FILES_PROPERTIES(gdcm_wrap.cxx GENERATED)
+
+ADD_CUSTOM_COMMAND(
+SOURCE    ${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i
+COMMAND   swig
+ARGS      -python -c++ -I${GDCM_SOURCE_DIR}/src -o gdcm_wrap.cxx ${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i 
+OUTPUTS   gdcm_wrap.cxx
+TARGET    pygdcm
+)
+
+ADD_LIBRARY(pygdcm ${GDCM_PYTHON_SOURCES})
+
+
+
+IF(GDCM_VTK)
+#  INCLUDE_DIRECTORIES(
+#    ${GDCM_SOURCE_DIR}/vtk
+#  )
+
+  SET(vtkgdcmPython_la_SOURCES
+#      vtkGdcmReaderPython.cxx
+#      vtkGdcmInit.cxx
+      ${GDCM_SOURCE_DIR}/vtk/vtkGdcmReader.cxx
+  )
+  SET_SOURCE_FILES_PROPERTIES(vtkGdcmReaderPython.cxx GENERATED)
+  #vtkWrapPythonInit.c
+  
+  # The C++ files must be made into a C++ library
+  #ADD_LIBRARY ( vtkgdcmPython ${vtkgdcmPython_la_SOURCES})
+
+  # set the libraries to link against
+  #TARGET_LINK_LIBRARIES(vtkgdcmPython vtkCommon)
+
+  # Configure Python module, which is the plugin itself
+  IF (GDCM_WRAP_PYTHON)
+    VTK_WRAP_PYTHON2(vtkgdcmPython gdcmfoo
+                   ${vtkgdcmPython_la_SOURCES})
+    ADD_LIBRARY(vtkgdcmPython SHARED ${gdcmfoo})
+    TARGET_LINK_LIBRARIES (vtkgdcmPython
+                         pygdcm
+                         vtkgdcm
+                         vtkCommonPython
+                         vtkIOPython)
+  ENDIF (GDCM_WRAP_PYTHON)
+ENDIF(GDCM_VTK)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..09b2978
--- /dev/null
@@ -0,0 +1,76 @@
+SUBDIRS(jpeg)\r
+\r
+#CXXFLAGS = @CXXFLAGS@ -DPUB_DICT_PATH=\"$(datadir)/gdcm/\" \\r
+#           -D__STDC_LIMIT_MACROS  # Refer to stdint.h\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
+)\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
+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
+\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
+\r
+#EXTRA_DIST =            \\r
+#      gdcmUtil.h      \\r
+#      gdcmIdo.h       \\r
+#      iddcmjpeg.h\r
+\r
+\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
+  TARGET_LINK_LIBRARIES(gdcm \r
+    gdcmijpeg8 \r
+    gdcmijpeg12\r
+    Wsock32.lib\r
+  )\r
+ELSE(WIN32)\r
+  TARGET_LINK_LIBRARIES(gdcm \r
+    gdcmijpeg8 \r
+    gdcmijpeg12\r
+  )\r
+ENDIF(WIN32)
\ No newline at end of file
diff --git a/src/jpeg/CMakeLists.txt b/src/jpeg/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1b39bd5
--- /dev/null
@@ -0,0 +1,4 @@
+SUBDIRS(\r
+  libijg12 \r
+  libijg8\r
+)\r
diff --git a/src/jpeg/libijg/CMakeLists.txt b/src/jpeg/libijg/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d3f0727
--- /dev/null
@@ -0,0 +1,76 @@
+#LTVERSION = 0:1:0\r
+\r
+#lib_LTLIBRARIES = libgdcmijpeg8.la\r
+\r
+##CXXFLAGS = @CXXFLAGS@\r
+\r
+SET(libgdcmijpeg8_la_SOURCES\r
+       jcapimin.c \r
+       jcapistd.c \r
+       jctrans.c \r
+       jcparam.c\r
+       jdatadst.c \r
+       jcinit.c \r
+       jcmaster.c \r
+       jcmarker.c \r
+       jcmainct.c \r
+       jcprepct.c \r
+       jccoefct.c \r
+       jccolor.c \r
+       jcsample.c \r
+       jchuff.c \r
+       jcphuff.c \r
+       jcdctmgr.c \r
+       jfdctfst.c \r
+       jfdctflt.c \r
+       jfdctint.c \r
+       jdapimin.c \r
+       jdapistd.c \r
+       jdtrans.c \r
+       jdatasrc.c \r
+       jdmaster.c \r
+       jdinput.c \r
+       jdmarker.c \r
+       jdhuff.c \r
+       jdphuff.c \r
+       jdmainct.c \r
+       jdcoefct.c \r
+       jdpostct.c \r
+       jddctmgr.c \r
+       jidctfst.c \r
+       jidctflt.c \r
+       jidctint.c \r
+       jidctred.c \r
+       jdsample.c \r
+       jdcolor.c \r
+       jquant1.c \r
+       jquant2.c \r
+       jdmerge.c \r
+       jcomapi.c \r
+       jutils.c \r
+       jerror.c \r
+       jmemmgr.c \r
+       jmemnobs.c \r
+       rdrle.c\r
+)\r
+\r
+#libgdcmijpeg8includedir = $(includedir)\r
+SET(libgdcmijpeg8include_HEADERS\r
+       jchuff.h  \r
+       jconfig.h  \r
+       jdct.h  \r
+       jdhuff.h  \r
+       jerror.h  \r
+       jinclude.h  \r
+       jmemsys.h  \r
+       jmorecfg.h  \r
+       jpegint.h  \r
+       jpeglib.h  \r
+       jversion.h \r
+)\r
+\r
+#EXTRA_DIST = \\r
+#   jconfig.linux \\r
+#   jconfig.vc\r
+\r
+ADD_LIBRARY(gdcmijpeg8 ${libgdcmijpeg8_la_SOURCES})
\ No newline at end of file
diff --git a/src/jpeg/libijg12/CMakeLists.txt b/src/jpeg/libijg12/CMakeLists.txt
new file mode 100644 (file)
index 0000000..257f08a
--- /dev/null
@@ -0,0 +1,75 @@
+#LTVERSION = 0:1:0\r
+\r
+#lib_LTLIBRARIES = libgdcmijpeg12.la\r
+\r
+##CXXFLAGS = @CXXFLAGS@\r
+\r
+SET(libgdcmijpeg12_la_SOURCES\r
+       jcapimin12.c\r
+       jcapistd12.c\r
+       jctrans12.c\r
+       jcparam12.c\r
+       jdatadst12.c\r
+       jcinit12.c\r
+       jcmaster12.c\r
+       jcmarker12.c\r
+       jcmainct12.c\r
+       jcprepct12.c\r
+       jccoefct12.c\r
+       jccolor12.c\r
+       jcsample12.c\r
+       jchuff12.c\r
+       jcphuff12.c\r
+       jcdctmgr12.c\r
+       jfdctfst12.c\r
+       jfdctflt12.c\r
+       jfdctint12.c\r
+       jdapimin12.c\r
+       jdapistd12.c\r
+       jdtrans12.c\r
+       jdatasrc12.c\r
+       jdmaster12.c\r
+       jdinput12.c\r
+       jdmarker12.c\r
+       jdhuff12.c\r
+       jdphuff12.c\r
+       jdmainct12.c\r
+       jdcoefct12.c\r
+       jdpostct12.c\r
+       jddctmgr12.c\r
+       jidctfst12.c\r
+       jidctflt12.c\r
+       jidctint12.c\r
+       jidctred12.c\r
+       jdsample12.c\r
+       jdcolor12.c\r
+       jquant112.c\r
+       jquant212.c\r
+       jdmerge12.c\r
+       jcomapi12.c\r
+       jutils12.c\r
+       jerror12.c\r
+       jmemmgr12.c\r
+       jmemnobs12.c\r
+)\r
+\r
+#libgdcmijpeg12includedir = $(includedir)\r
+SET(libgdcmijpeg12include_HEADERS\r
+       jchuff12.h\r
+       jconfig12.h\r
+       jdct12.h\r
+       jdhuff12.h\r
+       jerror12.h\r
+       jinclude12.h\r
+       jmemsys12.h\r
+       jmorecfg12.h\r
+       jpegint12.h\r
+       jpeglib12.h\r
+       jversion12.h\r
+)\r
+\r
+#EXTRA_DIST = \\r
+#   jconfig.linux \\r
+#   jconfig.vc\r
+\r
+ADD_LIBRARY(gdcmijpeg12 ${libgdcmijpeg12_la_SOURCES})
\ No newline at end of file
diff --git a/src/jpeg/libijg8/CMakeLists.txt b/src/jpeg/libijg8/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d3f0727
--- /dev/null
@@ -0,0 +1,76 @@
+#LTVERSION = 0:1:0\r
+\r
+#lib_LTLIBRARIES = libgdcmijpeg8.la\r
+\r
+##CXXFLAGS = @CXXFLAGS@\r
+\r
+SET(libgdcmijpeg8_la_SOURCES\r
+       jcapimin.c \r
+       jcapistd.c \r
+       jctrans.c \r
+       jcparam.c\r
+       jdatadst.c \r
+       jcinit.c \r
+       jcmaster.c \r
+       jcmarker.c \r
+       jcmainct.c \r
+       jcprepct.c \r
+       jccoefct.c \r
+       jccolor.c \r
+       jcsample.c \r
+       jchuff.c \r
+       jcphuff.c \r
+       jcdctmgr.c \r
+       jfdctfst.c \r
+       jfdctflt.c \r
+       jfdctint.c \r
+       jdapimin.c \r
+       jdapistd.c \r
+       jdtrans.c \r
+       jdatasrc.c \r
+       jdmaster.c \r
+       jdinput.c \r
+       jdmarker.c \r
+       jdhuff.c \r
+       jdphuff.c \r
+       jdmainct.c \r
+       jdcoefct.c \r
+       jdpostct.c \r
+       jddctmgr.c \r
+       jidctfst.c \r
+       jidctflt.c \r
+       jidctint.c \r
+       jidctred.c \r
+       jdsample.c \r
+       jdcolor.c \r
+       jquant1.c \r
+       jquant2.c \r
+       jdmerge.c \r
+       jcomapi.c \r
+       jutils.c \r
+       jerror.c \r
+       jmemmgr.c \r
+       jmemnobs.c \r
+       rdrle.c\r
+)\r
+\r
+#libgdcmijpeg8includedir = $(includedir)\r
+SET(libgdcmijpeg8include_HEADERS\r
+       jchuff.h  \r
+       jconfig.h  \r
+       jdct.h  \r
+       jdhuff.h  \r
+       jerror.h  \r
+       jinclude.h  \r
+       jmemsys.h  \r
+       jmorecfg.h  \r
+       jpegint.h  \r
+       jpeglib.h  \r
+       jversion.h \r
+)\r
+\r
+#EXTRA_DIST = \\r
+#   jconfig.linux \\r
+#   jconfig.vc\r
+\r
+ADD_LIBRARY(gdcmijpeg8 ${libgdcmijpeg8_la_SOURCES})
\ No newline at end of file
diff --git a/vtk/CMakeLists.txt b/vtk/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e5e30ff
--- /dev/null
@@ -0,0 +1,38 @@
+#VTK GDCM subdir\r
+\r
+INCLUDE_DIRECTORIES(\r
+  ${GDCM_SOURCE_DIR}/src/\r
+)\r
+\r
+SET(VTKGDCM_LIB_SRCS\r
+  vtkGdcmReader.cxx\r
+)\r
+\r
+ADD_LIBRARY(vtkgdcm ${VTKGDCM_LIB_SRCS})\r
+TARGET_LINK_LIBRARIES(vtkgdcm \r
+  gdcm\r
+  vtkCommon\r
+  vtkIO\r
+  vtkFiltering\r
+)\r
+\r
+SET(vtkgdcmdemo_SOURCES\r
+  testvtkGdcmReader.cxx\r
+#  vtkGdcmReader.cxx\r
+)\r
+ADD_EXECUTABLE(vtkgdcmdemo ${vtkgdcmdemo_SOURCES})\r
+TARGET_LINK_LIBRARIES(vtkgdcmdemo \r
+  vtkgdcm\r
+  vtkGraphics\r
+  vtkRendering\r
+)\r
+\r
+SET(vtkgdcmViewer_SOURCES\r
+  vtkgdcmViewer.cxx\r
+  #vtkGdcmReader.cxx \r
+)\r
+ADD_EXECUTABLE(vtkgdcmViewer ${vtkgdcmViewer_SOURCES})\r
+TARGET_LINK_LIBRARIES(vtkgdcmViewer \r
+  vtkgdcm\r
+  vtkRendering\r
+)
\ No newline at end of file