背景: CMake を使用して、ライブラリとアプリケーションの組み合わせをビルドするプロジェクトを構成しています。各アプリケーションは、そのアプリケーションに固有の画像やテキスト ファイルなどのリソース ファイルを使用します。Xcode はリソース ファイルの概念を理解し、それらをアプリケーション バンドルに正しくコピーできます。ちょうど 1 つのアプリケーションでプロジェクトを作成している場合、問題はありません。CMake を使用set_source_files_properties(... PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
して、Xcode にファイルをバンドルの Resources ディレクトリに配置するように指示できます。これにより、後で を呼び出したときにファイル[[NSBundle mainBundle] pathForResource:...]
が正しく検出されます。(pathForResource
メソッドは、デフォルトで「Resources」ディレクトリを検索します。) ファイルは、Xcode プロジェクト内の Resources グループにも表示されます。
質問:CMake プロジェクトに複数のアプリケーションを含めると、問題が発生します。各プロジェクトは、独自の個別のリソース ファイルを独自のバンドルの Resources ディレクトリにコピーする必要があります。したがって、各アプリケーションには、これらのファイルを保持し、そこからコピーする Xcode の個別のリソース グループが必要です。ただし、これらの個別のディレクトリにはすべて「Resources」という名前を付ける必要があります。理想的には、Xcode 内の各アプリケーション固有のフォルダーには、必要なすべてのリソースを含む独自の "Resources" サブディレクトリが必要です。実際には、プロジェクトには、すべてのリソース ファイルが収集される単一の共有 Resources ディレクトリがあり、プロジェクト固有の「Resources」サブディレクトリには、そのアプリケーションの info.plist ファイルのみが含まれます。すべてのアプリケーションのリソースが同じグループに入れられるため、
CMake を使用して、個別のリソースを持つ複数のアプリケーションをサポートする Xcode プロジェクトをセットアップする方法を見つけた人はいますか? または他の回避策はありますか?