aboutsummaryrefslogtreecommitdiffhomepage
path: root/disabled/apidox_preprocessing.sh
blob: a611465cbbb4b22fe16f474b56310b770de8de89 (plain)
1
2
3
4
5
6
7
8
9
10
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
#!/bin/bash

CXX=`which g++`
SRC=$1
mkdir -p eigen2/out

if expr match $SRC ".*\/examples\/.*" > /dev/null ; then

#   DST=`echo $SRC | sed 's/examples/out/' | sed 's/cpp$/out/'`
  DST=`echo $SRC | sed 's/.*\/examples/eigen2\/out/' | sed 's/cpp$/out/'`
  INC=`echo $SRC | sed 's/\/doc\/examples\/.*/\//'`

  if ! test -e $DST || test $SRC -nt $DST ; then
    $CXX $SRC -I. -I$INC -o eitmp_example && ./eitmp_example > $DST
    rm eitmp_example
  fi

elif expr match $SRC ".*\/snippets\/.*" > /dev/null ; then

#   DST=`echo $SRC | sed 's/snippets/out/' | sed 's/cpp$/out/'`
  DST=`echo $SRC | sed 's/.*\/snippets/eigen2\/out/' | sed 's/cpp$/out/'`
  INC=`echo $SRC | sed 's/\/doc\/snippets\/.*/\//'`

  if ! test -e $DST || test $SRC -nt $DST ; then
    echo "#include <Eigen/Core>" > .ei_in.cpp
    echo "#include <Eigen/Array>" >> .ei_in.cpp
    echo "#include <Eigen/LU>" >> .ei_in.cpp
    echo "#include <Eigen/Cholesky>" >> .ei_in.cpp
    echo "#include <Eigen/Geometry>" >> .ei_in.cpp
    echo "using namespace Eigen; using namespace std;" >> .ei_in.cpp
    echo "int main(int, char**){cout.precision(3);" >> .ei_in.cpp
    cat $SRC >> .ei_in.cpp
    echo "return 0;}" >> .ei_in.cpp
    echo " " >> .ei_in.cpp
    
    $CXX .ei_in.cpp -I. -I$INC -o eitmp_example && ./eitmp_example > $DST
    rm eitmp_example
    rm .ei_in.cpp
  fi

fi

cat $SRC
exit 0