Edited at

cocos2d-x-3.2のcocos2d_libs.xcodeprojのプレビルド

More than 3 years have passed since last update.


Xcodeでcocos2dxプロジェクトのビルドを早くしたい!

cocos2d-xの3系のリビルドが遅いなと思ったので、

Rakefileを使ってcocos2d_libsの中身を.aファイルにプレビルドしておいて、

ビルドする時間を短縮したい。


やり方

http://qiita.com/g-1/items/01f6c430326dfd125af9

http://qiita.com/KawabataLemon/items/8387b0e54b06308a8693

に準拠


Rakefile

コピって来たRakefileがうまく動かなかったりして泣いたので、

修正してみたものをアップしてみる。


  • Xcode6用に修正しました。Xcode5用のが必要な場合は「8.0」になっているところを「7.1」とかにしてください


Rakefile

PROJECT_PATH = "./cocos2d_libs.xcodeproj"

TARGET_NAME="'build all libs iOS'"
OUTPUT_DEBUG="tmp/iphonesimulator"
OUTPUT_RELEASE="tmp/iphoneos"
OUTPUT_LIB="./lib"
directory OUTPUT_LIB

desc "静的ライブラリをビルドします"
task "lib" do
sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphonesimulator8.0 -target #{TARGET_NAME} TARGET_BUILD_DIR=#{OUTPUT_DEBUG} BUILT_PRODUCTS_DIR=#{OUTPUT_DEBUG} clean build"

sh "xcodebuild -project #{PROJECT_PATH} -configuration Release -sdk iphoneos8.0 -target #{TARGET_NAME} TARGET_BUILD_DIR=#{OUTPUT_RELEASE} BUILT_PRODUCTS_DIR=#{OUTPUT_RELEASE} clean build"
end

desc "lipoコマンドで各デバイス向けの静的ライブラリをひとつのバイナリにします"
task "lipo" => OUTPUT_LIB do

Dir.glob("#{OUTPUT_RELEASE}/*"){|path|
p path
file = File.basename(path)

sh "lipo '#{OUTPUT_DEBUG}/#{file}' '#{OUTPUT_RELEASE}/#{file}' -create -output '#{OUTPUT_LIB}/#{file}'"
}
end



- ちなみにRakefileの修正箇所は、OUTPUT_LIBのディレクトリ生成と、出力先パスの整理だけ

配置場所は、cocos createで作ったプロジェクトファイルの、

「cocos/build」の中。

使い方は


ビルドの仕方


使い方。コンソールで実行

cd プロジェクトフォルダ

cd cocos/build
rake lib
rake lipo

KawabataLemonさん、

g-1さん、

ありがとうございます。