Sfoglia il codice sorgente

Fixed a mistake I Introduced in the build script where debug and shared-lib parameters were expecting a "="
Revert to default Release build type, but this time only for iOS
Do not attempt to use minizip if you are building for iOS shared dylib
Keep in mind that the "Shared" option only apply to the assimp library and not the other two built libraries

Doron Adler 7 anni fa
parent
commit
5b20ad3791
2 ha cambiato i file con 39 aggiunte e 12 eliminazioni
  1. 13 1
      CMakeLists.txt
  2. 26 11
      port/iOS/build.sh

+ 13 - 1
CMakeLists.txt

@@ -106,6 +106,12 @@ OPTION ( BUILD_DOCS
   OFF
   OFF
 )
 )
 
 
+IF (IOS)
+	IF (NOT CMAKE_BUILD_TYPE)
+ 		SET(CMAKE_BUILD_TYPE "Release")
+	ENDIF (NOT CMAKE_BUILD_TYPE)
+ENDIF (IOS)
+
 # Use subset of Windows.h
 # Use subset of Windows.h
 if (WIN32)
 if (WIN32)
   ADD_DEFINITIONS( -DWIN32_LEAN_AND_MEAN )
   ADD_DEFINITIONS( -DWIN32_LEAN_AND_MEAN )
@@ -336,7 +342,13 @@ ENDIF(NOT ZLIB_FOUND)
 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
 
 
 # Search for unzip
 # Search for unzip
-use_pkgconfig(UNZIP minizip)
+IF ( NOT IOS )
+	use_pkgconfig(UNZIP minizip)
+ELSE ( NOT IOS )
+	IF(NOT BUILD_SHARED_LIBS)
+		use_pkgconfig(UNZIP minizip)
+	ENDIF (NOT BUILD_SHARED_LIBS)
+ENDIF ( NOT IOS )
 
 
 IF ( ASSIMP_NO_EXPORT )
 IF ( ASSIMP_NO_EXPORT )
   ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT)
   ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT)

+ 26 - 11
port/iOS/build.sh

@@ -90,10 +90,10 @@ build_arch()
     if [[ "$BUILD_SHARED_LIBS" =~ "ON" ]]; then
     if [[ "$BUILD_SHARED_LIBS" =~ "ON" ]]; then
     	echo "[!] Moving built dynamic libraries into: $BUILD_DIR/$1/"
     	echo "[!] Moving built dynamic libraries into: $BUILD_DIR/$1/"
     	mv ./lib/*.dylib  $BUILD_DIR/$1/
     	mv ./lib/*.dylib  $BUILD_DIR/$1/
-    else
-    	echo "[!] Moving built static libraries into: $BUILD_DIR/$1/"
-    	mv ./lib/*.a $BUILD_DIR/$1/	    	
-    fi    
+    fi
+    
+    echo "[!] Moving built static libraries into: $BUILD_DIR/$1/"
+    mv ./lib/*.a $BUILD_DIR/$1/	   
 }
 }
 
 
 echo "[!] $0 - assimp iOS build script"
 echo "[!] $0 - assimp iOS build script"
@@ -117,11 +117,11 @@ for i in "$@"; do
         DEPLOY_ARCHS=`echo $i | sed 's/[-a-zA-Z0-9]*=//'`
         DEPLOY_ARCHS=`echo $i | sed 's/[-a-zA-Z0-9]*=//'`
         echo "[!] Selecting architectures: $DEPLOY_ARCHS"
         echo "[!] Selecting architectures: $DEPLOY_ARCHS"
     ;;
     ;;
-    -d=*|--debug=*)
+    --debug)
     	BUILD_TYPE=Debug        
     	BUILD_TYPE=Debug        
         echo "[!] Selecting build type: Debug"
         echo "[!] Selecting build type: Debug"
     ;;
     ;;
-    -s=*|--shared-lib=*)
+    --shared-lib)
     	BUILD_SHARED_LIBS=ON        
     	BUILD_SHARED_LIBS=ON        
         echo "[!] Will generate dynamic libraries"
         echo "[!] Will generate dynamic libraries"
     ;;
     ;;
@@ -155,7 +155,7 @@ for ARCH_TARGET in $DEPLOY_ARCHS; do
 done
 done
 
 
 
 
-make_fat_binary()
+make_fat_static_or_shared_binary()
 {
 {
 	LIB_NAME=$1
 	LIB_NAME=$1
 	LIPO_ARGS=''
 	LIPO_ARGS=''
@@ -166,16 +166,31 @@ make_fat_binary()
             LIPO_ARGS="$LIPO_ARGS-arch $ARCH_TARGET $BUILD_DIR/$ARCH_TARGET/$LIB_NAME.a "
             LIPO_ARGS="$LIPO_ARGS-arch $ARCH_TARGET $BUILD_DIR/$ARCH_TARGET/$LIB_NAME.a "
         fi
         fi
     done
     done
-    LIPO_ARGS="$LIPO_ARGS-create -output $BUILD_DIR/$LIB_NAME-fat.a"
+    if [[ "$BUILD_SHARED_LIBS" =~ "ON" ]]; then
+    	LIPO_ARGS="$LIPO_ARGS -create -output $BUILD_DIR/$LIB_NAME-fat.dylib"
+    else
+    	LIPO_ARGS="$LIPO_ARGS -create -output $BUILD_DIR/$LIB_NAME-fat.a"
+    fi
+    lipo $LIPO_ARGS
+}
+
+make_fat_static_binary()
+{
+	LIB_NAME=$1
+	LIPO_ARGS=''
+    for ARCH_TARGET in $DEPLOY_ARCHS; do
+        LIPO_ARGS="$LIPO_ARGS-arch $ARCH_TARGET $BUILD_DIR/$ARCH_TARGET/$LIB_NAME.a "
+    done
+    LIPO_ARGS="$LIPO_ARGS -create -output $BUILD_DIR/$LIB_NAME-fat.a"
     lipo $LIPO_ARGS
     lipo $LIPO_ARGS
 }
 }
 
 
 if [[ "$DEPLOY_FAT" -eq 1 ]]; then
 if [[ "$DEPLOY_FAT" -eq 1 ]]; then
     echo '[+] Creating fat binaries ...'
     echo '[+] Creating fat binaries ...'
     
     
-    make_fat_binary 'libassimp'
-    make_fat_binary 'libIrrXML'
-    make_fat_binary 'libzlibstatic'
+    make_fat_static_or_shared_binary 'libassimp'
+    make_fat_static_binary 'libIrrXML'
+    make_fat_static_binary 'libzlibstatic'
     
     
     echo "[!] Done! The fat binaries can be found at $BUILD_DIR"
     echo "[!] Done! The fat binaries can be found at $BUILD_DIR"
 fi
 fi