CMake ツールは、プラグインおよびアプリケーションのプロジェクトを生成する場合に使用します。
プラグインまたはアプリケーションの CMakeLists.txt ファイルには、プロジェクトを生成するために必要なライブラリ、ソース ファイル、およびビルド関数の情報が含まれています。このファイルは、ソース コードや、プラグインにパッケージ化されている任意の mel スクリプトとともに、プラグインまたはアプリケーションのフォルダの最上位に配置されています。
このページでは、CMakeLists.txt ファイルの各部について説明します。
注: devkit のサンプル内にある CMakeLists.txt ファイルを、独自に作成するための開始点として使用することができます。
CMakeLists.txt ファイルの要素は、次のとおりです。
最低限必要な CMake のバージョン
cmake_minimum_required(VERSION 3.22.1)
pluginEntry.cmake ファイルのパス。このパスは、Maya devkit で使用するすべての CMakeLists.txt ファイルで同一です。
include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)
プロジェクト名
set(PROJECT_NAME <projectName>)
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode)
必要なリソース ファイルのリスト(不要な場合もあり)。プロジェクトで複数のリソース ファイルを使用する場合は、各ファイルをスペースで区切ります。
```sh cmake_minimum_required(VERSION 3.22.1)
include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)
set(PROJECT_NAME exampleNode)
set(RESOURCES_FILES myResource.xpm) ```
mel ファイルのリスト(必要な場合)。プロジェクトで複数の mel ファイルを使用する場合は、各ファイルをスペースで区切ります。
set(MEL_FILES <melFileName1> <melFileName2> <melFileName3>)
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode) set(RESOURCES_FILES myResource.xpm) set(MEL_FILES exampleNode.mel)
mel、および必要に応じてリソース ファイルを含むソース ファイルのリスト。プロジェクトで複数のソース ファイルを使用する場合は、各ファイルをスペースで区切ります。
set(SOURCE_FILES <sourceFileName1> <sourceFileName2> <sourceFileName3> ${MEL_FILES} ${RESOURCE_FILES})
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode) set(RESOURCES_FILES myResource.xpm) set(MEL_FILES exampleNode.mel) set(SOURCE_FILES exampleNode.cpp ${MEL_FILES} )
必要な devkit ライブラリのリスト。ライブラリのリストをスペースで区切ります
重要: すべてのプラグインとアプリケーションに OpenMaya ライブラリと Foundation ライブラリを含める必要があります。
set(LIBRARIES OpenMaya Foundation <additionalLibrary1> <additionalLibrary2> )
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode) set(RESOURCES_FILES myResource.xpm) set(MEL_FILES exampleNode.mel) set(SOURCE_FILES exampleNode.cpp ${MEL_FILES} ) set(LIBRARIES OpenMaya Foundation )
find_<package_name> マクロまたは find_package() の呼び出しを使用して追加される、必要なサードパーティ パッケージのリスト。
find_package(MtoA) find_alembic()
例:
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode) set(RESOURCES_FILES myResource.xpm) set(MEL_FILES exampleNode.mel) set(SOURCE_FILES exampleNode.cpp ${MEL_FILES} ) set(LIBRARIES OpenMaya Foundation ) find_package(MtoA) find_alembic()
最後は、ビルド関数です。
プラグインを作成している場合は、build_plugin() を追加します。スタンドアロン アプリケーションを作成する場合は、build_application() を追加します。
cmake_minimum_required(VERSION 3.22.1) include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake) set(PROJECT_NAME exampleNode) set(RESOURCES_FILES myResource.xpm) set(MEL_FILES exampleNode.mel) set(SOURCE_FILES exampleNode.cpp ${MEL_FILES} ) set(LIBRARIES OpenMaya Foundation ) find_package(MtoA) find_alembic() build_plugin()