«

»

2月
28

[xcode]ビルドセッティングの確認

最近VisualStudioではなくXcode(5)を触っています。IDEを乗り換えると色々と面食らいますが、不可解だった挙動の1つがこれ。

build settingsに表示されるセクションが、プロジェクト管理下にあるファイルに依存して変化する。

例えば、Objective-CやC++などC系のソースが1つもないプロジェクトだとApple LLVM 5.0系のセクションが表示されなくなり、代わりにUser-Definedセクションに大量の項目が表示される。「C系のソースファイルが無いからLLVM系のセクションが表示されなくなるのは何となく分かるけどもUser-Definedはどこからやってきた?」とりあえず気持ち悪いのでコンパイラオプションがどんな状態なのか調べたい。

少し 調べた 所、Xcodeのプロジェクトやワークスペースをコマンドラインからビルドできる xcodebuild というコマンドがあり、これのオプションに -showBuildSettings というのがあることが分かった。

$ xcodebuild -project myProj.xcodeproj -target "myTarg" -showBuildSettings
 
Build settings for action build and target Hoge:
    ACTION = build
    ALTERNATE_GROUP = staff
    ALTERNATE_MODE = u+w,go-w,a+rX
    ALTERNATE_OWNER = foo
    ALWAYS_SEARCH_USER_PATHS = NO
(略)

とりあえず、これでc++のソースが含まれる場合とそうでない場合とでdiffをとると、

$ diff /tmp/dump1.txt /tmp/dump2.txt 
196a197
>     PFE_FILE_C_DIALECTS = c++

と、これだけが違う。ので、C系のソースの有無でコンパイラオプションなどが大幅に変わってしまうのではなく、Xcodeのbuild settingの表示がそのような挙動になっているということが分かった。うーむ。

コメントを残す

メールアドレスは公開されません

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>