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さん、
ありがとうございます。