diff --git a/CMakeLists.txt b/CMakeLists.txt index 5508629bc553ee05ea5564d8dbdcd57ed9b138d4..f7593c1c9d27b8c7856d8f6acda6dadff201fe00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,8 @@ option(ENABLE_BUILD_LIB "Build static Gmsh library" OFF) option(ENABLE_BUILD_SHARED "Build shared Gmsh library" OFF) option(ENABLE_BUILD_DYNAMIC "Build dynamically linked Gmsh binary" OFF) option(ENABLE_BUILD_ANDROID "Build Gmsh library for Android NDK" OFF) -option(ENABLE_BUILD_IOS "Build Gmsh library for iOS" OFF) +option(ENABLE_BUILD_IOS "Build Gmsh library for iOS (ARM)" OFF) +option(ENABLE_BUILD_IOS_EMULATOR "Build Gmsh library for iOS emulator (x86)" OFF) option(ENABLE_CGNS "Enable CGNS mesh export" OFF) option(ENABLE_CHACO "Enable Chaco mesh partitioner" ${DEFAULT}) option(ENABLE_DINTEGRATION "Enable discrete integration and levelsets" ${DEFAULT}) @@ -449,11 +450,16 @@ if(ENABLE_ONELAB) endif(ENABLE_ONELAB_METAMODEL) endif(ENABLE_ONELAB) +if(ENABLE_BUILD_IOS_EMULATOR) + set(GMSH_API ${GMSH_API} Common/onelab.h Common/GmshSocket.h Common/onelabUtils.h) +endif(ENABLE_BUILD_IOS_EMULATOR) + if(ENABLE_BUILD_IOS) find_file(CMAKE_TOOLCHAIN_FILE "ios.cmake") if(NOT CMAKE_TOOLCHAIN_FILE) message(SEND_ERROR "Cannot compile Gmsh for iOS without a toolchain") endif(NOT CMAKE_TOOLCHAIN_FILE) + set(GMSH_API ${GMSH_API} Common/onelab.h Common/GmshSocket.h Common/onelabUtils.h) endif(ENABLE_BUILD_IOS) if(ENABLE_BUILD_ANDROID) diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt index 9a6da0cee1ec17a1328bfbf7b45dfc6b95b23e3d..4b9d74056893b9d03603b0eda81b79053e00bb14 100644 --- a/contrib/mobile/CMakeLists.txt +++ b/contrib/mobile/CMakeLists.txt @@ -25,7 +25,14 @@ macro(append_src FILES) set(ONELAB_SRC ${ONELAB_SRC};${LIST}) endmacro(append_src) -if(ENABLE_BUILD_IOS_EMULATOR) +macro(copy_headers SOURCE DEST) + file(GLOB hfiles "${SOURCE}/*.h") + foreach(file ${hfiles}) + add_custom_command(TARGET xcodeProject POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${file} ${DEST}) + endforeach(file ${hfiles}) +endmacro(copy_headers) + +if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) # we need getdp framework find_path(GETDP_FRAMEWORK "GetDP" GetDP.framework) if(NOT GETDP_FRAMEWORK) @@ -49,12 +56,17 @@ if(ENABLE_BUILD_IOS_EMULATOR) COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawGModel.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawGModel.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/iosGModel.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ - # FIXME preserve links ??? - COMMAND ${CMAKE_COMMAND} -E copy_directory ${GETDP_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${GMSH_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${PETSC_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/ + COMMAND ${CMAKE_COMMAND} -E copy ${GETDP_FRAMEWORK}/GetDP ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/ + COMMAND ${CMAKE_COMMAND} -E copy ${GMSH_FRAMEWORK}/Gmsh ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/ + COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_FRAMEWORK}/petsc ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/ ) -endif(ENABLE_BUILD_IOS_EMULATOR) + copy_headers(${GETDP_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/) + copy_headers(${GMSH_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/) + copy_headers(${PETSC_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/) +endif(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) if(ENABLE_BUILD_ANDROID) append_src(drawGModel.cpp) diff --git a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj index a1feabb4948e002ee28f4b3cc16d96e5b3e726f0..1ab22b2589d521905c514f9d88381570cefc5c34 100644 --- a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj +++ b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj @@ -446,6 +446,7 @@ buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/../../getdp-iOS\"", @@ -473,6 +474,7 @@ buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/../../getdp-iOS\"", diff --git a/contrib/mobile/iOS/Onelab/Onelab-Info.plist b/contrib/mobile/iOS/Onelab/Onelab-Info.plist index 0ac9412674996a62185acb6fcf732bef102d9b66..4b48aecb2824beda7d60a8758db47716372c41a4 100644 --- a/contrib/mobile/iOS/Onelab/Onelab-Info.plist +++ b/contrib/mobile/iOS/Onelab/Onelab-Info.plist @@ -9,7 +9,7 @@ <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIdentifier</key> - <string>onelab.${PRODUCT_NAME:rfc1034identifier}</string> + <string>org.geuz.${PRODUCT_NAME:rfc1034identifier}</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key>