79 lines
2.4 KiB
CMake
79 lines
2.4 KiB
CMake
if(NOT DEFINED MAYA_VERSION)
|
|
set(MAYA_VERSION 2013.5 CACHE STRING "Maya version")
|
|
endif()
|
|
|
|
set(MAYA_COMPILE_DEFINITIONS "REQUIRE_IOSTREAM;_BOOL;_CRT_SECURE_NO_WARNINGS;NOMINMAX")
|
|
set(MAYA_INSTALL_BASE_SUFFIX "")
|
|
set(MAYA_LIB_SUFFIX "lib")
|
|
set(MAYA_INC_SUFFIX "include")
|
|
set(MAYA_TARGET_TYPE LIBRARY)
|
|
|
|
if(WIN32)
|
|
# Windows
|
|
set(MAYA_INSTALL_BASE "C:/Program Files/Autodesk")
|
|
set(OPENMAYA OpenMaya.lib)
|
|
set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};NT_PLUGIN")
|
|
set(MAYA_PLUGIN_EXTENSION ".mll")
|
|
set(MAYA_TARGET_TYPE RUNTIME)
|
|
elseif(APPLE)
|
|
# Mac
|
|
set(MAYA_INSTALL_BASE "/Applications/Autodesk")
|
|
set(OPENMAYA libOpenMaya.dylib)
|
|
set(MAYA_LIB_SUFFIX "Maya.app/Contents/MacOS")
|
|
set(MAYA_INC_SUFFIX "devkit/include")
|
|
set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};OSMac")
|
|
set(MAYA_PLUGIN_EXTENSION ".dylib")
|
|
else()
|
|
# Linux
|
|
set(MAYA_INSTALL_BASE "/usr/autodesk")
|
|
set(MAYA_INSTALL_BASE_SUFFIX -x64)
|
|
set(OPENMAYA libOpenMaya.so)
|
|
set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};LINUX")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
|
set(MAYA_PLUGIN_EXTENSION ".so")
|
|
endif()
|
|
|
|
set(MAYA_INSTALL_BASE_PATH ${MAYA_INSTALL_BASE} CACHE STRING "Maya Root Installation Path")
|
|
set(MAYA_LOCATION ${MAYA_INSTALL_BASE_PATH}/maya${MAYA_VERSION}${MAYA_INSTALL_BASE_SUFFIX})
|
|
message(STATUS "MAYA_INSTALL_BASE_PATH : ${MAYA_INSTALL_BASE_PATH}")
|
|
find_path(MAYA_LIBRARY_DIR ${OPENMAYA}
|
|
PATHS
|
|
${MAYA_LOCATION}
|
|
$ENV{MAYA_LOCATION}
|
|
PATH_SUFFIXES
|
|
"${MAYA_LIB_SUFFIX}/"
|
|
DOC "Maya library path"
|
|
)
|
|
|
|
find_path(MAYA_INCLUDE_DIR maya/MFn.h
|
|
PATHS
|
|
${MAYA_LOCATION}
|
|
$ENV{MAYA_LOCATION}
|
|
PATH_SUFFIXES
|
|
"${MAYA_INC_SUFFIX}/"
|
|
DOC "Maya include path"
|
|
)
|
|
|
|
set(_MAYA_LIBRARIES OpenMaya OpenMayaAnim OpenMayaFx OpenMayaRender OpenMayaUI Foundation)
|
|
|
|
foreach(MAYA_LIB ${_MAYA_LIBRARIES})
|
|
find_library(MAYA_${MAYA_LIB}_LIBRARY NAMES ${MAYA_LIB} PATHS ${MAYA_LIBRARY_DIR} NO_DEFAULT_PATH)
|
|
set(MAYA_LIBRARIES ${MAYA_LIBRARIES} ${MAYA_${MAYA_LIB}_LIBRARY})
|
|
endforeach()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(Maya DEFAULT_MSG MAYA_INCLUDE_DIR MAYA_LIBRARIES)
|
|
|
|
function(MAYA_PLUGIN _target)
|
|
|
|
if(WIN32)
|
|
set_target_properties(${_target} PROPERTIES
|
|
LINK_FLAGS "/export:initializePlugin /export:uninitializePlugin")
|
|
endif()
|
|
set_target_properties(${_target} PROPERTIES
|
|
COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS}"
|
|
PREFIX ""
|
|
SUFFIX ${MAYA_PLUGIN_EXTENSION}
|
|
)
|
|
endfunction() |