From 09f5bc8993ebabc6af98370630d2ea64649d5a39 Mon Sep 17 00:00:00 2001 From: malaterre Date: Sun, 2 May 2004 20:24:02 +0000 Subject: [PATCH] Remove using namespace, + clean up the CMakeLists --- gdcmPython/CMakeLists.txt | 29 ++++++++++++++++------------- gdcmPython/gdcm.i | 30 ++++++++++++++---------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/gdcmPython/CMakeLists.txt b/gdcmPython/CMakeLists.txt index 66aaca9e..2d476565 100644 --- a/gdcmPython/CMakeLists.txt +++ b/gdcmPython/CMakeLists.txt @@ -20,15 +20,9 @@ SET(SWIG_INC ${GDCM_INC} ) -#ADD_CUSTOM_TARGET(mathieu ALL) - -SET(GDCM_PYTHON_SOURCES - gdcm_wrap.cxx -) - SET_SOURCE_FILES_PROPERTIES(gdcm_wrap.cxx GENERATED) -ADD_LIBRARY(pygdcm ${GDCM_PYTHON_SOURCES}) +ADD_LIBRARY(pygdcm gdcm_wrap.cxx) # http://www.cmake.org/pipermail/cmake/2003-August/004190.html # SET_TARGET_PROPERTIES(pygdcm PROPERTIES PREFIX "_") TARGET_LINK_LIBRARIES(pygdcm @@ -37,6 +31,9 @@ TARGET_LINK_LIBRARIES(pygdcm ) #----------------------------------------------------------------------------- +# SWIG Wrapping +# + # As of 09/10/2003 there was no FindSWIG.cmake # later we should use SWIG instead of swig # Build our custom command : @@ -51,6 +48,9 @@ ADD_CUSTOM_COMMAND( COMMENT "Generating gdcm_wrap.cxx based on gdcm.i" ) +#----------------------------------------------------------------------------- +# VTK Wrapping +# IF(GDCM_VTK) INCLUDE_DIRECTORIES( ${GDCM_SOURCE_DIR}/vtk @@ -69,10 +69,10 @@ IF(GDCM_VTK) ADD_LIBRARY(vtkgdcmPython SHARED ${gdcmfoo}) # set the libraries to link against TARGET_LINK_LIBRARIES (vtkgdcmPython - pygdcm - vtkgdcm - vtkCommonPython - vtkIOPython) + pygdcm + vtkgdcm + vtkCommonPython + vtkIOPython) ENDIF (GDCM_WRAP_PYTHON) #generate a setup.py according to VTK installation @@ -82,7 +82,7 @@ IF(GDCM_VTK) GET_FILENAME_COMPONENT(VTKPATH ${VTK_DIR}/../../ ABSOLUTE) CONFIGURE_FILE( ${GDCM_SOURCE_DIR}/gdcmPython/setup.py.in - ${GDCM_SOURCE_DIR}/setup.py + ${GDCM_BINARY_DIR}/setup.py ) ENDIF(GDCM_VTK) @@ -94,7 +94,10 @@ ENDIF(GDCM_VTK) #INSTALL_FILES(/include "\\.h$") #INSTALL_TARGETS(/lib/ gdcm) -INSTALL_TARGETS(/lib/ "gdcm.py") +#INSTALL_TARGETS(/lib/ gdcm.py) +# gdcm.py is a file generated by swig +# then from python you can do import gdcm, and it will load _gdcm.so +INSTALL_FILES(/lib/ .py gdcm.py) # When installing swig-generated python module one should pay attention # to library naming convention, see here for more detail: diff --git a/gdcmPython/gdcm.i b/gdcmPython/gdcm.i index 0e21e5b8..a5f90015 100644 --- a/gdcmPython/gdcm.i +++ b/gdcmPython/gdcm.i @@ -20,11 +20,9 @@ #include "gdcmDicomDirSerie.h" #include "gdcmDicomDirImage.h" -using namespace std; - //////////////////////////////////////////////////////////////////////////// // Utility functions on strings for removing leading and trailing spaces -void EatLeadingAndTrailingSpaces(string & s) { +void EatLeadingAndTrailingSpaces(std::string & s) { while ( s.length() && (s[0] == ' ') ) s.erase(0,1); while ( s.length() && (s[s.length()-1] == ' ') ) @@ -49,7 +47,7 @@ void gdcmPythonVoidFunc(void *arg) { if (PyErr_ExceptionMatches(PyExc_KeyboardInterrupt)) { - cerr << "Caught a Ctrl-C within python, exiting program.\n"; + std::cerr << "Caught a Ctrl-C within python, exiting program.\n"; Py_Exit(1); } PyErr_Print(); @@ -79,7 +77,7 @@ extern gdcmGlobal gdcmGlob; %typemap(out) std::list * { PyObject* NewItem = (PyObject*)0; PyObject* NewList = PyList_New(0); // The result of this typemap - for (list::iterator NewString = ($1)->begin(); + for (std::list::iterator NewString = ($1)->begin(); NewString != ($1)->end(); ++NewString) { NewItem = PyString_FromString(NewString->c_str()); PyList_Append( NewList, NewItem); @@ -94,15 +92,15 @@ extern gdcmGlobal gdcmGlob; PyObject* NewKey = (PyObject*)0; PyObject* NewVal = (PyObject*)0; - for (map >::iterator tag = ($1)->begin(); + for (std::map >::iterator tag = ($1)->begin(); tag != ($1)->end(); ++tag) { - string first = tag->first; + std::string first = tag->first; // Do not publish entries whose keys is made of spaces if (first.length() == 0) continue; NewKey = PyString_FromString(first.c_str()); PyObject* NewList = PyList_New(0); - for (list::iterator Item = tag->second.begin(); + for (std::list::iterator Item = tag->second.begin(); Item != tag->second.end(); ++Item) { NewVal = PyString_FromString(Item->c_str()); PyList_Append( NewList, NewVal); @@ -116,9 +114,9 @@ extern gdcmGlobal gdcmGlob; // Convert a c++ hash table in a python native dictionary %typemap(out) TagHeaderEntryHT & { PyObject* NewDict = PyDict_New(); // The result of this typemap - string RawName; // Element name as gotten from gdcm + std::string RawName; // Element name as gotten from gdcm PyObject* NewKey = (PyObject*)0; // Associated name as python object - string RawValue; // Element value as gotten from gdcm + std::string RawValue; // Element value as gotten from gdcm PyObject* NewVal = (PyObject*)0; // Associated value as python object for (TagHeaderEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag) { @@ -144,9 +142,9 @@ extern gdcmGlobal gdcmGlob; %typemap(out) TagHeaderEntryHT { PyObject* NewDict = PyDict_New(); // The result of this typemap - string RawName; // Element name as gotten from gdcm + std::string RawName; // Element name as gotten from gdcm PyObject* NewKey = (PyObject*)0; // Associated name as python object - string RawValue; // Element value as gotten from gdcm + std::string RawValue; // Element value as gotten from gdcm PyObject* NewVal = (PyObject*)0; // Associated value as python object for (TagHeaderEntryHT::iterator tag = $1.begin(); tag != $1.end(); ++tag) { @@ -175,7 +173,7 @@ extern gdcmGlobal gdcmGlob; PyObject* NewItem = (PyObject*)0; $result = PyList_New(0); // The result of this typemap - for (list::iterator New = ($1)->begin(); + for (std::list::iterator New = ($1)->begin(); New != ($1)->end(); ++New) { NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirPatient,1); PyList_Append($result, NewItem); @@ -186,7 +184,7 @@ extern gdcmGlobal gdcmGlob; PyObject* NewItem = (PyObject*)0; $result = PyList_New(0); // The result of this typemap - for (list::iterator New = ($1)->begin(); + for (std::list::iterator New = ($1)->begin(); New != ($1)->end(); ++New) { NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirStudy,1); PyList_Append($result, NewItem); @@ -197,7 +195,7 @@ extern gdcmGlobal gdcmGlob; PyObject* NewItem = (PyObject*)0; $result = PyList_New(0); // The result of this typemap - for (list::iterator New = ($1)->begin(); + for (std::list::iterator New = ($1)->begin(); New != ($1)->end(); ++New) { NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirSerie,1); PyList_Append($result, NewItem); @@ -208,7 +206,7 @@ extern gdcmGlobal gdcmGlob; PyObject* NewItem = (PyObject*)0; $result = PyList_New(0); // The result of this typemap - for (list::iterator New = ($1)->begin(); + for (std::list::iterator New = ($1)->begin(); New != ($1)->end(); ++New) { NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirImage,1); PyList_Append($result, NewItem); -- 2.48.1