From 97230dd99c7a4933f28be846b1c90263310a30a8 Mon Sep 17 00:00:00 2001
From: Maxime Graulich <maxime.graulich@gmail.com>
Date: Tue, 15 Oct 2013 07:46:42 +0000
Subject: [PATCH] iOS: add icons

---
 contrib/mobile/CMakeLists.txt                 |   5 +-
 .../iOS/Onelab.xcodeproj/project.pbxproj      |  50 +++++++++++++++---
 contrib/mobile/iOS/ic_launcher.png            | Bin 3687 -> 0 bytes
 contrib/mobile/iOS/ic_launcher_retina.png     | Bin 9362 -> 0 bytes
 contrib/mobile/utils/make_icon_ios.sh         |  13 +++++
 5 files changed, 58 insertions(+), 10 deletions(-)
 delete mode 100644 contrib/mobile/iOS/ic_launcher.png
 delete mode 100644 contrib/mobile/iOS/ic_launcher_retina.png
 create mode 100755 contrib/mobile/utils/make_icon_ios.sh

diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt
index 5ac87d54f1..f37e434cdb 100644
--- a/contrib/mobile/CMakeLists.txt
+++ b/contrib/mobile/CMakeLists.txt
@@ -57,11 +57,12 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS)
   endif(PETSC_FRAMEWORK)
   # add target
   add_custom_target(xcodeProject
+    cd ${CMAKE_CURRENT_SOURCE_DIR}/utils/ && ${CMAKE_CURRENT_SOURCE_DIR}/utils/make_icon_ios.sh
     COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
+    COMMAND ${CMAKE_COMMAND} -E copy_directory  ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
+    COMMAND ${CMAKE_COMMAND} -E copy_directory  ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Default-568h@2x.png ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Default-568h@2x.png
     COMMAND ${CMAKE_COMMAND} -E copy_directory  ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab.xcodeproj/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab.xcodeproj/
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/iOS/ic_launcher.png ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/iOS/ic_launcher_retina.png ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawGeom.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
diff --git a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
index 6b434f3bca..1a3805161d 100644
--- a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
+++ b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
@@ -9,6 +9,14 @@
 /* Begin PBXBuildFile section */
 		9C1C10FA17BA5E7D00BFD483 /* OptionsViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C1C10F917BA5E7D00BFD483 /* OptionsViewController.mm */; };
 		9C6A645817A7C3DB00DEDAFC /* drawString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C6A645617A7C3DB00DEDAFC /* drawString.cpp */; };
+		9C928629180D217B00AAABD4 /* icon_app_ipad_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928622180D217A00AAABD4 /* icon_app_ipad_61.png */; };
+		9C92862A180D217B00AAABD4 /* icon_app_ipad_retina_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928623180D217A00AAABD4 /* icon_app_ipad_retina_61.png */; };
+		9C92862B180D217B00AAABD4 /* icon_app_ipad_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */; };
+		9C92862C180D217B00AAABD4 /* icon_app_ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928625180D217A00AAABD4 /* icon_app_ipad.png */; };
+		9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */; };
+		9C92862E180D217B00AAABD4 /* icon_app_iphone_retina_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */; };
+		9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */; };
+		9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928632180D297C00AAABD4 /* Default-568h@2x.png */; };
 		9C95B7F61726C88E00C0CCE2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C95B7F51726C88E00C0CCE2 /* main.mm */; };
 		9C96083B1712C16300E1D4A0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083A1712C16300E1D4A0 /* UIKit.framework */; };
 		9C96083D1712C16300E1D4A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083C1712C16300E1D4A0 /* Foundation.framework */; };
@@ -22,8 +30,6 @@
 		9C96089D1712C7F600E1D4A0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96089C1712C7F600E1D4A0 /* QuartzCore.framework */; };
 		9C96089F1712C8EB00E1D4A0 /* emulatorFix.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C96089E1712C8EB00E1D4A0 /* emulatorFix.c */; };
 		9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C9608AA1712EF0900E1D4A0 /* iPadStoryboard.storyboard */; };
-		9C9F8BCD174B5A1B004332C5 /* ic_launcher_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C9F8BCC174B5A1B004332C5 /* ic_launcher_retina.png */; };
-		9C9F8BCF174B5A23004332C5 /* ic_launcher.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C9F8BCE174B5A23004332C5 /* ic_launcher.png */; };
 		9CC6EBB717BA0A38001CA21A /* drawGeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9CC6EBB617BA0A38001CA21A /* drawGeom.cpp */; };
 		9CC6EBB917BA1CC7001CA21A /* drawMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9CC6EBB817BA1CC7001CA21A /* drawMesh.cpp */; };
 		9CC85C021790286C00F241C4 /* files in Resources */ = {isa = PBXBuildFile; fileRef = 9CC85C011790286C00F241C4 /* files */; };
@@ -48,6 +54,14 @@
 		9C1C10F917BA5E7D00BFD483 /* OptionsViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OptionsViewController.mm; sourceTree = "<group>"; };
 		9C6A645617A7C3DB00DEDAFC /* drawString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawString.cpp; sourceTree = "<group>"; usesTabs = 1; };
 		9C6A645717A7C3DB00DEDAFC /* drawString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = drawString.h; sourceTree = "<group>"; usesTabs = 1; };
+		9C928622180D217A00AAABD4 /* icon_app_ipad_61.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad_61.png; sourceTree = "<group>"; };
+		9C928623180D217A00AAABD4 /* icon_app_ipad_retina_61.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad_retina_61.png; sourceTree = "<group>"; };
+		9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad_retina.png; sourceTree = "<group>"; };
+		9C928625180D217A00AAABD4 /* icon_app_ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad.png; sourceTree = "<group>"; };
+		9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_iphone_61.png; sourceTree = "<group>"; };
+		9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_iphone_retina_61.png; sourceTree = "<group>"; };
+		9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_iphone_retina.png; sourceTree = "<group>"; };
+		9C928632180D297C00AAABD4 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
 		9C95B7F51726C88E00C0CCE2 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
 		9C9608361712C16300E1D4A0 /* Onelab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Onelab.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		9C96083A1712C16300E1D4A0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
@@ -68,8 +82,6 @@
 		9C96089E1712C8EB00E1D4A0 /* emulatorFix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = emulatorFix.c; sourceTree = "<group>"; usesTabs = 1; };
 		9C9608AB1712EF0900E1D4A0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/iPadStoryboard.storyboard; sourceTree = "<group>"; };
 		9C99754C17390DEE0036EC24 /* iosGModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iosGModel.h; sourceTree = "<group>"; usesTabs = 1; };
-		9C9F8BCC174B5A1B004332C5 /* ic_launcher_retina.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_launcher_retina.png; sourceTree = "<group>"; };
-		9C9F8BCE174B5A23004332C5 /* ic_launcher.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_launcher.png; sourceTree = "<group>"; };
 		9CC6EBB617BA0A38001CA21A /* drawGeom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawGeom.cpp; sourceTree = "<group>"; usesTabs = 1; };
 		9CC6EBB817BA1CC7001CA21A /* drawMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawMesh.cpp; sourceTree = "<group>"; };
 		9CC85C011790286C00F241C4 /* files */ = {isa = PBXFileReference; lastKnownFileType = folder; path = files; sourceTree = "<group>"; };
@@ -121,11 +133,24 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		9C928621180D216500AAABD4 /* icons */ = {
+			isa = PBXGroup;
+			children = (
+				9C928622180D217A00AAABD4 /* icon_app_ipad_61.png */,
+				9C928623180D217A00AAABD4 /* icon_app_ipad_retina_61.png */,
+				9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */,
+				9C928625180D217A00AAABD4 /* icon_app_ipad.png */,
+				9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */,
+				9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */,
+				9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */,
+			);
+			name = icons;
+			sourceTree = "<group>";
+		};
 		9C96082B1712C16300E1D4A0 = {
 			isa = PBXGroup;
 			children = (
-				9C9F8BCE174B5A23004332C5 /* ic_launcher.png */,
-				9C9F8BCC174B5A1B004332C5 /* ic_launcher_retina.png */,
+				9C928632180D297C00AAABD4 /* Default-568h@2x.png */,
 				9C9608401712C16300E1D4A0 /* Onelab */,
 				9C9608391712C16300E1D4A0 /* Frameworks */,
 				9C9608371712C16300E1D4A0 /* Products */,
@@ -161,6 +186,7 @@
 		9C9608401712C16300E1D4A0 /* Onelab */ = {
 			isa = PBXGroup;
 			children = (
+				9C928621180D216500AAABD4 /* icons */,
 				9CC85C011790286C00F241C4 /* files */,
 				9C9608AA1712EF0900E1D4A0 /* iPadStoryboard.storyboard */,
 				9CE1A65817B0FB9600E5152F /* iPhoneiPodStoryboard.storyboard */,
@@ -270,10 +296,16 @@
 			buildActionMask = 2147483647;
 			files = (
 				9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */,
-				9C9F8BCD174B5A1B004332C5 /* ic_launcher_retina.png in Resources */,
-				9C9F8BCF174B5A23004332C5 /* ic_launcher.png in Resources */,
+				9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */,
 				9CC85C021790286C00F241C4 /* files in Resources */,
+				9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */,
+				9C92862A180D217B00AAABD4 /* icon_app_ipad_retina_61.png in Resources */,
+				9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */,
+				9C92862C180D217B00AAABD4 /* icon_app_ipad.png in Resources */,
 				9CE1A65A17B0FB9700E5152F /* iPhoneiPodStoryboard.storyboard in Resources */,
+				9C928629180D217B00AAABD4 /* icon_app_ipad_61.png in Resources */,
+				9C92862B180D217B00AAABD4 /* icon_app_ipad_retina.png in Resources */,
+				9C92862E180D217B00AAABD4 /* icon_app_iphone_retina_61.png in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -359,6 +391,7 @@
 				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = 2;
+				VALID_ARCHS = "armv7 armv7s";
 			};
 			name = Debug;
 		};
@@ -388,6 +421,7 @@
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = 2;
 				VALIDATE_PRODUCT = YES;
+				VALID_ARCHS = "armv7 armv7s";
 			};
 			name = Release;
 		};
diff --git a/contrib/mobile/iOS/ic_launcher.png b/contrib/mobile/iOS/ic_launcher.png
deleted file mode 100644
index 0f700e7b64a142a517b544a6f8ead990363456bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3687
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
X&peKl4HFrYK>a;WS3j3^P6<r_n@#J+

diff --git a/contrib/mobile/iOS/ic_launcher_retina.png b/contrib/mobile/iOS/ic_launcher_retina.png
deleted file mode 100644
index b4e47dddbd234d2893e89b54b51be51468d9c9e1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9362
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
K&t;ucLK6TyVB9$X

diff --git a/contrib/mobile/utils/make_icon_ios.sh b/contrib/mobile/utils/make_icon_ios.sh
new file mode 100755
index 0000000000..43752d7091
--- /dev/null
+++ b/contrib/mobile/utils/make_icon_ios.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+mkdir ios.iconset
+# App icons (iPad)
+convert -scale 152 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_retina.png
+convert -scale 144 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_retina_61.png
+convert -scale 76 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad.png
+convert -scale 72 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_61.png
+
+# App icons (iPhone)
+convert -scale 120 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_iphone_retina.png
+convert -scale 114 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_iphone_retina_61.png
+convert -scale 57 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_iphone_61.png
-- 
GitLab