Added initial cmake option to build Maya plugin (Bullet Dynamica), only tested under Windows so far.

This commit is contained in:
erwin.coumans
2010-01-31 19:20:13 +00:00
parent 4140a20552
commit d734225345
5 changed files with 97 additions and 6 deletions

View File

@@ -40,6 +40,7 @@ OPTION(USE_GLUT "Use Glut" ON)
ADD_DEFINITIONS( -D_IRR_STATIC_LIB_ ) ADD_DEFINITIONS( -D_IRR_STATIC_LIB_ )
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE ) ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE )
ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
IF (USE_GLUT) IF (USE_GLUT)
string (REPLACE "/D_WINDOWS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) string (REPLACE "/D_WINDOWS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
@@ -119,6 +120,10 @@ IF(BUILD_EXTRAS)
SUBDIRS(Extras) SUBDIRS(Extras)
ENDIF(BUILD_EXTRAS) ENDIF(BUILD_EXTRAS)
OPTION(BUILD_BULLET_MAYA_DYNAMICA_PLUGIN "Set when you want to build the Bullet Maya Dynamica Plugin (requires Extras)" OFF)
#INSTALL of other files requires CMake 2.6 #INSTALL of other files requires CMake 2.6
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF) OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF)

View File

@@ -1 +1,5 @@
SUBDIRS( Serialize ConvexDecomposition GIMPACTUtils ) SUBDIRS( Serialize ConvexDecomposition GIMPACTUtils )
IF (BUILD_BULLET_MAYA_DYNAMICA_PLUGIN)
SUBDIRS(MayaPlugin)
ENDIF(BUILD_BULLET_MAYA_DYNAMICA_PLUGIN)

View File

@@ -0,0 +1,80 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
#PROJECT(MayaPlugin)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
SET(CMAKE_CXX_WARNING_LEVEL 4)
#SET (CMAKE_VERBOSE_MAKEFILE TRUE)
FIND_PATH(MAYA_BASE_DIR include/maya/MFn.h PATH /usr/autodesk/maya2008-x64
/usr/autodesk/maya "C:/Program Files/Autodesk/Maya2008" "C:/Program Files/Autodesk/Maya2009")
SET(MAYA_INC_DIR ${MAYA_BASE_DIR}/include)
SET(MAYA_LIB_DIR ${MAYA_BASE_DIR}/lib)
INCLUDE_DIRECTORIES(${MAYA_INC_DIR} ${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Extras/MayaPlugin )
LINK_DIRECTORIES(${MAYA_LIB_DIR})
ADD_DEFINITIONS(-D_BOOL)
ADD_DEFINITIONS(-DREQUIRE_IOSTREAM)
SET(TARGET_H
box_shape.h bt_sphere_shape.h dSolverNode.h rigid_body_impl.h
box_shape_impl.h collision_shape.h mathUtils.h rigidBodyNode.h
bt_box_shape.h collision_shape_impl.h mayaUtils.h solver.h
bt_collision_shape.h collisionShapeNode.h mesh_shape.h solver_impl.h
bt_convex_hull_shape.h convex_hull_shape.h mesh_shape_impl.h sphere_shape.h
bt_mesh_shape.h convex_hull_shape_impl.h plane_shape.h sphere_shape_impl.h
bt_plane_shape.h dRigidBodyArrayCmd.h plane_shape_impl.h
bt_rigid_body.h dRigidBodyCmd.h rigidBodyArrayNode.h
bt_solver.h dSolverCmd.h rigid_body.h pdbIO.h
shared_ptr.h drawUtils.h
)
SET(TARGET_SRC
pluginMain.cpp bulletExport.cpp rigidBodyNode.cpp rigidBodyArrayNode.cpp collisionShapeNode.cpp
solver.cpp bt_solver.cpp dSolverNode.cpp dSolverCmd.cpp dRigidBodyCmd.cpp dRigidBodyArrayCmd.cpp
pdbIO.cpp drawUtils.cpp constraint/dHingeConstraintCmd.cpp constraint/dSliderConstraintCmd.cpp
constraint/hingeConstraintNode.cpp constraint/sixdofConstraintNode.cpp constraint/dNailConstraintCmd.cpp
constraint/dsixdofConstraintCmd.cpp constraint/nailConstraintNode.cpp constraint/sliderConstraintNode.cpp
)
ADD_LIBRARY(BulletMayaDynamica SHARED ${TARGET_H} ${TARGET_SRC})
IF (WIN32)
SET(MAYA_LIBS OpenMaya Foundation OpenMayaAnim OpenMayaFX OpenMayaUI)
IF (CMAKE_CL_64)
SET_TARGET_PROPERTIES(BulletMayaDynamica PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /MACHINE:X64")
ELSE (CMAKE_CL_64)
SET_TARGET_PROPERTIES(BulletMayaDynamica PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /MACHINE:X86")
ENDIF (CMAKE_CL_64)
SET_TARGET_PROPERTIES(BulletMayaDynamica PROPERTIES SUFFIX ".mll")
LINK_DIRECTORIES(${MAYA_LIB_DIR})
TARGET_LINK_LIBRARIES(BulletMayaDynamica BulletDynamics BulletCollision LinearMath ${MAYA_LIBS} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
SET(CMAKE_SHARED_LINKER_FLAGS "/export:initializePlugin /export:uninitializePlugin")
ELSE (WIN32)
SET(MAYA_LIBS OpenMayalib Foundation OpenMayaAnim OpenMayaFX OpenMayaUI)
LINK_DIRECTORIES(${MAYA_LIB_DIR})
TARGET_LINK_LIBRARIES(BulletMayaDynamica BulletDynamics BulletCollision LinearMath ${MAYA_LIBS} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
ENDIF(WIN32)
#OPTION(BUILD_STANDALONE "Build a standalone exporter program")
#
#IF (BUILD_STANDALONE)
# IF (WIN32)
#
# ELSE (WIN32)
# SET(MAYA_LIBS OpenMayalib Foundation OpenMayaAnim)
# ADD_EXECUTABLE(me ${TARGET_H} ${TARGET_SRC} standalone.cpp)
# LINK_DIRECTORIES(${MAYA_LIB_DIR})
# TARGET_LINK_LIBRARIES(me ${MAYA_LIBS} pthread m imf)
# ENDIF (WIN32)
#ENDIF (BUILD_STANDALONE)

View File

@@ -8,14 +8,14 @@
;-------------------------------- ;--------------------------------
; The name of the installer ; The name of the installer
Name "Dynamica Bullet 2.75 physics plugin for Maya 2008" Name "Dynamica Bullet 2.76 physics plugin for Maya 2009"
; The file to write ; The file to write
OutFile "DynamicaForMaya2008_32bit.exe" OutFile "DynamicaForMaya2009_64bit.exe"
; The default installation directory ; The default installation directory
InstallDir $PROGRAMFILES\DynamicaBullet2.75\ InstallDir $PROGRAMFILES\DynamicaBullet2.76\
UninstPage uninstConfirm UninstPage uninstConfirm
UninstPage instfiles UninstPage instfiles
@@ -45,8 +45,11 @@ SetOutPath "$INSTDIR\icons"
File "icons\*.*" File "icons\*.*"
SetOutPath "$INSTDIR\plug-ins" SetOutPath "$INSTDIR\plug-ins"
File "BulletMayaPlugin.mll" File "BulletMayaPlugin.mll"
File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcp80.dll" ;File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcp80.dll"
File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll" ;File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll"
File "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcp90.dll"
File "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll"
SetOutPath "$INSTDIR\scripts" SetOutPath "$INSTDIR\scripts"
File "scripts\*.*" File "scripts\*.*"

View File

@@ -19,7 +19,6 @@ not be misrepresented as being the original software.
Written by: Nicola Candussi <nicola@fluidinteractive.com> Written by: Nicola Candussi <nicola@fluidinteractive.com>
*/ */
//collisionShapeNode.cpp //collisionShapeNode.cpp
#include <maya/MFnMessageAttribute.h> #include <maya/MFnMessageAttribute.h>