CMakeLists.txt ファイル

CMake ツールは、プラグインおよびアプリケーションのプロジェクトを生成する場合に使用します。

プラグインまたはアプリケーションの CMakeLists.txt ファイルには、プロジェクトを生成するために必要なライブラリ、ソース ファイル、およびビルド関数の情報が含まれています。このファイルは、ソース コードや、プラグインにパッケージ化されている任意の mel スクリプトとともに、プラグインまたはアプリケーションのフォルダの最上位に配置されています。

このページでは、CMakeLists.txt ファイルの各部について説明します。

注: devkit のサンプル内にある CMakeLists.txt ファイルを独自に作成するための開始点として使用することができます。

CMakeLists.txt ファイルの要素は、次のとおりです。

  1. 最低限必要な CMake のバージョン

sh cmake_minimum_required(VERSION 2.8)

  1. pluginEntry.cmake ファイルのパス。このパスは、Maya devkit で使用するすべての CMakeLists.txt ファイルで同一です。

sh include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)

例:

```sh cmake_minimum_required(VERSION 2.8)

include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)

```

  1. プロジェクト名

sh set(PROJECT_NAME <projectName>)

例:

```sh cmake_minimum_required(VERSION 2.8)

include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)

set(PROJECT_NAME exampleNode) ```

  1. 必要なリソース ファイルのリスト(不要な場合もあり)。プロジェクトで複数のリソース ファイルを使用する場合は、各ファイルをスペースで区切ります。

```sh cmake_minimum_required(VERSION 2.8)

include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)

set(PROJECT_NAME exampleNode)

set(RESOURCES_FILES myResource.xpm) ```

  1. mel ファイルのリスト(必要な場合)。プロジェクトで複数の mel ファイルを使用する場合は、各ファイルをスペースで区切ります。

sh set(MEL_FILES <melFileName1> <melFileName2> <melFileName3>)

例:

```sh cmake_minimum_required(VERSION 2.8)

include($ENV{DEVKIT_LOCATION}/cmake/pluginEntry.cmake)

set(PROJECT_NAME exampleNode)

set(RESOURCES_FILES myResource.xpm)

set(MEL_FILES exampleNode.mel) ```

  1. mel、および必要に応じてリソース ファイルを含むソース ファイルのリスト。プロジェクトで複数のソース ファイルを使用する場合は、各ファイルをスペースで区切ります。

sh set(SOURCE_FILES <sourceFileName1> <sourceFileName2> <sourceFileName3> ${MEL_FILES} ${RESOURCE_FILES})

例:

```sh cmake_minimum_required(VERSION 2.8)

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} ) ```

  1. 必要な devkit ライブラリのリスト。ライブラリのリストをスペースで区切ります

重要: すべてのプラグインとアプリケーションに OpenMaya ライブラリと Foundation ライブラリを含める必要があります。

sh set(LIBRARIES OpenMaya Foundation <additionalLibrary1> <additionalLibrary2> )

例:

```sh cmake_minimum_required(VERSION 2.8)

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 ) ```

  1. find_<package_name>マクロまたはfind_package()の呼び出しを使用して追加される、必要なサードパーティ パッケージのリスト。

sh find_package(MtoA) find_alembic()

例:

```sh cmake_minimum_required(VERSION 2.8)

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() ```

  1. 最後は、ビルド関数です。

プラグインを作成している場合は、build_plugin() を追加します。スタンドアロン アプリケーションを作成している場合は、build_application() を追加します。

```sh cmake_minimum_required(VERSION 2.8)

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() ```