"vscode:/vscode.git/clone" did not exist on "39d85db082c5128818c6ed83a430ba18284d533f"
buildSwigWrapper.sh 2.15 KB
Newer Older
1
2
3
4
5
6
7
8
9
#!/bin/bash

rm -f *.xml
rm -f OpenMM_headers*
rm -f *.cxx

SWIG_REV_FILE_OPENMM=RevisionNumber_OpenMM.txt
SWIG_REV_FILE_PYOPENMM=RevisionNumber_pyopenmm.txt

10
PYTHON_PACKAGE_DIR=../../simtk/openmm
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70


if [ -n "$OPENMM_SVN_PATH" ] ; then
  SVN_INFO=$(svn info $OPENMM_SVN_PATH 2>/dev/null | awk '$0~/^Revision:/{print $2}')
  if [ -n "$SVN_INFO" ] ; then
    echo  $SVN_INFO >| $SWIG_REV_FILE_OPENMM
  fi
fi

if [ -z "$OPENMM_INCLUDE_PATH" ] ; then
  OPENMM_INCLUDE_PATH=../../OpenMM/include
fi

SVN_INFO=$(svn info 2>/dev/null | awk '$0~/^Revision:/{print $2}')
if [ -n "$SVN_INFO" ] ; then
  echo  $SVN_INFO >| $SWIG_REV_FILE_PYOPENMM
fi

cd doxygen
rm -rf xml/ html/
echo "Calling doxygen >| doxygen.out 2>| doxygen.err"
doxygen >| doxygen.out 2>| doxygen.err
if [ "$?" -ne "0" ]; then
  echo "ERROR: doxygen did not run"
  echo "       See doxygen/doxygen.out and doxygen/doxygen.err!"
  echo "Exiting!"
  exit 1
fi
cd xml
echo "Calling xsltproc combine.xslt index.xml >| ../../OpenMM_headers.xml"
xsltproc combine.xslt index.xml >| ../../OpenMM_headers.xml
cd ../../


#Build ref platform only
echo "Calling swigInputBuilder.py -i OpenMM_headers.xml -c swigInputConfig.py -o OpenMM_headers.i -d OpenMM_docstring.i -a swig_lib/python/pythonprepend.i  -z swig_lib/python/pythonappend.i "
python swigInputBuilder.py -i OpenMM_headers.xml \
                           -c swigInputConfig.py \
                           -o OpenMM_headers.i \
                           -d OpenMM_docstring.i \
                           -a swig_lib/python/pythonprepend.i \
                           -z swig_lib/python/pythonappend.i \
                        >| swigInputBuilder.out 

USING_SWIG_VERSION=$(swig -version | awk '/^SWIG Version/{print $3}')
USING_SWIG_VERSION_NUM=$(echo $USING_SWIG_VERSION | awk -F. '{print 1000*(1000*$1+$2)+$3}')
if (( $USING_SWIG_VERSION_NUM < 2000000 )) ; then
   echo "ERROR: Using swig $USING_SWIG_VERSION.  Must use 2.0.0 or better"
   exit 1
fi

echo "calling swig -python -c++ -Wall -outdir $PYTHON_PACKAGE_DIR -o OpenMMSwig.cxx OpenMM.i"
swig -python -c++ -Wall \
     -outdir $PYTHON_PACKAGE_DIR \
     -o OpenMMSwig.cxx \
     OpenMM.i


echo "Done: swig -python -c++\n"