Updated INSTALL description. This info should go also in Bullet User Manual and Online.
Thanks to ejtttje http://code.google.com/p/bullet/issues/detail?id=248 Use GJK for GImpact triangle test See http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3687 More improvements in GJK degeneracy handling (using second EPA/GJK run) Issue/discussion here http://code.google.com/p/bullet/issues/detail?id=250 CMake improvements Thanks to ejtttje http://code.google.com/p/bullet/issues/detail?id=247 Added basic camera/wall detection for character demo
This commit is contained in:
@@ -237,11 +237,20 @@ void CharacterDemo::clientMoveAndDisplay()
|
||||
btScalar walkVelocity = btScalar(1.1) * 4.0; // 4 km/h -> 1.1 m/s
|
||||
btScalar walkSpeed = walkVelocity * dt;
|
||||
|
||||
//rotate view
|
||||
if (gLeft)
|
||||
walkDirection += strafeDir;
|
||||
{
|
||||
btMatrix3x3 orn = m_ghostObject->getWorldTransform().getBasis();
|
||||
orn *= btMatrix3x3(btQuaternion(btVector3(0,1,0),0.01));
|
||||
m_ghostObject->getWorldTransform ().setBasis(orn);
|
||||
}
|
||||
|
||||
if (gRight)
|
||||
walkDirection -= strafeDir;
|
||||
{
|
||||
btMatrix3x3 orn = m_ghostObject->getWorldTransform().getBasis();
|
||||
orn *= btMatrix3x3(btQuaternion(btVector3(0,1,0),-0.01));
|
||||
m_ghostObject->getWorldTransform ().setBasis(orn);
|
||||
}
|
||||
|
||||
if (gForward)
|
||||
walkDirection += forwardDir;
|
||||
@@ -424,7 +433,29 @@ void CharacterDemo::updateCamera()
|
||||
backward.normalize ();
|
||||
|
||||
m_cameraTargetPosition = characterWorldTrans.getOrigin();
|
||||
m_cameraPosition = m_cameraTargetPosition + up * 2.0 + backward * 12.0;
|
||||
m_cameraPosition = m_cameraTargetPosition + up * 10.0 + backward * 12.0;
|
||||
|
||||
//use the convex sweep test to find a safe position for the camera (not blocked by static geometry)
|
||||
btSphereShape cameraSphere(0.2f);
|
||||
btTransform cameraFrom,cameraTo;
|
||||
cameraFrom.setIdentity();
|
||||
cameraFrom.setOrigin(characterWorldTrans.getOrigin());
|
||||
cameraTo.setIdentity();
|
||||
cameraTo.setOrigin(m_cameraPosition);
|
||||
|
||||
btCollisionWorld::ClosestConvexResultCallback cb( characterWorldTrans.getOrigin(), cameraTo.getOrigin() );
|
||||
cb.m_collisionFilterMask = btBroadphaseProxy::StaticFilter;
|
||||
|
||||
m_dynamicsWorld->convexSweepTest(&cameraSphere,cameraFrom,cameraTo,cb);
|
||||
if (cb.hasHit())
|
||||
{
|
||||
|
||||
btScalar minFraction = cb.m_closestHitFraction;//btMax(btScalar(0.3),cb.m_closestHitFraction);
|
||||
m_cameraPosition.setInterpolate3(cameraFrom.getOrigin(),cameraTo.getOrigin(),minFraction);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//update OpenGL camera settings
|
||||
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 10000.0);
|
||||
|
||||
@@ -15,10 +15,16 @@ subject to the following restrictions:
|
||||
#ifndef CONTINUOUS_CONVEX_COLLISION_DEMO_H
|
||||
#define CONTINUOUS_CONVEX_COLLISION_DEMO_H
|
||||
|
||||
#include "GlutDemoApplication.h"
|
||||
|
||||
|
||||
///ContinuousConvexCollisionDemo shows the working of the continuous collision detection, including linear and angular motion
|
||||
#ifdef _WINDOWS
|
||||
#include "Win32DemoApplication.h"
|
||||
class btContinuousConvexCollisionDemo : public Win32DemoApplication
|
||||
#else
|
||||
#include "GlutDemoApplication.h"
|
||||
class btContinuousConvexCollisionDemo : public GlutDemoApplication
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ btTransform toTrans[maxNumObjects];
|
||||
int screenWidth = 640;
|
||||
int screenHeight = 480;
|
||||
|
||||
|
||||
#ifndef _WINDOWS
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
btContinuousConvexCollisionDemo* ccdDemo = new btContinuousConvexCollisionDemo();
|
||||
@@ -74,6 +74,17 @@ int main(int argc,char** argv)
|
||||
|
||||
return glutmain(argc, argv,screenWidth,screenHeight,"Continuous Convex Collision Demo",ccdDemo);
|
||||
}
|
||||
#else
|
||||
DemoApplication* createDemo()
|
||||
{
|
||||
btContinuousConvexCollisionDemo* ccdDemo = new btContinuousConvexCollisionDemo();
|
||||
|
||||
ccdDemo->setCameraDistance(40.f);
|
||||
return ccdDemo;
|
||||
|
||||
}
|
||||
#endif //_WINDOWS
|
||||
|
||||
|
||||
void btContinuousConvexCollisionDemo::initPhysics()
|
||||
{
|
||||
@@ -280,8 +291,7 @@ void btContinuousConvexCollisionDemo::displayCallback(void) {
|
||||
}
|
||||
}
|
||||
|
||||
glFlush();
|
||||
glutSwapBuffers();
|
||||
swapBuffers();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ subject to the following restrictions:
|
||||
#define START_POS_Y 5
|
||||
#define START_POS_Z 0
|
||||
|
||||
#include "BasicDemo3D.h"
|
||||
#include "BasicDemo3d.h"
|
||||
#include "GlutStuff.h"
|
||||
///btBulletDynamicsCommon.h is the main Bullet include file, contains most common include files.
|
||||
#include "btBulletDynamicsCommon.h"
|
||||
|
||||
@@ -45,7 +45,7 @@ subject to the following restrictions:
|
||||
#undef BT_GPU_PREF
|
||||
#endif
|
||||
|
||||
#include "btGpuDemo3DSharedTypes.h"
|
||||
#include "btGpuDemo3dSharedTypes.h"
|
||||
|
||||
//#define CUDA_DEMO_DYNAMICS_WORLD3D_MAX_BATCHES 20
|
||||
#define CUDA_DEMO_DYNAMICS_WORLD3D_MAX_BATCHES 15
|
||||
|
||||
@@ -13,7 +13,7 @@ subject to the following restrictions:
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
|
||||
#include "BasicDemo3D.h"
|
||||
#include "BasicDemo3d.h"
|
||||
#include "GlutStuff.h"
|
||||
#include "GLDebugDrawer.h"
|
||||
#include "btBulletDynamicsCommon.h"
|
||||
|
||||
@@ -67,7 +67,9 @@ class DemoApplication
|
||||
int m_mouseOldX;
|
||||
int m_mouseOldY;
|
||||
int m_mouseButtons;
|
||||
public:
|
||||
int m_modifierKeys;
|
||||
protected:
|
||||
|
||||
float m_scaleBottom;
|
||||
float m_scaleFactor;
|
||||
|
||||
@@ -25,9 +25,9 @@ subject to the following restrictions:
|
||||
#include <OpenGL/glu.h>
|
||||
#include <GLUT/glut.h>
|
||||
#else
|
||||
#ifndef _WINDOWS
|
||||
|
||||
#include <GL/glut.h>
|
||||
#else
|
||||
#ifndef _WINDOWS
|
||||
#include <windows.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
@@ -49,6 +49,8 @@ subject to the following restrictions:
|
||||
#define BT_KEY_PAGEDOWN VK_NEXT
|
||||
#define BT_KEY_END VK_END
|
||||
#define BT_KEY_HOME VK_HOME
|
||||
#define BT_ACTIVE_ALT VK_LMENU
|
||||
|
||||
|
||||
|
||||
#else
|
||||
|
||||
@@ -32,7 +32,6 @@ DemoApplication* gDemoApplication = 0;
|
||||
DemoApplication* createDemo();
|
||||
|
||||
|
||||
|
||||
// Function Declarations
|
||||
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
@@ -86,6 +85,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
|
||||
gDemoApplication->myinit();
|
||||
//gDemoApplication->reshape(1024, 768);
|
||||
gDemoApplication->initPhysics();
|
||||
if (gDemoApplication->getDynamicsWorld())
|
||||
gDemoApplication->getDynamicsWorld()->setDebugDrawer(&debugDraw);
|
||||
|
||||
|
||||
@@ -146,10 +146,35 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
||||
|
||||
|
||||
switch (message)
|
||||
{
|
||||
|
||||
case WM_SYSKEYDOWN:
|
||||
{
|
||||
if (lParam & 1<<29)
|
||||
{
|
||||
gDemoApplication->m_modifierKeys = VK_LMENU;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_SYSKEYUP:
|
||||
{
|
||||
if (lParam & 1<<29)
|
||||
{
|
||||
gDemoApplication->m_modifierKeys = VK_LMENU;
|
||||
} else
|
||||
{
|
||||
gDemoApplication->m_modifierKeys = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case WM_SIZE: // Size Action Has Taken Place
|
||||
|
||||
switch (wParam) // Evaluate Size Action
|
||||
{
|
||||
case SIZE_MINIMIZED: // Was Window Minimized?
|
||||
|
||||
@@ -41,6 +41,12 @@ void Win32DemoApplication::clientResetScene()
|
||||
}
|
||||
#endif
|
||||
|
||||
void Win32DemoApplication::updateModifierKeys()
|
||||
{
|
||||
//not yet
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Win32DemoApplication::specialKeyboard(int key, int x, int y)
|
||||
{
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
|
||||
void specialKeyboard(int key, int x, int y);
|
||||
|
||||
virtual void updateModifierKeys();
|
||||
|
||||
|
||||
};
|
||||
|
||||
98
INSTALL
98
INSTALL
@@ -1,38 +1,100 @@
|
||||
Bullet Collision Detection and Physics Library
|
||||
|
||||
Compile
|
||||
** Windows Compilation **
|
||||
|
||||
Under Windows, projectfiles for Visual Studio version 6,7,7.1 and 8 are available in msvc/<version>.
|
||||
For example, for Visual Studio 2005, open msvc/8/wksbullet.sln
|
||||
Under Windows, projectfiles for Visual Studio version 6,7,7.1 and 8 are
|
||||
available in msvc/<version>. For example, for Visual Studio 2005, open
|
||||
msvc/8/wksbullet.sln
|
||||
|
||||
The ColladaDemo and ConvexDecomposition demo needs to be able to locate the data files (jenga.dae and file.obj) in the current directory. Make sure Visual Studio points to the right folder (..\..).
|
||||
The ColladaDemo and ConvexDecomposition demo needs to be able to locate the
|
||||
data files (jenga.dae and file.obj) in the current directory. Make sure Visual
|
||||
Studio points to the right folder (..\..).
|
||||
|
||||
Alternatively use CMake to autogenerate a build system for Windows:
|
||||
|
||||
- Download/install CMake from www.cmake.org or package manager
|
||||
- List available build systems by running 'cmake' in the Bullet root folder
|
||||
- Create a build system using the -G option for example:
|
||||
|
||||
cmake . -G "Visual Studio 9 2008" or
|
||||
cmake . -G "Visual Studio 9 2008 Win64"
|
||||
|
||||
|
||||
For other systems, for example Linux or Mac OS-X:
|
||||
** Linux Compilation **
|
||||
|
||||
Download/install CMake from www.cmake.org, and run cmake . -G Xcode (or replace Xcode with other available buildsystem).
|
||||
- Download/install CMake from www.cmake.org or package manager
|
||||
CMake is like autoconf in that it will create build scripts which are then
|
||||
used for the actual compilation
|
||||
|
||||
Alternatively use make or jam:
|
||||
- There are some options for cmake builds:
|
||||
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .so libraries
|
||||
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
|
||||
BUILD_DEMOS: default 'ON', compiles applications found in 'Demos'
|
||||
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
|
||||
CMAKE_INSTALL_RPATH: if you install outside a standard ld search path,
|
||||
then you should set this to the installation lib path.
|
||||
Other options may be discovered by 'cmake --help-variable-list' and
|
||||
'cmake --help-variable OPTION'
|
||||
|
||||
./autogen.sh
|
||||
- Run 'cmake' with desired options of the form -DOPTION=VALUE
|
||||
By default this will create the usual Makefile build system, but CMake can
|
||||
also produce Eclipse or KDevelop project files. See 'cmake --help' to see
|
||||
what "generators" are available in your environment, selected via '-G'.
|
||||
For example:
|
||||
cmake -DBUILD_SHARED_LIBS=ON
|
||||
|
||||
./configure
|
||||
- Assuming using the default Makefile output from cmake, run 'make' to
|
||||
build, and then 'make install' if you wish to install.
|
||||
|
||||
jam or make
|
||||
|
||||
If jam is not available for your system, you can compile it, jam sources are included with the Bullet sources in jam-2.5
|
||||
** Mac OS X Compilation **
|
||||
|
||||
compiling jam:
|
||||
- Download/install CMake from www.cmake.org or package manager
|
||||
CMake is like autoconf in that it will create build scripts which are then
|
||||
used for the actual compilation
|
||||
|
||||
cd jam-2.5
|
||||
- There are some options for cmake builds:
|
||||
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .dylib libraries
|
||||
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
|
||||
BUILD_DEMOS: default 'ON', compiles applications found in 'Demos'
|
||||
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
|
||||
CMAKE_INSTALL_NAME_DIR: if you install outside a standard ld search
|
||||
path, then you should set this to the installation lib/framework path.
|
||||
|
||||
make
|
||||
To build framework bundles:
|
||||
FRAMEWORK: default 'OFF', also requires 'BUILD_SHARED_LIBS' set ON
|
||||
If both FRAMEWORK and BUILD_SHARED_LIBS are set, will create
|
||||
OS X style Framework Bundles which can be placed in
|
||||
linked via the -framework gcc argument or drag into Xcode projects.
|
||||
(If not framework, then UNIX style 'include' and 'lib' will be produced)
|
||||
|
||||
(as root)
|
||||
Other options may be discovered by 'cmake --help-variable-list' and
|
||||
'cmake --help-variable OPTION'
|
||||
|
||||
su
|
||||
- Run 'cmake' with desired options of the form -DOPTION=VALUE
|
||||
By default this will create the usual Makefile build system, but CMake can
|
||||
also produce Eclipse or KDevelop project files. See 'cmake --help' to see
|
||||
what "generators" are available in your environment, selected via '-G'.
|
||||
For example:
|
||||
cmake -DBUILD_SHARED_LIBS=ON -DFRAMEWORK=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=/Library/Frameworks \
|
||||
-DCMAKE_INSTALL_NAME_DIR=/Library/Frameworks
|
||||
|
||||
make install
|
||||
- Assuming using the default Makefile output from cmake, run 'make' to build
|
||||
and then 'make install'.
|
||||
|
||||
For more help, visit http://www.continuousphysics.com
|
||||
|
||||
** Alternative Mac OS X and Linux via 'jam' or autoconf/make **
|
||||
- at the command line:
|
||||
./autogen.sh
|
||||
./configure
|
||||
- 'jam' or 'make' depending on preference
|
||||
- If jam is not available for your system, you can compile it, jam sources
|
||||
are included with the Bullet sources in jam-2.5
|
||||
- compiling jam:
|
||||
cd jam-2.5
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
** For more help, visit http://www.bulletphysics.com **
|
||||
|
||||
@@ -4,31 +4,31 @@ SET(BulletCollision_SRCS
|
||||
BroadphaseCollision/btAxisSweep3.cpp
|
||||
BroadphaseCollision/btBroadphaseProxy.cpp
|
||||
BroadphaseCollision/btCollisionAlgorithm.cpp
|
||||
BroadphaseCollision/btDispatcher.cpp
|
||||
BroadphaseCollision/btDbvtBroadphase.cpp
|
||||
BroadphaseCollision/btDbvt.cpp
|
||||
BroadphaseCollision/btDbvtBroadphase.cpp
|
||||
BroadphaseCollision/btDispatcher.cpp
|
||||
BroadphaseCollision/btMultiSapBroadphase.cpp
|
||||
BroadphaseCollision/btOverlappingPairCache.cpp
|
||||
BroadphaseCollision/btQuantizedBvh.cpp
|
||||
BroadphaseCollision/btSimpleBroadphase.cpp
|
||||
CollisionDispatch/btActivatingCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btBoxBoxDetector.cpp
|
||||
CollisionDispatch/btCollisionDispatcher.cpp
|
||||
CollisionDispatch/btCollisionObject.cpp
|
||||
CollisionDispatch/btCollisionWorld.cpp
|
||||
CollisionDispatch/btCompoundCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btDefaultCollisionConfiguration.cpp
|
||||
CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btBoxBoxDetector.cpp
|
||||
CollisionDispatch/btGhostObject.cpp
|
||||
CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btConvexConvexAlgorithm.cpp
|
||||
CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btDefaultCollisionConfiguration.cpp
|
||||
CollisionDispatch/btEmptyCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btGhostObject.cpp
|
||||
CollisionDispatch/btManifoldResult.cpp
|
||||
CollisionDispatch/btSimulationIslandManager.cpp
|
||||
CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
|
||||
CollisionDispatch/btUnionFind.cpp
|
||||
CollisionDispatch/SphereTriangleDetector.cpp
|
||||
CollisionShapes/btBoxShape.cpp
|
||||
@@ -39,9 +39,9 @@ SET(BulletCollision_SRCS
|
||||
CollisionShapes/btConcaveShape.cpp
|
||||
CollisionShapes/btConeShape.cpp
|
||||
CollisionShapes/btConvexHullShape.cpp
|
||||
CollisionShapes/btConvexInternalShape.cpp
|
||||
CollisionShapes/btConvexPointCloudShape.cpp
|
||||
CollisionShapes/btConvexShape.cpp
|
||||
CollisionShapes/btConvexInternalShape.cpp
|
||||
CollisionShapes/btConvexTriangleMeshShape.cpp
|
||||
CollisionShapes/btCylinderShape.cpp
|
||||
CollisionShapes/btEmptyShape.cpp
|
||||
@@ -52,34 +52,34 @@ SET(BulletCollision_SRCS
|
||||
CollisionShapes/btOptimizedBvh.cpp
|
||||
CollisionShapes/btPolyhedralConvexShape.cpp
|
||||
CollisionShapes/btScaledBvhTriangleMeshShape.cpp
|
||||
CollisionShapes/btTetrahedronShape.cpp
|
||||
CollisionShapes/btSphereShape.cpp
|
||||
CollisionShapes/btShapeHull.cpp
|
||||
CollisionShapes/btSphereShape.cpp
|
||||
CollisionShapes/btStaticPlaneShape.cpp
|
||||
CollisionShapes/btStridingMeshInterface.cpp
|
||||
CollisionShapes/btTriangleCallback.cpp
|
||||
CollisionShapes/btTetrahedronShape.cpp
|
||||
CollisionShapes/btTriangleBuffer.cpp
|
||||
CollisionShapes/btTriangleCallback.cpp
|
||||
CollisionShapes/btTriangleIndexVertexArray.cpp
|
||||
CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
|
||||
CollisionShapes/btTriangleMesh.cpp
|
||||
CollisionShapes/btTriangleMeshShape.cpp
|
||||
CollisionShapes/btUniformScalingShape.cpp
|
||||
Gimpact/btContactProcessing.cpp
|
||||
Gimpact/btGImpactShape.cpp
|
||||
Gimpact/gim_contact.cpp
|
||||
Gimpact/btGImpactBvh.cpp
|
||||
Gimpact/btGenericPoolAllocator.cpp
|
||||
Gimpact/gim_memory.cpp
|
||||
Gimpact/btGImpactBvh.cpp
|
||||
Gimpact/btGImpactCollisionAlgorithm.cpp
|
||||
Gimpact/btTriangleShapeEx.cpp
|
||||
Gimpact/gim_tri_collision.cpp
|
||||
Gimpact/btGImpactQuantizedBvh.cpp
|
||||
Gimpact/btGImpactShape.cpp
|
||||
Gimpact/btTriangleShapeEx.cpp
|
||||
Gimpact/gim_box_set.cpp
|
||||
Gimpact/gim_contact.cpp
|
||||
Gimpact/gim_memory.cpp
|
||||
Gimpact/gim_tri_collision.cpp
|
||||
NarrowPhaseCollision/btContinuousConvexCollision.cpp
|
||||
NarrowPhaseCollision/btGjkEpa2.cpp
|
||||
NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
|
||||
NarrowPhaseCollision/btConvexCast.cpp
|
||||
NarrowPhaseCollision/btGjkConvexCast.cpp
|
||||
NarrowPhaseCollision/btGjkEpa2.cpp
|
||||
NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
|
||||
NarrowPhaseCollision/btGjkPairDetector.cpp
|
||||
NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
|
||||
NarrowPhaseCollision/btPersistentManifold.cpp
|
||||
@@ -96,9 +96,9 @@ SET(BroadphaseCollision_HDRS
|
||||
BroadphaseCollision/btBroadphaseInterface.h
|
||||
BroadphaseCollision/btBroadphaseProxy.h
|
||||
BroadphaseCollision/btCollisionAlgorithm.h
|
||||
BroadphaseCollision/btDispatcher.h
|
||||
BroadphaseCollision/btDbvtBroadphase.h
|
||||
BroadphaseCollision/btDbvt.h
|
||||
BroadphaseCollision/btDbvtBroadphase.h
|
||||
BroadphaseCollision/btDispatcher.h
|
||||
BroadphaseCollision/btMultiSapBroadphase.h
|
||||
BroadphaseCollision/btOverlappingPairCache.h
|
||||
BroadphaseCollision/btOverlappingPairCallback.h
|
||||
@@ -107,6 +107,8 @@ SET(BroadphaseCollision_HDRS
|
||||
)
|
||||
SET(CollisionDispatch_HDRS
|
||||
CollisionDispatch/btActivatingCollisionAlgorithm.h
|
||||
CollisionDispatch/btBoxBoxCollisionAlgorithm.h
|
||||
CollisionDispatch/btBoxBoxDetector.h
|
||||
CollisionDispatch/btCollisionConfiguration.h
|
||||
CollisionDispatch/btCollisionCreateFunc.h
|
||||
CollisionDispatch/btCollisionDispatcher.h
|
||||
@@ -114,18 +116,16 @@ SET(CollisionDispatch_HDRS
|
||||
CollisionDispatch/btCollisionWorld.h
|
||||
CollisionDispatch/btCompoundCollisionAlgorithm.h
|
||||
CollisionDispatch/btConvexConcaveCollisionAlgorithm.h
|
||||
CollisionDispatch/btDefaultCollisionConfiguration.h
|
||||
CollisionDispatch/btSphereSphereCollisionAlgorithm.h
|
||||
CollisionDispatch/btBoxBoxCollisionAlgorithm.h
|
||||
CollisionDispatch/btBoxBoxDetector.h
|
||||
CollisionDispatch/btGhostObject.h
|
||||
CollisionDispatch/btSphereBoxCollisionAlgorithm.h
|
||||
CollisionDispatch/btConvexPlaneCollisionAlgorithm.h
|
||||
CollisionDispatch/btSphereTriangleCollisionAlgorithm.h
|
||||
CollisionDispatch/btConvexConvexAlgorithm.h
|
||||
CollisionDispatch/btConvexPlaneCollisionAlgorithm.h
|
||||
CollisionDispatch/btDefaultCollisionConfiguration.h
|
||||
CollisionDispatch/btEmptyCollisionAlgorithm.h
|
||||
CollisionDispatch/btGhostObject.h
|
||||
CollisionDispatch/btManifoldResult.h
|
||||
CollisionDispatch/btSimulationIslandManager.h
|
||||
CollisionDispatch/btSphereBoxCollisionAlgorithm.h
|
||||
CollisionDispatch/btSphereSphereCollisionAlgorithm.h
|
||||
CollisionDispatch/btSphereTriangleCollisionAlgorithm.h
|
||||
CollisionDispatch/btUnionFind.h
|
||||
CollisionDispatch/SphereTriangleDetector.h
|
||||
)
|
||||
@@ -133,50 +133,68 @@ SET(CollisionShapes_HDRS
|
||||
CollisionShapes/btBoxShape.h
|
||||
CollisionShapes/btBvhTriangleMeshShape.h
|
||||
CollisionShapes/btCapsuleShape.h
|
||||
CollisionShapes/btCollisionMargin
|
||||
CollisionShapes/btCollisionMargin.h
|
||||
CollisionShapes/btCollisionShape.h
|
||||
CollisionShapes/btCompoundShape.h
|
||||
CollisionShapes/btConcaveShape.h
|
||||
CollisionShapes/btConeShape.h
|
||||
CollisionShapes/btConvexHullShape.h
|
||||
CollisionShapes/btConvexInternalShape.h
|
||||
CollisionShapes/btConvexPointCloudShape.h
|
||||
CollisionShapes/btConvexShape.h
|
||||
CollisionShapes/btConvexInternalShape.h
|
||||
CollisionShapes/btConvexTriangleMeshShape.h
|
||||
CollisionShapes/btCylinderShape.h
|
||||
CollisionShapes/btEmptyShape.h
|
||||
CollisionShapes/btHeightfieldTerrainShape.h
|
||||
CollisionShapes/btMinkowskiSumShape.h
|
||||
CollisionShapes/btMaterial.h
|
||||
CollisionShapes/btMinkowskiSumShape.h
|
||||
CollisionShapes/btMultimaterialTriangleMeshShape.h
|
||||
CollisionShapes/btMultiSphereShape.h
|
||||
CollisionShapes/btOptimizedBvh.h
|
||||
CollisionShapes/btPolyhedralConvexShape.h
|
||||
CollisionShapes/btScaledBvhTriangleMeshShape.h
|
||||
CollisionShapes/btTetrahedronShape.h
|
||||
CollisionShapes/btSphereShape.h
|
||||
CollisionShapes/btShapeHull.h
|
||||
CollisionShapes/btSphereShape.h
|
||||
CollisionShapes/btStaticPlaneShape.h
|
||||
CollisionShapes/btStridingMeshInterface.h
|
||||
CollisionShapes/btTriangleCallback.h
|
||||
CollisionShapes/btTetrahedronShape.h
|
||||
CollisionShapes/btTriangleBuffer.h
|
||||
CollisionShapes/btTriangleCallback.h
|
||||
CollisionShapes/btTriangleIndexVertexArray.h
|
||||
CollisionShapes/btTriangleIndexVertexMaterialArray.h
|
||||
CollisionShapes/btTriangleMesh.h
|
||||
CollisionShapes/btTriangleMeshShape.h
|
||||
CollisionShapes/btTriangleShape.h
|
||||
CollisionShapes/btUniformScalingShape.h
|
||||
)
|
||||
SET(Gimpact_HDRS
|
||||
Gimpact/btGImpactShape.h
|
||||
Gimpact/gim_contact.h
|
||||
Gimpact/btGImpactBvh.h
|
||||
Gimpact/btBoxCollision.h
|
||||
Gimpact/btClipPolygon.h
|
||||
Gimpact/btContactProcessing.h
|
||||
Gimpact/btGenericPoolAllocator.h
|
||||
Gimpact/gim_memory.h
|
||||
Gimpact/btGeometryOperations.h
|
||||
Gimpact/btGImpactBvh.h
|
||||
Gimpact/btGImpactCollisionAlgorithm.h
|
||||
Gimpact/btTriangleShapeEx.h
|
||||
Gimpact/gim_tri_collision.h
|
||||
Gimpact/btGImpactMassUtil.h
|
||||
Gimpact/btGImpactQuantizedBvh.h
|
||||
Gimpact/btGImpactShape.h
|
||||
Gimpact/btQuantization.h
|
||||
Gimpact/btTriangleShapeEx.h
|
||||
Gimpact/gim_array.h
|
||||
Gimpact/gim_basic_geometry_operations.h
|
||||
Gimpact/gim_bitset.h
|
||||
Gimpact/gim_box_collision.h
|
||||
Gimpact/gim_box_set.h
|
||||
Gimpact/gim_clip_polygon.h
|
||||
Gimpact/gim_contact.h
|
||||
Gimpact/gim_geom_types.h
|
||||
Gimpact/gim_geometry.h
|
||||
Gimpact/gim_hash_table.h
|
||||
Gimpact/gim_linear_math.h
|
||||
Gimpact/gim_math.h
|
||||
Gimpact/gim_memory.h
|
||||
Gimpact/gim_radixsort.h
|
||||
Gimpact/gim_tri_collision.h
|
||||
)
|
||||
SET(NarrowPhaseCollision_HDRS
|
||||
NarrowPhaseCollision/btContinuousConvexCollision.h
|
||||
@@ -214,10 +232,17 @@ IF (BUILD_SHARED_LIBS)
|
||||
TARGET_LINK_LIBRARIES(BulletCollision LinearMath)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
|
||||
|
||||
|
||||
#INSTALL of other files requires CMake 2.6
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletCollision DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletCollision DESTINATION lib)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
|
||||
@@ -298,7 +298,7 @@ public:
|
||||
|
||||
|
||||
//algorithm details
|
||||
//#define BULLET_TRIANGLE_COLLISION 1
|
||||
#define BULLET_TRIANGLE_COLLISION 1
|
||||
#define GIMPACT_VS_PLANE_COLLISION 1
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ bool btGjkEpaPenetrationDepthSolver::calcPenDepth( btSimplexSolverInterface& sim
|
||||
//resultOut->addContactPoint(results.normal,results.witnesses[1],-results.depth);
|
||||
wWitnessOnA = results.witnesses[0];
|
||||
wWitnessOnB = results.witnesses[1];
|
||||
v = results.normal;
|
||||
return true;
|
||||
} else
|
||||
{
|
||||
@@ -54,6 +55,7 @@ bool btGjkEpaPenetrationDepthSolver::calcPenDepth( btSimplexSolverInterface& sim
|
||||
{
|
||||
wWitnessOnA = results.witnesses[0];
|
||||
wWitnessOnB = results.witnesses[1];
|
||||
v = results.normal;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,11 +310,6 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
|
||||
|
||||
if (isValid2)
|
||||
{
|
||||
btVector3 tmpNormalInB = tmpPointOnB-tmpPointOnA;
|
||||
btScalar lenSqr = tmpNormalInB.length2();
|
||||
if (lenSqr > (SIMD_EPSILON*SIMD_EPSILON))
|
||||
{
|
||||
tmpNormalInB /= btSqrt(lenSqr);
|
||||
btScalar distance2 = -(tmpPointOnA-tmpPointOnB).length();
|
||||
//only replace valid penetrations when the result is deeper (check)
|
||||
if (!isValid || (distance2 < distance))
|
||||
@@ -322,16 +317,11 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
|
||||
distance = distance2;
|
||||
pointOnA = tmpPointOnA;
|
||||
pointOnB = tmpPointOnB;
|
||||
normalInB = tmpNormalInB;
|
||||
normalInB = m_cachedSeparatingAxis;
|
||||
isValid = true;
|
||||
m_lastUsedMethod = 3;
|
||||
} else
|
||||
{
|
||||
|
||||
}
|
||||
} else
|
||||
{
|
||||
//isValid = false;
|
||||
m_lastUsedMethod = 4;
|
||||
}
|
||||
} else
|
||||
@@ -342,11 +332,7 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
|
||||
///thanks to Jacob.Langford for the reproduction case
|
||||
///http://code.google.com/p/bullet/issues/detail?id=250
|
||||
|
||||
btVector3 tmpNormalInB = tmpPointOnA - tmpPointOnB;
|
||||
btScalar lenSqr = tmpNormalInB.length2();
|
||||
if (lenSqr > (SIMD_EPSILON*SIMD_EPSILON))
|
||||
{
|
||||
tmpNormalInB /= btSqrt(lenSqr);
|
||||
|
||||
btScalar distance2 = (tmpPointOnA-tmpPointOnB).length()-margin;
|
||||
//only replace valid distances when the distance is less
|
||||
if (!isValid || (distance2 < distance))
|
||||
@@ -354,18 +340,16 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
|
||||
distance = distance2;
|
||||
pointOnA = tmpPointOnA;
|
||||
pointOnB = tmpPointOnB;
|
||||
pointOnA -= tmpNormalInB * marginA ;
|
||||
pointOnB += tmpNormalInB * marginB ;
|
||||
normalInB = tmpNormalInB;
|
||||
pointOnA -= m_cachedSeparatingAxis * marginA ;
|
||||
pointOnB += m_cachedSeparatingAxis * marginB ;
|
||||
normalInB = m_cachedSeparatingAxis;
|
||||
isValid = true;
|
||||
m_lastUsedMethod = 6;
|
||||
} else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
m_lastUsedMethod = 5;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,25 +3,26 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src } )
|
||||
|
||||
|
||||
SET(BulletDynamics_SRCS
|
||||
Character/btKinematicCharacterController.cpp
|
||||
ConstraintSolver/btConeTwistConstraint.cpp
|
||||
ConstraintSolver/btContactConstraint.cpp
|
||||
ConstraintSolver/btGeneric6DofConstraint.cpp
|
||||
ConstraintSolver/btGeneric6DofSpringConstraint.cpp
|
||||
ConstraintSolver/btHinge2Constraint.cpp
|
||||
ConstraintSolver/btUniversalConstraint.cpp
|
||||
ConstraintSolver/btContactConstraint.cpp
|
||||
ConstraintSolver/btConeTwistConstraint.cpp
|
||||
ConstraintSolver/btGeneric6DofConstraint.cpp
|
||||
ConstraintSolver/btHingeConstraint.cpp
|
||||
ConstraintSolver/btPoint2PointConstraint.cpp
|
||||
ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
|
||||
ConstraintSolver/btSliderConstraint.cpp
|
||||
ConstraintSolver/btSolve2LinearConstraint.cpp
|
||||
ConstraintSolver/btTypedConstraint.cpp
|
||||
Dynamics/Bullet-C-API.cpp
|
||||
ConstraintSolver/btUniversalConstraint.cpp
|
||||
Dynamics/btContinuousDynamicsWorld.cpp
|
||||
Dynamics/btDiscreteDynamicsWorld.cpp
|
||||
Dynamics/btSimpleDynamicsWorld.cpp
|
||||
Dynamics/btRigidBody.cpp
|
||||
Dynamics/btSimpleDynamicsWorld.cpp
|
||||
Dynamics/Bullet-C-API.cpp
|
||||
Vehicle/btRaycastVehicle.cpp
|
||||
Vehicle/btWheelInfo.cpp
|
||||
Character/btKinematicCharacterController.cpp
|
||||
)
|
||||
|
||||
SET(Root_HDRS
|
||||
@@ -29,14 +30,13 @@ SET(Root_HDRS
|
||||
../btBulletCollisionCommon.h
|
||||
)
|
||||
SET(ConstraintSolver_HDRS
|
||||
ConstraintSolver/btGeneric6DofSpringConstraint.h
|
||||
ConstraintSolver/btHinge2Constraint.h
|
||||
ConstraintSolver/btUniversalConstraint.h
|
||||
ConstraintSolver/btConeTwistConstraint.h
|
||||
ConstraintSolver/btConstraintSolver.h
|
||||
ConstraintSolver/btContactConstraint.h
|
||||
ConstraintSolver/btContactSolverInfo.h
|
||||
ConstraintSolver/btConeTwistConstraint.h
|
||||
ConstraintSolver/btGeneric6DofConstraint.h
|
||||
ConstraintSolver/btGeneric6DofSpringConstraint.h
|
||||
ConstraintSolver/btHinge2Constraint.h
|
||||
ConstraintSolver/btHingeConstraint.h
|
||||
ConstraintSolver/btJacobianEntry.h
|
||||
ConstraintSolver/btPoint2PointConstraint.h
|
||||
@@ -46,8 +46,10 @@ SET(ConstraintSolver_HDRS
|
||||
ConstraintSolver/btSolverBody.h
|
||||
ConstraintSolver/btSolverConstraint.h
|
||||
ConstraintSolver/btTypedConstraint.h
|
||||
ConstraintSolver/btUniversalConstraint.h
|
||||
)
|
||||
SET(Dynamics_HDRS
|
||||
Dynamics/btActionInterface.h
|
||||
Dynamics/btContinuousDynamicsWorld.h
|
||||
Dynamics/btDiscreteDynamicsWorld.h
|
||||
Dynamics/btDynamicsWorld.h
|
||||
@@ -84,8 +86,12 @@ IF (BUILD_SHARED_LIBS)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletDynamics DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletDynamics DESTINATION lib)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
|
||||
@@ -5,22 +5,23 @@ ${BULLET_PHYSICS_SOURCE_DIR}/src }
|
||||
|
||||
SET(BulletSoftBody_SRCS
|
||||
btSoftBody.cpp
|
||||
btSoftBodyConcaveCollisionAlgorithm.cpp
|
||||
btSoftBodyHelpers.cpp
|
||||
btSoftBodyRigidBodyCollisionConfiguration.cpp
|
||||
btSoftRigidCollisionAlgorithm.cpp
|
||||
btSoftSoftCollisionAlgorithm.cpp
|
||||
btSoftBodyConcaveCollisionAlgorithm.cpp
|
||||
btSoftRigidDynamicsWorld.cpp
|
||||
btSoftSoftCollisionAlgorithm.cpp
|
||||
)
|
||||
|
||||
SET(BulletSoftBody_HDRS
|
||||
btSoftBody.h
|
||||
btSparseSDF.h
|
||||
btSoftBodyHelpers.h
|
||||
btSoftRigidCollisionAlgorithm.h
|
||||
btSoftSoftCollisionAlgorithm.h
|
||||
btSoftBodyConcaveCollisionAlgorithm.h
|
||||
btSoftBodyHelpers.h
|
||||
btSoftBodyRigidBodyCollisionConfiguration.h
|
||||
btSoftRigidCollisionAlgorithm.h
|
||||
btSoftRigidDynamicsWorld.h
|
||||
btSoftSoftCollisionAlgorithm.h
|
||||
btSparseSDF.h
|
||||
)
|
||||
|
||||
|
||||
@@ -33,8 +34,12 @@ IF (BUILD_SHARED_LIBS)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletSoftBody DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletSoftBody DESTINATION lib)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
|
||||
@@ -6,6 +6,10 @@ endif (CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||
|
||||
#INSTALL of other files requires CMake 2.6
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
# Don't actually need to install any common files, the frameworks include everything
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(FILES btBulletCollisionCommon.h btBulletDynamicsCommon.h Bullet-C-Api.h DESTINATION include)
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src }
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src }
|
||||
)
|
||||
|
||||
SET(LinearMath_SRCS
|
||||
btConvexHull.cpp
|
||||
btQuickprof.cpp
|
||||
btGeometryUtil.cpp
|
||||
btAlignedAllocator.cpp
|
||||
btConvexHull.cpp
|
||||
btGeometryUtil.cpp
|
||||
btQuickprof.cpp
|
||||
)
|
||||
|
||||
SET(LinearMath_HDRS
|
||||
btAlignedObjectArray.h
|
||||
btList.h
|
||||
btPoolAllocator.h
|
||||
btRandom.h
|
||||
btVector3.h
|
||||
btDefaultMotionState.h
|
||||
btMatrix3x3.h
|
||||
btQuadWord.h
|
||||
btHashMap.h
|
||||
btScalar.h
|
||||
btAabbUtil2.h
|
||||
btConvexHull.h
|
||||
btMinMax.h
|
||||
btQuaternion.h
|
||||
btStackAlloc.h
|
||||
btGeometryUtil.h
|
||||
btMotionState.h
|
||||
btTransform.h
|
||||
btAlignedAllocator.h
|
||||
btAlignedObjectArray.h
|
||||
btConvexHull.h
|
||||
btDefaultMotionState.h
|
||||
btGeometryUtil.h
|
||||
btHashMap.h
|
||||
btIDebugDraw.h
|
||||
btList.h
|
||||
btMatrix3x3.h
|
||||
btMinMax.h
|
||||
btMotionState.h
|
||||
btPoolAllocator.h
|
||||
btQuadWord.h
|
||||
btQuaternion.h
|
||||
btQuickprof.h
|
||||
btRandom.h
|
||||
btScalar.h
|
||||
btStackAlloc.h
|
||||
btTransform.h
|
||||
btTransformUtil.h
|
||||
btVector3.h
|
||||
)
|
||||
|
||||
ADD_LIBRARY(LinearMath ${LinearMath_SRCS} ${LinearMath_HDRS})
|
||||
@@ -41,8 +41,12 @@ SET_TARGET_PROPERTIES(LinearMath PROPERTIES SOVERSION ${BULLET_VERSION})
|
||||
|
||||
#FILES_MATCHING requires CMake 2.6
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS LinearMath DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS LinearMath DESTINATION lib)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
|
||||
Reference in New Issue
Block a user