ルール
objc_import
ルールのソースを表示objc_import(name, deps, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, includes, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
このルールは、コンパイル済みの静的ライブラリを
.a ファイルの形式でカプセル化します。また、ヘッダーとリソースをエクスポートすることもできます。これは、objc_libraryでサポートされているのと同じ
属性を使用します。
引数
| 属性 | |
|---|---|
name |
名前(必須) このターゲットの一意の名前。 |
deps
|
このターゲットが依存するターゲットのリスト。 |
hdrs
|
このライブラリによって公開され、依存ルールのソースに含める C、C++、Objective-C、Objective-C++ ヘッダー ファイルのリスト。
これらのヘッダーはライブラリの公開インターフェースを記述し、このルールまたは依存 ルールのソースに含めることができます。このライブラリのクライアントに含める必要のないヘッダーは、srcs 属性にリストする必要があります。 モジュールが有効になっている場合、これらはソースとは別にコンパイルされます。 |
alwayslink
|
ブール値(デフォルトは srcs と non_arc_srcs にリストされているファイルのすべてのオブジェクト ファイルをリンクします。バイナリで参照される
シンボルが含まれていない場合でも同様です。
これは、コードがバイナリ内のコードによって明示的に呼び出されない場合に便利です。たとえば、コードが登録して、サービスから提供されるコールバックを受信する場合などです。 |
archives
|
ラベルのリスト(必須) このターゲットに 依存する Objective-C ターゲットに提供される.a ファイルのリスト。
|
includes
|
文字列のリスト(デフォルトは #include/#import 検索パスのリスト。これは、ステートメントでワークスペース パス全体を指定しないサードパーティ ライブラリとオープンソース ライブラリをサポートするためです。#import/#include
パスはパッケージ ディレクトリからの相対パスとして解釈され、
genfiles ルートと bin ルート( COPTS とは異なり、これらのフラグはこのルール と、このルールに依存するすべてのルールに追加されます(依存するルールではありません)。広範囲に影響する可能性があるため、 注意してください。不明な場合は、代わりに COPTS に 「-iquote」フラグを追加してください。 |
sdk_dylibs
|
文字列のリスト(デフォルトは |
sdk_frameworks
|
文字列のリスト(デフォルトは 最上位の Apple バイナリをリンクすると、そのバイナリの 推移的依存関係グラフにリストされているすべての SDK フレームワークがリンクされます。 |
sdk_includes
|
文字列のリスト(デフォルトは #include/#import 検索パスのリスト。各パスは $(SDKROOT)/usr/include からの相対パスです。 |
textual_hdrs
|
このルールのソースファイルまたはこの ライブラリのユーザーによってヘッダーとして 含まれる C、C++、Objective-C、Objective-C++ ファイルのリスト。hdrs とは異なり、これらは ソースとは別にコンパイルされません。 |
weak_sdk_frameworks
|
文字列のリスト(デフォルトは |
objc_library
ルールのソースを表示objc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, conlyopts, copts, cxxopts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, stamp, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
このルールは、指定された Objective-C ソースファイルから静的ライブラリを生成します。
引数
| 属性 | |
|---|---|
name |
名前(必須) このターゲットの一意の名前。 |
deps
|
このターゲットが依存するターゲットのリスト。 |
srcs
|
ライブラリ ターゲットの作成用に処理される C、C++、Objective-C、Objective-C++ のソースファイルとヘッダー ファイル、または(`.s`、`.S`、`.asm`)アセンブリ ソースファイルのリスト。 これらは、チェックインしたファイルと生成されたファイルです。 ソースファイルは Clang で .o ファイルにコンパイルされます。ヘッダー ファイル は、このターゲットの srcs 属性 のソースまたはヘッダーによってインクルードまたはインポートできますが、hdrs のヘッダーや、このルールに依存するターゲットではインクルードまたはインポートできません。 また、プリコンパイル済みの .o ファイルを srcs として指定することもできます。シンボル リンカー エラーが発生しないように、提供される .o ファイルのアーキテクチャとビルドのアーキテクチャが一致していることを確認してください。 |
hdrs
|
このライブラリによって公開され、依存ルールのソースに含める C、C++、Objective-C、Objective-C++ ヘッダー ファイルのリスト。
これらのヘッダーはライブラリの公開インターフェースを記述し、このルールまたは依存 ルールのソースに含めることができます。このライブラリのクライアントに含める必要のないヘッダーは、srcs 属性にリストする必要があります。 モジュールが有効になっている場合、これらはソースとは別にコンパイルされます。 |
alwayslink
|
ブール値(デフォルトは srcs と non_arc_srcs にリストされているファイルのすべてのオブジェクト ファイルをリンクします。バイナリで参照される
シンボルが含まれていない場合でも同様です。
これは、コードがバイナリ内のコードによって明示的に呼び出されない場合に便利です。たとえば、コードが登録して、サービスから提供されるコールバックを受信する場合などです。 |
conlyopts
|
文字列のリスト(デフォルトは 生成された Xcode プロジェクトでは、copts の「-I」フラグを使用して指定されたディレクトリ パスが解析され、相対パスの場合は「$(WORKSPACE_ROOT)/」が先頭に追加され、関連する Xcode ターゲットのヘッダー検索パスに追加されます。 |
copts
|
文字列のリスト(デフォルトは 生成された Xcode プロジェクトでは、copts の「-I」フラグを使用して指定されたディレクトリ パスが解析され、相対パスの場合は「$(WORKSPACE_ROOT)/」が先頭に追加され、関連する Xcode ターゲットのヘッダー検索パスに追加されます。 |
cxxopts
|
文字列のリスト(デフォルトは 生成された Xcode プロジェクトでは、copts の「-I」フラグを使用して指定されたディレクトリ パスが解析され、相対パスの場合は「$(WORKSPACE_ROOT)/」が先頭に追加され、関連する Xcode ターゲットのヘッダー検索パスに追加されます。 |
defines
|
文字列のリスト(デフォルトは -D フラグ。これらは
KEY=VALUE または単に KEY の形式で、このターゲットのコンパイラ(copts
)だけでなく、このターゲットのすべての objc_ 依存関係にも渡されます。
「変数の作成」の置換と
Bourne シェルのトークン化の対象となります。
|
enable_modules
|
ブール値(デフォルトは |
implementation_deps
|
ライブラリ ターゲットが依存する他のライブラリのリスト。
depsとは異なり、これらのライブラリ(とそのすべての
推移的依存関係)のヘッダーとインクルード パスは、このライブラリのコンパイルにのみ使用され、このライブラリに
依存するライブラリには使用されません。implementation_deps で指定されたライブラリは、このライブラリに依存するバイナリ ターゲットにリンクされます。
|
includes
|
文字列のリスト(デフォルトは #include/#import 検索パスのリスト。これは、ステートメントでワークスペース パス全体を指定しないサードパーティ ライブラリとオープンソース ライブラリをサポートするためです。#import/#include
パスはパッケージ ディレクトリからの相対パスとして解釈され、
genfiles ルートと bin ルート( COPTS とは異なり、これらのフラグはこのルール と、このルールに依存するすべてのルールに追加されます(依存するルールではありません)。広範囲に影響する可能性があるため、 注意してください。不明な場合は、代わりに COPTS に 「-iquote」フラグを追加してください。 |
linkopts
|
文字列のリスト(デフォルトは |
module_map
|
ラベル(デフォルトは |
module_name
|
文字列(デフォルトは |
non_arc_srcs
|
ARC を使用しないライブラリ ターゲットの作成用に処理される Objective-C ファイルのリスト。 この属性のファイルは srcs 属性のファイルと非常によく似ていますが、ARC を有効にせずにコンパイルされます。 |
pch
|
ラベル(デフォルトは |
sdk_dylibs
|
文字列のリスト(デフォルトは |
sdk_frameworks
|
文字列のリスト(デフォルトは 最上位の Apple バイナリをリンクすると、そのバイナリの 推移的依存関係グラフにリストされているすべての SDK フレームワークがリンクされます。 |
sdk_includes
|
文字列のリスト(デフォルトは #include/#import 検索パスのリスト。各パスは $(SDKROOT)/usr/include からの相対パスです。 |
stamp
|
ブール値(デフォルトは |
textual_hdrs
|
このルールのソースファイルまたはこの ライブラリのユーザーによってヘッダーとして 含まれる C、C++、Objective-C、Objective-C++ ファイルのリスト。hdrs とは異なり、これらは ソースとは別にコンパイルされません。 |
weak_sdk_frameworks
|
文字列のリスト(デフォルトは |