Skip to content
Snippets Groups Projects
Commit 5e776af2 authored by Maxime Graulich's avatar Maxime Graulich
Browse files

Fixes for iOS (make xcodeProject generate a working project for xcode + add onelab to the API)

parent f1d8829e
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,8 @@ option(ENABLE_BUILD_LIB "Build static Gmsh library" OFF) ...@@ -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_SHARED "Build shared Gmsh library" OFF)
option(ENABLE_BUILD_DYNAMIC "Build dynamically linked Gmsh binary" 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_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_CGNS "Enable CGNS mesh export" OFF)
option(ENABLE_CHACO "Enable Chaco mesh partitioner" ${DEFAULT}) option(ENABLE_CHACO "Enable Chaco mesh partitioner" ${DEFAULT})
option(ENABLE_DINTEGRATION "Enable discrete integration and levelsets" ${DEFAULT}) option(ENABLE_DINTEGRATION "Enable discrete integration and levelsets" ${DEFAULT})
...@@ -449,11 +450,16 @@ if(ENABLE_ONELAB) ...@@ -449,11 +450,16 @@ if(ENABLE_ONELAB)
endif(ENABLE_ONELAB_METAMODEL) endif(ENABLE_ONELAB_METAMODEL)
endif(ENABLE_ONELAB) 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) if(ENABLE_BUILD_IOS)
find_file(CMAKE_TOOLCHAIN_FILE "ios.cmake") find_file(CMAKE_TOOLCHAIN_FILE "ios.cmake")
if(NOT CMAKE_TOOLCHAIN_FILE) if(NOT CMAKE_TOOLCHAIN_FILE)
message(SEND_ERROR "Cannot compile Gmsh for iOS without a toolchain") message(SEND_ERROR "Cannot compile Gmsh for iOS without a toolchain")
endif(NOT CMAKE_TOOLCHAIN_FILE) endif(NOT CMAKE_TOOLCHAIN_FILE)
set(GMSH_API ${GMSH_API} Common/onelab.h Common/GmshSocket.h Common/onelabUtils.h)
endif(ENABLE_BUILD_IOS) endif(ENABLE_BUILD_IOS)
if(ENABLE_BUILD_ANDROID) if(ENABLE_BUILD_ANDROID)
......
...@@ -25,7 +25,14 @@ macro(append_src FILES) ...@@ -25,7 +25,14 @@ macro(append_src FILES)
set(ONELAB_SRC ${ONELAB_SRC};${LIST}) set(ONELAB_SRC ${ONELAB_SRC};${LIST})
endmacro(append_src) 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 # we need getdp framework
find_path(GETDP_FRAMEWORK "GetDP" GetDP.framework) find_path(GETDP_FRAMEWORK "GetDP" GetDP.framework)
if(NOT GETDP_FRAMEWORK) if(NOT GETDP_FRAMEWORK)
...@@ -49,12 +56,17 @@ if(ENABLE_BUILD_IOS_EMULATOR) ...@@ -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.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}/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/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/iosGModel.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
# FIXME preserve links ??? COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${GETDP_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${GMSH_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PETSC_FRAMEWORK} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/ 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) if(ENABLE_BUILD_ANDROID)
append_src(drawGModel.cpp) append_src(drawGModel.cpp)
......
...@@ -446,6 +446,7 @@ ...@@ -446,6 +446,7 @@
buildSettings = { buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_OBJCPP_ARC_ABI = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"\"$(SRCROOT)/../../getdp-iOS\"", "\"$(SRCROOT)/../../getdp-iOS\"",
...@@ -473,6 +474,7 @@ ...@@ -473,6 +474,7 @@
buildSettings = { buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_OBJCPP_ARC_ABI = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"\"$(SRCROOT)/../../getdp-iOS\"", "\"$(SRCROOT)/../../getdp-iOS\"",
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>onelab.${PRODUCT_NAME:rfc1034identifier}</string> <string>org.geuz.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment