Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. # - Maya finder module
  2. #
  3. # Variables that will be defined:
  4. # MAYA_FOUND Defined if a Maya installation has been detected
  5. # MAYA_EXECUTABLE Path to Maya's executable
  6. # MAYA_<lib>_FOUND Defined if <lib> has been found
  7. # MAYA_<lib>_LIBRARY Path to <lib> library
  8. # MAYA_INCLUDE_DIR Path to the devkit's include directories
  9. # MAYA_LIBRARIES All the Maya libraries
  10. #
  11.  
  12. # Set a default Maya version if not specified
  13. if(NOT DEFINED MAYA_VERSION)
  14. set(MAYA_VERSION 2015 CACHE STRING "Maya version")
  15. endif()
  16.  
  17. # OS Specific environment setup
  18. set(MAYA_COMPILE_DEFINITIONS "REQUIRE_IOSTREAM;_BOOL")
  19. set(MAYA_INSTALL_BASE_SUFFIX "")
  20. set(MAYA_INC_SUFFIX "include")
  21. set(MAYA_LIB_SUFFIX "lib")
  22. set(MAYA_BIN_SUFFIX "bin")
  23. set(MAYA_TARGET_TYPE LIBRARY)
  24. if(WIN32)
  25. # Windows
  26. set(MAYA_INSTALL_BASE_DEFAULT "C:/Program Files/Autodesk")
  27. set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};NT_PLUGIN")
  28. set(OPENMAYA OpenMaya.lib)
  29. set(MAYA_PLUGIN_EXTENSION ".mll")
  30. set(MAYA_TARGET_TYPE RUNTIME)
  31. elseif(APPLE)
  32. # Apple
  33. set(MAYA_INSTALL_BASE_DEFAULT /Applications/Autodesk)
  34. set(MAYA_INC_SUFFIX "devkit/include")
  35. set(MAYA_LIB_SUFFIX "Maya.app/Contents/MacOS")
  36. set(MAYA_BIN_SUFFIX "Maya.app/Contents/bin/")
  37. set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};OSMac_")
  38. set(OPENMAYA libOpenMaya.dylib)
  39. set(MAYA_PLUGIN_EXTENSION ".bundle")
  40. else()
  41. # Linux
  42. set(MAYA_COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS};LINUX")
  43. set(MAYA_INSTALL_BASE_DEFAULT /usr/autodesk)
  44. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
  45. if(MAYA_VERSION LESS 2016)
  46. SET(MAYA_INSTALL_BASE_SUFFIX -x64)
  47. endif()
  48. set(OPENMAYA libOpenMaya.so)
  49. set(MAYA_PLUGIN_EXTENSION ".so")
  50. endif()
  51.  
  52. set(MAYA_INSTALL_BASE_PATH ${MAYA_INSTALL_BASE_DEFAULT} CACHE STRING
  53. "Root path containing your maya installations, e.g. /usr/autodesk or /Applications/Autodesk/")
  54.  
  55. set(MAYA_LOCATION ${MAYA_INSTALL_BASE_PATH}/maya${MAYA_VERSION}${MAYA_INSTALL_BASE_SUFFIX})
  56.  
  57. # Maya library directory
  58. find_path(MAYA_LIBRARY_DIR ${OPENMAYA}
  59. PATHS
  60. ${MAYA_LOCATION}
  61. $ENV{MAYA_LOCATION}
  62. PATH_SUFFIXES
  63. "${MAYA_LIB_SUFFIX}/"
  64. DOC "Maya library path"
  65. )
  66.  
  67. # Maya include directory
  68. find_path(MAYA_INCLUDE_DIR maya/MFn.h
  69. PATHS
  70. ${MAYA_LOCATION}
  71. $ENV{MAYA_LOCATION}
  72. PATH_SUFFIXES
  73. "${MAYA_INC_SUFFIX}/"
  74. DOC "Maya include path"
  75. )
  76.  
  77. # Maya libraries
  78. set(_MAYA_LIBRARIES OpenMaya OpenMayaAnim OpenMayaFX OpenMayaRender OpenMayaUI Foundation clew)
  79. foreach(MAYA_LIB ${_MAYA_LIBRARIES})
  80. find_library(MAYA_${MAYA_LIB}_LIBRARY NAMES ${MAYA_LIB} PATHS ${MAYA_LIBRARY_DIR}
  81. NO_DEFAULT_PATH)
  82. if (MAYA_${MAYA_LIB}_LIBRARY)
  83. set(MAYA_LIBRARIES ${MAYA_LIBRARIES} ${MAYA_${MAYA_LIB}_LIBRARY})
  84. endif()
  85. endforeach()
  86.  
  87. if (APPLE AND ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
  88. # Clang and Maya needs to use libstdc++
  89. set(MAYA_CXX_FLAGS "-std=c++0x -stdlib=libstdc++")
  90. endif()
  91.  
  92. include(FindPackageHandleStandardArgs)
  93. find_package_handle_standard_args(Maya DEFAULT_MSG MAYA_INCLUDE_DIR MAYA_LIBRARIES)
  94.  
  95. function(MAYA_PLUGIN _target)
  96. if (WIN32)
  97. set_target_properties(${_target} PROPERTIES
  98. LINK_FLAGS "/export:initializePlugin /export:uninitializePlugin"
  99. )
  100. endif()
  101. set_target_properties(${_target} PROPERTIES
  102. COMPILE_DEFINITIONS "${MAYA_COMPILE_DEFINITIONS}"
  103. PREFIX ""
  104. SUFFIX ${MAYA_PLUGIN_EXTENSION})
  105. endfunction()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement