INCLUDE(${SWIG_USE_FILE})
#INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
#SET(CMAKE_SWIG_FLAGS "")
+ #SET_SOURCE_FILES_PROPERTIES(gdcm.i PROPERTIES PYTHON ON)
SET_SOURCE_FILES_PROPERTIES(gdcm.i PROPERTIES CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(gdcm.i PROPERTIES SWIG_FLAGS "-includeall")
- SWIG_ADD_MODULE(gdcm python gdcm.i gdcm_wrap.cxx)
- SWIG_LINK_LIBRARIES(gdcm ${PYTHON_LIBRARIES})
- TARGET_LINK_LIBRARIES(_gdcm gdcm)
+ SWIG_ADD_MODULE(gdcm python gdcm.i) #gdcm_wrap.cxx
+ SWIG_LINK_LIBRARIES(gdcm gdcm ${PYTHON_LIBRARIES})
+
+ #SWIG_GET_EXTRA_OUTPUT_FILES(python foobar "/usr/" "gdcm" )
+ #MESSAGE(FATAL_ERROR ${swig_generated_file_fullname})
+ #MESSAGE(FATAL_ERROR ${swig_source_file_fullname})
+
+ # Swig creates a gdcm.py file put it in the right place, if only cmake
+ # was able to do stuff properly ...
+ ADD_CUSTOM_TARGET( CMAKE_S____ ALL)
+ ADD_CUSTOM_COMMAND(
+ TARGET CMAKE_S____
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy
+ ${GDCM_BINARY_DIR}/gdcmPython/gdcm.py
+ ${GDCM_BINARY_DIR}/bin/gdcm.py
+ )
ELSE(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 1.9)
# Then create the gdcm.py = gdcmVersion.py + gdcm.py (swig) file:
FILE(WRITE ${GDCM_BINARY_DIR}/bin/gdcmVersion.py
"import os\n"
- "gdcmVERSION=\"${GDCM_VERSION_FULL}\"\n"
+ "gdcmVERSION=\"${GDCM_VERSION}\"\n"
"GDCM_DATA_PATH=\"${GDCM_DATA_ROOT}\"\n\n"
${SWIG_GDCM_PY}
)
# The C++ files must be made into a C++ library
ADD_LIBRARY(vtkgdcmPython SHARED ${gdcmWrapSOURCES}) #MODULE on apple ?
# set the libraries to link against
+ #SET_TARGET_PROPERTIES(${foobar} PROPERTIES PREFIX "")
+
+ #GET_TARGET_PROPERTY(swig_gdcm_fullpath "${SWIG_MODULE_gdcm_REAL_NAME}" LOCATION)
TARGET_LINK_LIBRARIES (vtkgdcmPython
- pygdcm
vtkgdcm
vtkCommonPython
vtkIOPython)
GET_FILENAME_COMPONENT(VTKPATH ${VTK_DIR}/../../ ABSOLUTE)
CONFIGURE_FILE(
${GDCM_SOURCE_DIR}/gdcmPython/setup.py.in
- ${GDCM_BINARY_DIR}/gdcmPython/setup.py
+ ${GDCM_BINARY_DIR}/setup.py
)
ENDIF(GDCM_VTK)
# in /usr/lib/pythonx.x/site-package and not a a std /usr/lib
# Thus generate a setup.py file using distutils
+# Create a gdcm.pth file:
+
+FILE(WRITE ${GDCM_BINARY_DIR}/gdcmPython/gdcm.pth
+ "gdcmPython\n"
+ )
+
+FILE(WRITE ${GDCM_BINARY_DIR}/gdcmPython/__init__.py
+ "import gdcm\n"
+ )
+
+IF(GDCM_VTK)
+ FILE(APPEND ${GDCM_BINARY_DIR}/gdcmPython/__init__.py
+ "import os\n"
+ "if os.name == 'posix':\n"
+ " from libvtkgdcmPython import *\n"
+ "else:\n"
+ " from vtkgdcmPython import *\n"
+ )
+ENDIF(GDCM_VTK)
#-----------------------------------------------------------------------------
# Add test from demo subdir: