mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-06-04 11:25:44 +08:00
87 lines
2.3 KiB
Markdown
87 lines
2.3 KiB
Markdown
# Building Draco Unity Support
|
|
|
|
All sections here contain the raw build commands Draco project members use to
|
|
produce plugin binaries at release time. This includes the archival steps that
|
|
produce the archives in the repository.
|
|
|
|
### iOS
|
|
|
|
```bash
|
|
cmake path/to/draco -G Xcode \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CONFIGURATION_TYPES=Release \
|
|
-DCMAKE_SYSTEM_NAME=iOS \
|
|
-DCMAKE_OSX_ARCHITECTURES=armv7\;armv7s\;arm64 \
|
|
-DCMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH=NO \
|
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 \
|
|
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=NO \
|
|
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="" \
|
|
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO \
|
|
-DDRACO_UNITY_PLUGIN=1
|
|
|
|
xcodebuild
|
|
cd Release-iphoneos
|
|
tar cjvf libdracodec_unity_ios.tar.bz *.a
|
|
```
|
|
|
|
### MacOS
|
|
|
|
```bash
|
|
cmake path/to/draco -G Xcode \
|
|
-DDRACO_UNITY_PLUGIN=ON \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CONFIGURATION_TYPES=Release \
|
|
-DCMAKE_OSX_ARCHITECTURES=arm64\;x86_64
|
|
xcodebuild
|
|
cd Release
|
|
tar cjvf libdracodec_unity_macos.tar.bz dracodec_unity.bundle
|
|
```
|
|
|
|
### Windows
|
|
|
|
```bash
|
|
cmake ../ -G "Visual Studio 17 2022" -A x64 -DDRACO_UNITY_PLUGIN=ON \
|
|
-DCMAKE_INSTALL_PREFIX=.
|
|
cmake --build . --config Release --target install -- /M:36
|
|
cd lib
|
|
tar cjvf libdracodec_unity_windows.tar.bz dracodec_unity.dll
|
|
```
|
|
|
|
### Android
|
|
|
|
#### 1. Build the armv7 plugin.
|
|
|
|
```bash
|
|
# NOTE: YOU MUST UPDATE DRACO_ANDROID_NDK_PATH FOR YOUR ENVIRONMENT.
|
|
export DRACO_ANDROID_NDK_PATH=$HOME/ndks/android-ndk-r20
|
|
mkdir armeabi-v7a && cd armeabi-v7a
|
|
cmake ../ \
|
|
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/armv7-android-ndk-libcpp.cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DDRACO_UNITY_PLUGIN=ON -DCMAKE_INSTALL_PREFIX=. \
|
|
-DDRACO_ANDROID_NDK_PATH=${DRACO_ANDROID_NDK_PATH}
|
|
|
|
make -j install
|
|
```
|
|
|
|
#### 2. Build the arm64 plugin.
|
|
|
|
```bash
|
|
# NOTE: YOU MUST UPDATE DRACO_ANDROID_NDK_PATH FOR YOUR ENVIRONMENT.
|
|
export DRACO_ANDROID_NDK_PATH=$HOME/ndks/android-ndk-r20
|
|
mkdir arm64-v8a && cd arm64-v8a
|
|
cmake ../ \
|
|
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/arm64-android-ndk-libcpp.cmake \
|
|
-DDRACO_UNITY_PLUGIN=ON -DCMAKE_INSTALL_PREFIX=. \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DDRACO_ANDROID_NDK_PATH=${DRACO_ANDROID_NDK_PATH}
|
|
make -j install
|
|
```
|
|
|
|
#### 3. Archive the plugins.
|
|
|
|
```bash
|
|
tar cjvf libdracodec_unity_android.tar.bz \
|
|
armeabi-v7a/libdracodec_unity.so \
|
|
arm64-v8a/libdracodec_unity.so
|
|
``` |