]> Creatis software - gdcm.git/blob - gdcmPython/CMakeLists.txt
*ENH/ Update CMakeLists.txt
[gdcm.git] / gdcmPython / CMakeLists.txt
1 #IF(GDCM_WRAP_PYTHON)
2 #If we reach this dir we have selected this option
3
4 # TODO
5 # http://www.cmake.org/pipermail/cmake/2003-August/004185.html
6 # http://www.cmake.org/pipermail/cmake/2003-January/001092.html
7
8 INCLUDE_DIRECTORIES(
9   ${GDCM_SOURCE_DIR}/src
10   ${PYTHON_INCLUDE_PATH}
11 )
12
13 SET(GDCM_INC
14   ${GDCM_SOURCE_DIR}/src
15 )
16
17 SET(SWIG_INC
18   ${PYTHON_INCLUDES}
19   ${GDCM_INC}
20 )
21
22 #ADD_CUSTOM_TARGET(mathieu ALL)
23
24 SET(GDCM_PYTHON_SOURCES
25   gdcm_wrap.cxx
26 )
27
28 SET_SOURCE_FILES_PROPERTIES(gdcm_wrap.cxx GENERATED)
29
30 ADD_LIBRARY(pygdcm ${GDCM_PYTHON_SOURCES})
31 # http://www.cmake.org/pipermail/cmake/2003-August/004190.html
32 # SET_TARGET_PROPERTIES(pygdcm PROPERTIES PREFIX "_")
33 TARGET_LINK_LIBRARIES(pygdcm 
34   ${PYTHON_LIBRARY}
35   gdcm
36 )
37
38 #-----------------------------------------------------------------------------
39 # As of 09/10/2003 there was no FindSWIG.cmake
40 # later we should use SWIG instead of swig
41 # Build our custom command :
42 ADD_CUSTOM_COMMAND(
43   SOURCE    ${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i
44   COMMAND   swig
45   ARGS      -python -c++ -I${GDCM_SOURCE_DIR}/src -o 
46             ${GDCM_BINARY_DIR}/gdcmPython/gdcm_wrap.cxx 
47             ${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i 
48   TARGET    pygdcm
49   OUTPUTS   ${GDCM_BINARY_DIR}/gdcmPython/gdcm_wrap.cxx
50 )
51
52 IF(GDCM_VTK)
53   INCLUDE_DIRECTORIES(
54     ${GDCM_SOURCE_DIR}/vtk
55   )
56
57   SET(vtkgdcmPython_la_SOURCES
58       ${GDCM_SOURCE_DIR}/vtk/vtkGdcmReader.cxx
59   )
60   SET_SOURCE_FILES_PROPERTIES(vtkGdcmReaderPython.cxx GENERATED)
61   
62   # Configure Python module, which is the plugin itself
63   IF (GDCM_WRAP_PYTHON)
64     VTK_WRAP_PYTHON2(vtkgdcmPython gdcmfoo
65                    ${vtkgdcmPython_la_SOURCES})
66     # The C++ files must be made into a C++ library
67     ADD_LIBRARY(vtkgdcmPython SHARED ${gdcmfoo})
68     # set the libraries to link against
69     TARGET_LINK_LIBRARIES (vtkgdcmPython
70                          pygdcm
71                          vtkgdcm
72                          vtkCommonPython
73                          vtkIOPython)
74   ENDIF (GDCM_WRAP_PYTHON)
75   
76   #generate a setup.py according to VTK installation 
77   #put it in subdir in order to not override old one
78   CONFIGURE_FILE(
79       ${GDCM_SOURCE_DIR}/gdcmPython/setup.py.in
80       ${GDCM_BINARY_DIR}/gdcmPython/setup.py
81   )
82
83 ENDIF(GDCM_VTK)
84
85 #I should install in path of PYTHON_LIBRARY
86 #GET_FILENAME_COMPONENT(PYTHON_LIB_INSTALL ${PYTHON_LIBRARY} PATH)
87 #GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE)
88 #MESSAGE(STATUS ${SITEPACKAGE})
89 #INSTALL_FILES(/include "\\.h$")
90 #INSTALL_TARGETS(/lib/ gdcm)
91
92 INSTALL_TARGETS(/lib/ "gdcm.py")
93
94 # When installing swig-generated python module one should pay attention
95 # to library naming convention, see here for more detail:
96 # http://www.swig.org/Doc1.3/Python.html#n6
97 # even with the $swig -module mylib, there is always a trailing underscore added