CMake
に対してコンパイルする必要があるコードを使用してビルドしていScriptingBridge
ます。
次のような何万ものログ行が表示されています。
In file included from /Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmapple.h:30,
from /Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:25,
from /Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:9,
from /Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:70,
from /Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:10,
from /Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/include/apple/itunes.h:5,
from /Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/src/osx/itunes_scripting_bridge.m:1:
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:142: warning: ‘CSSM_GUID’ is deprecated
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:143: warning: ‘CSSM_VERSION’ is deprecated
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:156: warning: ‘CSSM_GUID’ is deprecated
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:197: warning: ‘CSSM_DATA’ is deprecated
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:217: warning: ‘CSSM_DATA_PTR’ is deprecated
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmtype.h:220: warning: ‘CSSM_DATA’ is deprecated
(ここに完全な広範な出力)
ファイルは次のようにコンパイルされています。
/usr/bin/c++ -I/Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/include -I/Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/../libwatchedit/include -x objective-c -o CMakeFiles/whatsplaying.dir/src/osx/itunes_scripting_bridge.m.o -c /Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/src/osx/itunes_scripting_bridge.m
/usr/bin/gcc -I/Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/include -I/Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/../libwatchedit/include -F/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks -x objective-c -o CMakeFiles/whatsplaying.dir/src/osx/itunes_scripting_bridge.m.o -c /Users/codebeaker/Projects/watchedit-client-code/src/libwhatsplaying/src/osx/itunes_scripting_bridge.m
私のMacで(Clang)のマニュアルページを確認したところ、gcc
興味深いと思われることがあります。
-Fdir フレームワークディレクトリディレクトリを、ヘッダーファイルを検索するディレクトリのリストの先頭に追加します。これらのディレクトリはそれらとインターリーブされています -Iオプションで指定され、左から右の順序でスキャンされます。 フレームワークディレクトリは、フレームワークを含むディレクトリです。フレームワークは、「Headers」および/または「PrivateHeaders」ディレクトリが含まれているディレクトリです。 その中で直接「.framework」で終わります。フレームワークの名前は、「。framework」を除いたこのディレクトリの名前です。に関連付けられたヘッダー フレームワークはこれら2つのディレクトリのいずれかにあり、「ヘッダー」が最初に検索されます。サブフレームワークは、 フレームワークの「Frameworks」ディレクトリ。サブフレームワークヘッダーのインクルードは、サブフレームワークを含むフレームワークのヘッダー、または 兄弟のサブフレームワークヘッダー。2つのサブフレームワークは、同じフレームワークで発生する場合は兄弟です。サブフレームワークは、 フレームワークでは、これに違反すると警告が発行されます。現在、サブフレームワークにサブフレームワークを含めることはできません。将来的には、メカニズムは次のようになります。 これをサポートするために拡張されました。標準フレームワークは、「/ System / Library/Frameworks」および「/Library/Frameworks」にあります。例にはルックスが含まれます 「#include」のように、Frameworkはフレームワークの名前を示し、header.hは「PrivateHeaders」または「Headers」にあります。 ディレクトリ。 -iframeworkdir -Fと同様ですが、ディレクトリがシステムディレクトリとして扱われる点が異なります。主な効果は、見つかったヘッダーファイルに含まれる構成について警告しないことです。 dir経由
多分私は探しているべきです-iframework
。ターミナルでビルドする場合-iframework
、これは非推奨の警告なしに手動で完了します。
ただし、CMakeはを使用するオプションをサポートしていません-framework
。彼らのfind_library()
ドキュメントから:
CMakeは-frameworkAと-Fを使用して、フレームワークをターゲットにリンクします。
静かなビルドをする方法を探しています。また、OpenSSL'x EVAインターフェースからの(4倍の)小さな警告があります。処理できる警告です...よろしくお願いします。