File CMake Toolchain untuk iOS (+ Catalyst), WatchOS, TVOS dan MacOS Development dengan dukungan simulator penuh dan opsi yang dapat dialokasikan!
Catatan : Ubah -DPLATFORM ke nilai yang berlaku jika menargetkan platform lain.
cd example/example-lib
cmake -B build -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
cmake --build build --config ReleaseIni akan membangun perpustakaan untuk platform yang diberikan. Dalam hal ini, iOS dengan arsitektur ARM64.
Opsi yang disebut *Gabungan (OS64Combined, TVOSCOMBINED dan WatchOscombined) akan membangun perpustakaan lemak lengkap untuk platform yang diberikan. Pemulihan lemak ini mencakup irisan untuk perangkat dan simulator, membuat distribusi dan penggunaan perpustakaan jauh lebih sederhana!
Contoh:
cmake . -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64COMBINED
cmake --build . --config Release
cmake --install . --config Release # Necessary to build combined libraryCatatan : Opsi gabungan hanya berfungsi dengan Xcode Generator (-g Xcode) pada versi CMake 3.14+!
XCODE_VERSION - Nomor versi (tidak termasuk versi build) dari Xcode terdeteksi.
SDK_VERSION - Versi SDK yang digunakan.
CMAKE_OSX_ARCHITECTURES - Arsitektur yang dikompilasi untuk (dihasilkan dari platform).
APPLE_TARGET_TRIPLE - Digunakan oleh sistem pembuatan autoconf.
-DENABLE_BITCODE=(BOOL) - Dinonaktifkan secara default, tentukan true atau 1 untuk mengaktifkan bitcode
-DENABLE_ARC=(BOOL) - Diaktifkan secara default, tentukan false atau 0 untuk menonaktifkan busur
-DENABLE_VISIBILITY=(BOOL) - dinonaktifkan secara default, tentukan true atau 1 untuk mengaktifkan dukungan visibilitas simbol
-DENABLE_STRICT_TRY_COMPILE=(BOOL) - Dinonaktifkan secara default, tentukan true atau 1 untuk mengaktifkan pemeriksaan kompiler yang ketat (akan menjalankan tautan pada semua pemeriksaan kompiler kapan pun diperlukan)
-DARCHS=(STRING) - Nilai yang valid adalah: ARMV7, ARMV7S, ARM64, I386, x86_64, ARMV7K, ARM64_32. Secara default itu akan dibangun untuk semua arsitektur yang valid berdasarkan -DPLATFORM (lihat di atas)
Untuk menggabungkan semua platform ke dalam perpustakaan lemak yang sama, baik membangun salah satu jenis platform " gabungan " atau menggunakan alat LIPO. Informasi lebih lanjut tentang cara menggabungkan perpustakaan dengan LIPO sudah tersedia di internet.