diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt index 3f42cca727b892d6ead61b947b0eb42394cc160d..ad4202cfe5f4d310df931d6661094d53da425127 100644 --- a/contrib/mobile/CMakeLists.txt +++ b/contrib/mobile/CMakeLists.txt @@ -73,6 +73,14 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) else(SLEPC_FRAMEWORK) message(SEND_ERROR "Could not find slepc.framework") endif(SLEPC_FRAMEWORK) + # OpenCASCADE framework + find_path(OCCT_FRAMEWORK OCCT.framework) + if(OCCT_FRAMEWORK) + set(OCCT_FRAMEWORK ${OCCT_FRAMEWORK}/OCCT.framework) + message(STATUS "Found framework " ${OCCT_FRAMEWORK}) + else(OCCT_FRAMEWORK) + message(SEND_ERROR "Could not find OCCT.framework") + endif(OCCT_FRAMEWORK) # add target add_custom_target(xcodeProject COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/models/ @@ -99,6 +107,7 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) COMMAND ${CMAKE_COMMAND} -E create_symlink . ${GMSH_FRAMEWORK}/Headers/gmsh COMMAND ${CMAKE_COMMAND} -E copy_directory ${PETSC_FRAMEWORK}/ ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/${APPNAME}/frameworks/petsc.framework/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SLEPC_FRAMEWORK}/ ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/${APPNAME}/frameworks/slepc.framework/ + COMMAND ${CMAKE_COMMAND} -E copy_directory ${OCCT_FRAMEWORK}/ ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/${APPNAME}/frameworks/OCCT.framework/ ) add_custom_command(TARGET xcodeProject POST_BUILD COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/${APPNAME}/files) @@ -191,7 +200,8 @@ if(ENABLE_BUILD_ANDROID) add_custom_target(androidProject COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/models/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Android/ ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/ + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Android/ ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/res/raw COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${GMSH_LIB} ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${GETDP_LIB} ${CMAKE_CURRENT_BINARY_DIR}/${APPNAME}/libs/armeabi-v7a/ diff --git a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj index e85cbc52f13226d2b32993b75dba56201786da03..7f49cd80624826658ef199692d093e0e03047618 100644 --- a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj +++ b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 2901F1211BB0086C004C328B /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 2901F1201BB0086C004C328B /* libz.tbd */; }; 2907CCEC193DE6560011341A /* icon_onelab.png in Resources */ = {isa = PBXBuildFile; fileRef = 2907CCEB193DE6560011341A /* icon_onelab.png */; }; + 291191DB1E93ACF700069C0C /* OCCT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 291191DA1E93ACF700069C0C /* OCCT.framework */; }; 295056611D9AF3D200B9D9C4 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 295056601D9AF3D200B9D9C4 /* MessageUI.framework */; }; 2988FF1E18E59558001435B6 /* libf2cblas.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2988FF1C18E59558001435B6 /* libf2cblas.a */; }; 2988FF1F18E59558001435B6 /* libf2clapack.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2988FF1D18E59558001435B6 /* libf2clapack.a */; }; @@ -55,9 +56,10 @@ /* Begin PBXFileReference section */ 2901F1201BB0086C004C328B /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-tbd-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 2907CCEB193DE6560011341A /* icon_onelab.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_onelab.png; sourceTree = "<group>"; }; + 291191DA1E93ACF700069C0C /* OCCT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OCCT.framework; path = Onelab/frameworks/OCCT.framework; sourceTree = "<group>"; }; 295056601D9AF3D200B9D9C4 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; - 2988FF1C18E59558001435B6 /* libf2cblas.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2cblas.a; path = ../../frameworks_ios/libf2cblas.a; sourceTree = "<group>"; }; - 2988FF1D18E59558001435B6 /* libf2clapack.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2clapack.a; path = ../../frameworks_ios/libf2clapack.a; sourceTree = "<group>"; }; + 2988FF1C18E59558001435B6 /* libf2cblas.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2cblas.a; path = Onelab/frameworks/petsc.framework/libf2cblas.a; sourceTree = "<group>"; }; + 2988FF1D18E59558001435B6 /* libf2clapack.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2clapack.a; path = Onelab/frameworks/petsc.framework/libf2clapack.a; sourceTree = "<group>"; }; 29A4AC7F193CE6DA0007B5A5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; }; 9C1B9911194F4E0400507EFD /* slepc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = slepc.framework; path = Onelab/frameworks/slepc.framework; sourceTree = "<group>"; }; 9C1C10F817BA5E7D00BFD483 /* OptionsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsViewController.h; sourceTree = "<group>"; }; @@ -139,6 +141,7 @@ 9CE08E11178AEB1600A83B4B /* Gmsh.framework in Frameworks */, 9CE08E12178AEB1600A83B4B /* petsc.framework in Frameworks */, 9C1B9912194F4E0400507EFD /* slepc.framework in Frameworks */, + 291191DB1E93ACF700069C0C /* OCCT.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -175,6 +178,7 @@ 9C9608391712C16300E1D4A0 /* Frameworks */ = { isa = PBXGroup; children = ( + 291191DA1E93ACF700069C0C /* OCCT.framework */, 295056601D9AF3D200B9D9C4 /* MessageUI.framework */, 2901F1201BB0086C004C328B /* libz.tbd */, 9C1B9911194F4E0400507EFD /* slepc.framework */, diff --git a/contrib/mobile/iOS/Onelab/Onelab-Info.plist b/contrib/mobile/iOS/Onelab/Onelab-Info.plist index acdd4e90bc0ea30cb3d138919495419eaedb6b83..ea8967b94f0bf9801a33f8dccdecdcf2ad6ef14c 100644 --- a/contrib/mobile/iOS/Onelab/Onelab-Info.plist +++ b/contrib/mobile/iOS/Onelab/Onelab-Info.plist @@ -35,11 +35,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.6.0</string> + <string>2.0.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.6.0.0</string> + <string>2.0.0.0</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UIFileSharingEnabled</key> diff --git a/contrib/mobile/utils/android_build.sh b/contrib/mobile/utils/android_build.sh index 755df82db1af44e4359ff250fec63a205f276f20..076f27712160afab59b35cb3e7d8cc7066a669c3 100755 --- a/contrib/mobile/utils/android_build.sh +++ b/contrib/mobile/utils/android_build.sh @@ -6,15 +6,15 @@ if [ $# -eq 1 ] ; then echo "Rebranding Onelab app as ${appname}" fi -gmsh_svn="${HOME}/src/gmsh" -getdp_svn="${HOME}/src/getdp" +gmsh_git="${HOME}/src/gmsh" +getdp_git="${HOME}/src/getdp" frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_android" -if [ -f ${getdp_svn}/benchmarks/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks && ./cleanup.sh +if [ -f ${getdp_git}/benchmarks/cleanup.sh ]; then + cd ${getdp_git}/benchmarks && ./cleanup.sh fi -if [ -f ${getdp_svn}/benchmarks_private/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks_private && ./cleanup.sh +if [ -f ${getdp_git}/benchmarks_private/cleanup.sh ]; then + cd ${getdp_git}/benchmarks_private && ./cleanup.sh fi petsc_lib="$frameworks_dir/petsc" @@ -34,12 +34,12 @@ function check { } # Gmsh -cd $gmsh_svn -svn up -if [ ! -d "$gmsh_svn/build_android" ] || [ ! -f "$gmsh_svn/build_android/CMakeCache.txt" ]; then - mkdir $gmsh_svn/build_android +cd $gmsh_git +git pull +if [ ! -d "$gmsh_git/build_android" ] || [ ! -f "$gmsh_git/build_android/CMakeCache.txt" ]; then + mkdir $gmsh_git/build_android fi -cd $gmsh_svn/build_android +cd $gmsh_git/build_android cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" .. check make androidGmsh -j$cmake_thread @@ -48,13 +48,13 @@ make get_headers check # GetDP -cd $getdp_svn -svn up -if [ ! -d "$getdp_svn/build_android" ] || [ ! -f "$getdp_svn/build_android/CMakeCache.txt" ]; then - mkdir $getdp_svn/build_android +cd $getdp_git +git pull +if [ ! -d "$getdp_git/build_android" ] || [ ! -f "$getdp_git/build_android/CMakeCache.txt" ]; then + mkdir $getdp_git/build_android fi -cd $getdp_svn/build_android -PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_lib/Headers/" -DSLEPC_LIB="$slepc_lib/libslepc.so" -DGMSH_INC="$gmsh_svn/build_android/Headers/" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" .. +cd $getdp_git/build_android +PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_lib/Headers/" -DSLEPC_LIB="$slepc_lib/libslepc.so" -DGMSH_INC="$gmsh_git/build_android/Headers/" -DGMSH_LIB="$gmsh_git/build_android/libs/libGmsh.so" -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" .. check make androidGetdp -j$cmake_thread check @@ -62,18 +62,18 @@ make get_headers check # Onelab/Mobile interface -if [ ! -d "$gmsh_svn/contrib/mobile/build_android_${appname}" ]; then - mkdir $gmsh_svn/contrib/mobile/build_android_${appname} +if [ ! -d "$gmsh_git/contrib/mobile/build_android_${appname}" ]; then + mkdir $gmsh_git/contrib/mobile/build_android_${appname} fi -cd $gmsh_svn/contrib/mobile/build_android_${appname} +cd $gmsh_git/contrib/mobile/build_android_${appname} cmake $cmake_default -DAPPNAME:STRING=${appname} \ - -DCMAKE_INCLUDE_PATH="$getdp_svn/" \ + -DCMAKE_INCLUDE_PATH="$getdp_git/" \ -DBLAS_LIB="$petsc_lib/libf2cblas.so" -DLAPACK_LIB="$petsc_lib/libf2clapack.so" \ -DPETSC_LIB="$petsc_lib/libpetsc.so" -DSLEPC_LIB="$slepc_lib/libslepc.so" \ - -DGMSH_INC="$gmsh_svn/build_android/Headers" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" \ - -DBENCHMARKSDIR="$getdp_svn/" \ - -DGETDP_INC="$getdp_svn/build_android/Headers" -DGETDP_LIB="$getdp_svn/build_android/libs/libGetDP.so" .. + -DGMSH_INC="$gmsh_git/build_android/Headers" -DGMSH_LIB="$gmsh_git/build_android/libs/libGmsh.so" \ + -DBENCHMARKSDIR="$getdp_git/" \ + -DGETDP_INC="$getdp_git/build_android/Headers" -DGETDP_LIB="$getdp_git/build_android/libs/libGetDP.so" .. check make androidOnelab -j$cmake_thread check @@ -109,7 +109,7 @@ fi check if [ ! -f "ant.properties" ]; then - cp $gmsh_svn/contrib/mobile/utils/ant.properties . + cp $gmsh_git/contrib/mobile/utils/ant.properties . fi ant release check diff --git a/contrib/mobile/utils/ios_build.sh b/contrib/mobile/utils/ios_build.sh index 105ef50f0f94e1fe25a4fcc914d5bbdaa38c808f..ace8a24acf1c51a7c4703f53ebf811026e9f48bf 100755 --- a/contrib/mobile/utils/ios_build.sh +++ b/contrib/mobile/utils/ios_build.sh @@ -6,23 +6,24 @@ if [ $# -eq 1 ] ; then echo "Rebranding Onelab app as ${appname}" fi -if [ -f ${getdp_svn}/benchmarks/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks && ./cleanup.sh +gmsh_git="${HOME}/src/gmsh/" +getdp_git="${HOME}/src/getdp/" +frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_ios/" + +if [ -f ${getdp_git}/benchmarks/cleanup.sh ]; then + cd ${getdp_git}/benchmarks && ./cleanup.sh fi -if [ -f ${getdp_svn}/benchmarks_private/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks_private && ./cleanup.sh +if [ -f ${getdp_git}/benchmarks_private/cleanup.sh ]; then + cd ${getdp_git}/benchmarks_private && ./cleanup.sh fi -gmsh_svn="${HOME}/src/gmsh/" -getdp_svn="${HOME}/src/getdp/" -frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_ios/" - petsc_framework="$frameworks_dir/petsc.framework" slepc_framework="$frameworks_dir/slepc.framework" gmsh_framework="$frameworks_dir/Gmsh.framework" getdp_framework="$frameworks_dir/GetDP.framework" +occt_framework="$frameworks_dir/OCCT.framework" -cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=OS -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64 -GXcode" +cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_git/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=OS -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64 -GXcode" build_cmd="xcodebuild -target lib -configuration Release" headers_cmd="xcodebuild -target get_headers -configuration Release" @@ -36,38 +37,38 @@ function check { } # build gmsh framework -cd $gmsh_svn && svn up -mkdir -p $gmsh_svn/build_ios -cd $gmsh_svn/build_ios -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_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 .. +cd $gmsh_git && git pull +mkdir -p $gmsh_git/build_ios +cd $gmsh_git/build_ios +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_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DENABLE_OCC=1 -DOCC_LIBS="$occt_framework/OCCT" -DOCC_INC="$occt_framework/Headers/" .. check -$build_cmd OTHER_CFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" +$build_cmd OTHER_CFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode -std=c++11" check $headers_cmd mkdir -p $gmsh_framework/Headers -cp $gmsh_svn/build_ios/Release-iphoneos/libGmsh.a $gmsh_framework/Gmsh +cp $gmsh_git/build_ios/Release-iphoneos/libGmsh.a $gmsh_framework/Gmsh cd $gmsh_framework/Headers -cp $gmsh_svn/build_ios/Headers/gmsh/* . +cp $gmsh_git/build_ios/Headers/gmsh/* . ln -s . gmsh # build getdp framework -cd $getdp_svn && svn up -mkdir -p $getdp_svn/build_ios -cd $getdp_svn/build_ios +cd $getdp_git && git pull +mkdir -p $getdp_git/build_ios +cd $getdp_git/build_ios PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. check $build_cmd OTHER_CFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" check $headers_cmd mkdir -p $getdp_framework/Headers -cp $getdp_svn/build_ios/Release-iphoneos/libGetDP.a $getdp_framework/GetDP +cp $getdp_git/build_ios/Release-iphoneos/libGetDP.a $getdp_framework/GetDP cd $getdp_framework/Headers -cp $getdp_svn/build_ios/Headers/getdp/* . +cp $getdp_git/build_ios/Headers/getdp/* . # create xcode project -mkdir $gmsh_svn/contrib/mobile/build_ios_${appname} -cd $gmsh_svn/contrib/mobile/build_ios_${appname} -cmake -DCMAKE_INCLUDE_PATH="$frameworks_dir;$getdp_svn" -DAPPNAME:STRING=${appname} .. +mkdir $gmsh_git/contrib/mobile/build_ios_${appname} +cd $gmsh_git/contrib/mobile/build_ios_${appname} +cmake -DCMAKE_INCLUDE_PATH="$frameworks_dir;$getdp_git" -DAPPNAME:STRING=${appname} .. make xcodeProject #TODO diff --git a/contrib/mobile/utils/iossimulator_build.sh b/contrib/mobile/utils/iossimulator_build.sh index ceee30f3db46cd3823eaf13ff9b1111c1da5a3d4..10c218b51d6188e48c59801bf0ee5efff2187b62 100755 --- a/contrib/mobile/utils/iossimulator_build.sh +++ b/contrib/mobile/utils/iossimulator_build.sh @@ -6,23 +6,24 @@ if [ $# -eq 1 ] ; then echo "Rebranding Onelab app as ${appname}" fi -gmsh_svn="${HOME}/src/gmsh/" -getdp_svn="${HOME}/src/getdp/" +gmsh_git="${HOME}/src/gmsh/" +getdp_git="${HOME}/src/getdp/" frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_iossimulator/" -if [ -f ${getdp_svn}/benchmarks/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks && ./cleanup.sh +if [ -f ${getdp_git}/benchmarks/cleanup.sh ]; then + cd ${getdp_git}/benchmarks && ./cleanup.sh fi -if [ -f ${getdp_svn}/benchmarks_private/cleanup.sh ]; then - cd ${getdp_svn}/benchmarks_private && ./cleanup.sh +if [ -f ${getdp_git}/benchmarks_private/cleanup.sh ]; then + cd ${getdp_git}/benchmarks_private && ./cleanup.sh fi petsc_framework="$frameworks_dir/petsc.framework" slepc_framework="$frameworks_dir/slepc.framework" gmsh_framework="$frameworks_dir/Gmsh.framework" getdp_framework="$frameworks_dir/GetDP.framework" +occt_framework="$frameworks_dir/OCCT.framework" -cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=SIMULATOR -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=i386;x86_64 -GXcode" +cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_git/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=SIMULATOR -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=i386;x86_64 -GXcode" build_cmd="xcodebuild -target lib -configuration Release" headers_cmd="xcodebuild -target get_headers -configuration Release" @@ -36,40 +37,40 @@ function check { } # build gmsh framework -cd $gmsh_svn && svn up -mkdir -p $gmsh_svn/build_iossimulator -cd $gmsh_svn/build_iossimulator -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_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 .. +cd $gmsh_git && git pull +mkdir -p $gmsh_git/build_iossimulator +cd $gmsh_git/build_iossimulator +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_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DENABLE_OCC=1 -DOCC_LIBS="$occt_framework/OCCT" -DOCC_INC="$occt_framework/Headers/" .. check -$build_cmd OTHER_CFLAGS="-mios-simulator-version-min=8.0" OTHER_CPLUSPLUSFLAGS="-mios-simulator-version-min=8.0" +$build_cmd OTHER_CFLAGS="-mios-simulator-version-min=8.0" OTHER_CPLUSPLUSFLAGS="-mios-simulator-version-min=8.0 -std=c++11" check $headers_cmd mkdir -p $gmsh_framework/Headers -cp $gmsh_svn/build_iossimulator/Release-iphonesimulator/libGmsh.a $gmsh_framework/Gmsh +cp $gmsh_git/build_iossimulator/Release-iphonesimulator/libGmsh.a $gmsh_framework/Gmsh cd $gmsh_framework/Headers -cp $gmsh_svn/build_iossimulator/Headers/gmsh/* . +cp $gmsh_git/build_iossimulator/Headers/gmsh/* . ln -s . gmsh # build getdp framework -cd $getdp_svn && svn up -mkdir -p $getdp_svn/build_iossimulator -cd $getdp_svn/build_iossimulator +cd $getdp_git && git pull +mkdir -p $getdp_git/build_iossimulator +cd $getdp_git/build_iossimulator PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. check $build_cmd OTHER_CFLAGS="-mios-simulator-version-min=8.0" OTHER_CPLUSPLUSFLAGS="-mios-simulator-version-min=8.0" check $headers_cmd mkdir -p $getdp_framework/Headers -cp $getdp_svn/build_iossimulator/Release-iphonesimulator/libGetDP.a $getdp_framework/GetDP +cp $getdp_git/build_iossimulator/Release-iphonesimulator/libGetDP.a $getdp_framework/GetDP cd $getdp_framework/Headers -cp $getdp_svn/build_iossimulator/Headers/getdp/* . +cp $getdp_git/build_iossimulator/Headers/getdp/* . # create xcode project -mkdir $gmsh_svn/contrib/mobile/build_iossimulator_${appname} -cd $gmsh_svn/contrib/mobile/build_iossimulator_${appname} -cmake -DCMAKE_INCLUDE_PATH="$frameworks_dir;$getdp_svn" -DAPPNAME:STRING=${appname} .. +mkdir $gmsh_git/contrib/mobile/build_iossimulator_${appname} +cd $gmsh_git/contrib/mobile/build_iossimulator_${appname} +cmake -DCMAKE_INCLUDE_PATH="$frameworks_dir;$getdp_git" -DAPPNAME:STRING=${appname} .. make xcodeProject # change blas/lapack for simulator -sed -e "s|lastKnownFileType = archive.ar; name = libf2cblas.a; path = ../../frameworks_ios/libf2cblas.a;|lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework;|" -i "" $gmsh_svn/contrib/mobile/build_iossimulator_${appname}/${appname}/${appname}.xcodeproj/project.pbxproj -sed -e "s|lastKnownFileType = archive.ar; name = libf2clapack.a; path = ../../frameworks_ios/libf2clapack.a;|lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework;|" -i "" $gmsh_svn/contrib/mobile/build_iossimulator_${appname}/${appname}/${appname}.xcodeproj/project.pbxproj +sed -e "s|lastKnownFileType = archive.ar; name = libf2cblas.a; path = Onelab/frameworks/petsc.framework/libf2cblas.a;|lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework;|" -i "" $gmsh_git/contrib/mobile/build_iossimulator_${appname}/${appname}/${appname}.xcodeproj/project.pbxproj +sed -e "s|lastKnownFileType = archive.ar; name = libf2clapack.a; path = Onelab/frameworks/petsc.framework/libf2clapack.a;|lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework;|" -i "" $gmsh_git/contrib/mobile/build_iossimulator_${appname}/${appname}/${appname}.xcodeproj/project.pbxproj