Newer
Older
gmsh_svn="/Users/geuzaine/src/gmsh/"
getdp_svn="/Users/geuzaine/src/getdp/"
frameworks_dir="/Users/geuzaine/src/gmsh/contrib/mobile/frameworks/"
petsc_framework="$frameworks_dir/petsc.framework"
cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -GXcode"
build_cmd="xcodebuild -verbose -target lib -configuration Release"
header_cmd="xcodebuild -verbose -target getHeaders -configuration Release"
function check {
return_code=$?
if [ $return_code != 0 ]; then
echo "last command failed (return $return_code)"
exit $return_code
fi
}
function build_gmsh {
if [ $# -ne 1 ]; then
echo "You must specify an architecture (e.g. armv7, armv7s, arm64, ...)"
return
fi
if [ ! -d "$gmsh_svn/build_ios_$1" ]; then
mkdir $gmsh_svn/build_ios_$1
cd $gmsh_svn/build_ios_$1
cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_TETGEN=1 -DCMAKE_OSX_ARCHITECTURES="$1" ../
cd -
fi
cd $gmsh_svn/build_ios_$1
$build_cmd
$header_cmd
cd -
}
function build_getdp {
if [ $# -ne 1 ]; then
echo "You must specify an architecture (e.g. armv7, armv7s, arm64, ...)"
return
fi
if [ ! -d "$getdp_svn/build_ios_$1" ]; then
mkdir $getdp_svn/build_ios_$1
cd $getdp_svn/build_ios_$1
export PETSC_DIR=
export PETSC_ARCH=
cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DGMSH_INC="$frameworks_dir/Gmsh.framework/Headers/" -DGMSH_LIB="$frameworks_dir/Gmsh.framework/Gmsh" -DCMAKE_OSX_ARCHITECTURES="$1" ../
cd -
fi
cd $getdp_svn/build_ios_$1
$build_cmd
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
$header_cmd
cd -
}
# build gmsh's framework
cd $gmsh_svn && svn up
build_gmsh armv7
build_gmsh armv7s
build_gmsh arm64
mkdir -p $frameworks_dir/Gmsh.framework/Headers
lipo -create $gmsh_svn/build_ios_armv7/Release-iphoneos/libGmsh.a $gmsh_svn/build_ios_arm64/Release-iphoneos/libGmsh.a $gmsh_svn/build_ios_armv7s/Release-iphoneos/libGmsh.a -output $frameworks_dir/Gmsh.framework/Gmsh
cd $frameworks_dir/Gmsh.framework/Headers
cp $gmsh_svn/build_ios_armv7/Headers/gmsh/* .
ln -s . gmsh
# build getdp's framework
cd $getdp_svn && svn up
build_getdp armv7
build_getdp armv7s
build_getdp arm64
mkdir -p $frameworks_dir/GetDP.framework/Headers
lipo -create $getdp_svn/build_ios_armv7/Release-iphoneos/libGetdp.a $getdp_svn/build_ios_arm64/Release-iphoneos/libGetdp.a $getdp_svn/build_ios_armv7s/Release-iphoneos/libGetdp.a -output $frameworks_dir/GetDP.framework/GetDP
cd $frameworks_dir/GetDP.framework/Headers
cp $getdp_svn/build_ios_armv7/Headers/getdp/* .
#build xcode project
mkdir $gmsh_svn/contrib/mobile/xcode_project
cd $gmsh_svn/contrib/mobile/xcode_project
cmake -DCMAKE_INCLUDE_PATH="$frameworks_dir;$getdp_svn" ..
make xcodeProject
#TODO
#xcodebuild -project "Onelab" -target "Onelab" -configuration Release
#xcrun -sdk iphoneos PackageApplication -v "Onelab.app" -o "Onelab.ipa" --sign "iPhone Distribution: Your Signature\" --embed enterprise.mobileprovision