LoginSignup
14
14

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-09-04

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

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14