Add the option BUILD_MULTITHREADING to CMAKE, only enabled on APPLE and MSVC platforms. This controls multi-core (BulletMultiThreaded), MiniCL, DX11 and OpenCL acceleration.
On other platforms (Linux) it might work, but it is unsupported. Fix some warnings in btBulletWorldImprter
This commit is contained in:
249
CMakeLists.txt
249
CMakeLists.txt
@@ -22,11 +22,7 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
|
||||
|
||||
OPTION(USE_DOUBLE_PRECISION "Use double precision" OFF)
|
||||
OPTION(USE_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" ON)
|
||||
OPTION(USE_MULTITHREADED_BENCHMARK "Use Multithreaded Benchmark" OFF)
|
||||
|
||||
IF (USE_MULTITHREADED_BENCHMARK)
|
||||
ADD_DEFINITIONS(-DUSE_PARALLEL_SOLVER_BENCHMARK -DUSE_PARALLEL_DISPATCHER_BENCHMARK)
|
||||
ENDIF()
|
||||
|
||||
OPTION(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC Runtime Library DLL (/MD or /MDd)" OFF)
|
||||
OPTION(USE_MSVC_INCREMENTAL_LINKING "Use MSVC Incremental Linking" OFF)
|
||||
@@ -42,14 +38,141 @@ IF (USE_CUSTOM_VECTOR_MATH)
|
||||
ENDIF(WIN32)
|
||||
ENDIF(USE_CUSTOM_VECTOR_MATH)
|
||||
|
||||
IF (MSVC)
|
||||
FIND_PATH(DIRECTX_SDK_BASE_DIR Include/D3D11.h PATH $ENV{DXSDK_DIR} )
|
||||
IF(DIRECTX_SDK_BASE_DIR)
|
||||
OPTION(USE_DX11 "Use DirectX 11" ON)
|
||||
|
||||
IF (APPLE OR MSVC)
|
||||
OPTION(BUILD_MULTITHREADING "Use BulletMultiThreading" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_MULTITHREADING "Use BulletMultiThreading" OFF)
|
||||
ENDIF()
|
||||
|
||||
IF (BUILD_MULTITHREADING)
|
||||
OPTION(USE_MULTITHREADED_BENCHMARK "Use Multithreaded Benchmark" OFF)
|
||||
IF (USE_MULTITHREADED_BENCHMARK)
|
||||
ADD_DEFINITIONS(-DUSE_PARALLEL_SOLVER_BENCHMARK -DUSE_PARALLEL_DISPATCHER_BENCHMARK)
|
||||
ENDIF(USE_MULTITHREADED_BENCHMARK)
|
||||
|
||||
IF (MSVC OR APPLE)
|
||||
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" ON)
|
||||
ELSE()
|
||||
OPTION(USE_DX11 "Use DirectX 11" OFF)
|
||||
ENDIF()
|
||||
ENDIF(MSVC)
|
||||
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" OFF)
|
||||
ENDIF(MSVC OR APPLE)
|
||||
|
||||
IF(MSVC)
|
||||
FIND_PATH(DIRECTX_SDK_BASE_DIR Include/D3D11.h PATH $ENV{DXSDK_DIR} )
|
||||
IF(DIRECTX_SDK_BASE_DIR)
|
||||
OPTION(USE_DX11 "Use DirectX 11" ON)
|
||||
ELSE()
|
||||
OPTION(USE_DX11 "Use DirectX 11" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
|
||||
IF(AMD_OPENCL_BASE_DIR)
|
||||
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
|
||||
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("AMD OPENCL SDK FOUND")
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBRARY ${CMAKE_ATISTREAMSDK_LIBPATH}/OpenCL.lib )
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAK_GLEW_LIBRARY
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew64s.lib )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAK_GLEW_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew32s.lib )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
ELSE()
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(INTEL_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{INTELOCLSDKROOT} )
|
||||
IF(INTEL_OPENCL_BASE_DIR)
|
||||
SET(INTEL_OPENCL_INCLUDES ${INTEL_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("INTEL OPENCL SDK FOUND")
|
||||
MESSAGE(${INTEL_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(INTEL_OPENCL_LIBRARIES ${CMAKE_INTELOCLSDK_LIBPATH}/OpenCL.lib)
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(NVIDIA_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{CUDA_PATH} )
|
||||
IF(NVIDIA_OPENCL_BASE_DIR)
|
||||
SET(NVIDIA_OPENCL_INCLUDES ${NVIDIA_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("NVIDIA OPENCL SDK FOUND")
|
||||
MESSAGE(${NVIDIA_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/x64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/Win32 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(NVIDIA_OPENCL_LIBRARIES ${CMAKE_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib)
|
||||
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
|
||||
ENDIF()
|
||||
ELSE(MSVC)
|
||||
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
|
||||
IF(AMD_OPENCL_BASE_DIR)
|
||||
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
|
||||
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("AMD OPENCL SDK FOUND")
|
||||
MESSAGE(${AMD_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBRARY OpenCL )
|
||||
ELSE()
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
|
||||
ENDIF(AMD_OPENCL_BASE_DIR)
|
||||
|
||||
FIND_PATH(INTEL_OPENCL_INCLUDES CL/cl.h)
|
||||
FIND_PATH(INTEL_OPENCL_ICD_CFG intelocl64.icd /etc/OpenCL/vendors)
|
||||
FIND_LIBRARY(INTEL_OPENCL_LIBRARIES OpenCL PATH /usr/lib64)
|
||||
IF (INTEL_OPENCL_INCLUDES AND INTEL_OPENCL_LIBRARIES AND INTEL_OPENCL_ICD_CFG)
|
||||
MESSAGE("INTEL OPENCL SDK FOUND")
|
||||
MESSAGE(${INTEL_OPENCL_LIBRARIES})
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
|
||||
ELSE ()
|
||||
MESSAGE("INTEL OPENCL NOT FOUND")
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
|
||||
ENDIF ()
|
||||
|
||||
|
||||
FIND_PATH(NVIDIA_OPENCL_INCLUDES CL/cl.h)
|
||||
FIND_PATH(NVIDIA_OPENCL_ICD_CFG nvidia.icd /etc/OpenCL/vendors)
|
||||
FIND_LIBRARY(NVIDIA_OPENCL_LIBRARIES OpenCL PATH /usr/lib64 /usr/local/lib)
|
||||
IF (NVIDIA_OPENCL_INCLUDES AND NVIDIA_OPENCL_LIBRARIES AND NVIDIA_OPENCL_ICD_CFG)
|
||||
MESSAGE("NVidia OPENCL FOUND")
|
||||
MESSAGE(${NVIDIA_OPENCL_LIBRARIES})
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
|
||||
ELSE ()
|
||||
MESSAGE("NVidia OPENCL NOT FOUND")
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
|
||||
ENDIF ()
|
||||
ENDIF(MSVC)
|
||||
|
||||
ELSE(BUILD_MULTITHREADING)
|
||||
# SET(BUILD_NVIDIA_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for NVidia" FORCE)
|
||||
# SET(BUILD_AMD_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for AMD" FORCE)
|
||||
# SET(BUILD_INTEL_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for Intel (CPU)" FORCE)
|
||||
# SET(BUILD_MINICL_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for MiniCL (Generic CPU)" FORCE)
|
||||
# SET(USE_DX11 OFF CACHE BOOL "Use DirectX 11" FORCE)
|
||||
# SET(USE_MULTITHREADED_BENCHMARK OFF CACHE BOOL "Use Multithreaded Benchmark" FORCE)
|
||||
ENDIF(BUILD_MULTITHREADING)
|
||||
|
||||
|
||||
|
||||
|
||||
#SET(CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:NO")
|
||||
@@ -128,63 +251,6 @@ SET(CMAKE_RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo" CACHE STRING "Adds a postfi
|
||||
|
||||
|
||||
|
||||
IF(MSVC)
|
||||
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
|
||||
IF(AMD_OPENCL_BASE_DIR)
|
||||
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
|
||||
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("AMD OPENCL SDK FOUND")
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBRARY ${CMAKE_ATISTREAMSDK_LIBPATH}/OpenCL.lib )
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAK_GLEW_LIBRARY
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew64s.lib )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAK_GLEW_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew32s.lib )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
ELSE()
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(INTEL_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{INTELOCLSDKROOT} )
|
||||
IF(INTEL_OPENCL_BASE_DIR)
|
||||
SET(INTEL_OPENCL_INCLUDES ${INTEL_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("INTEL OPENCL SDK FOUND")
|
||||
MESSAGE(${INTEL_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(INTEL_OPENCL_LIBRARIES ${CMAKE_INTELOCLSDK_LIBPATH}/OpenCL.lib)
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(NVIDIA_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{CUDA_PATH} )
|
||||
IF(NVIDIA_OPENCL_BASE_DIR)
|
||||
SET(NVIDIA_OPENCL_INCLUDES ${NVIDIA_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("NVIDIA OPENCL SDK FOUND")
|
||||
MESSAGE(${NVIDIA_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/x64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/Win32 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
SET(NVIDIA_OPENCL_LIBRARIES ${CMAKE_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib)
|
||||
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
||||
IF (INTERNAL_CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
|
||||
@@ -194,53 +260,6 @@ ENDIF(INTERNAL_CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
|
||||
|
||||
ENDIF (WIN32)
|
||||
|
||||
IF (MSVC OR APPLE)
|
||||
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" ON)
|
||||
ELSE()
|
||||
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" OFF)
|
||||
|
||||
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
|
||||
IF(AMD_OPENCL_BASE_DIR)
|
||||
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
|
||||
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
|
||||
MESSAGE("AMD OPENCL SDK FOUND")
|
||||
MESSAGE(${AMD_OPENCL_INCLUDES})
|
||||
IF (CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
|
||||
ENDIF(CMAKE_CL_64)
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
|
||||
SET(CMAKE_ATISTREAMSDK_LIBRARY OpenCL )
|
||||
ELSE()
|
||||
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(INTEL_OPENCL_INCLUDES CL/cl.h)
|
||||
FIND_PATH(INTEL_OPENCL_ICD_CFG intelocl64.icd /etc/OpenCL/vendors)
|
||||
FIND_LIBRARY(INTEL_OPENCL_LIBRARIES OpenCL PATH /usr/lib64)
|
||||
IF (INTEL_OPENCL_INCLUDES AND INTEL_OPENCL_LIBRARIES AND INTEL_OPENCL_ICD_CFG)
|
||||
MESSAGE("INTEL OPENCL SDK FOUND")
|
||||
MESSAGE(${INTEL_OPENCL_LIBRARIES})
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
|
||||
ELSE ()
|
||||
MESSAGE("INTEL OPENCL NOT FOUND")
|
||||
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
|
||||
ENDIF ()
|
||||
|
||||
FIND_PATH(NVIDIA_OPENCL_INCLUDES CL/cl.h)
|
||||
FIND_PATH(NVIDIA_OPENCL_ICD_CFG nvidia.icd /etc/OpenCL/vendors)
|
||||
FIND_LIBRARY(NVIDIA_OPENCL_LIBRARIES OpenCL PATH /usr/lib64 /usr/local/lib)
|
||||
IF (NVIDIA_OPENCL_INCLUDES AND NVIDIA_OPENCL_LIBRARIES AND NVIDIA_OPENCL_ICD_CFG)
|
||||
MESSAGE("NVidia OPENCL FOUND")
|
||||
MESSAGE(${NVIDIA_OPENCL_LIBRARIES})
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
|
||||
ELSE ()
|
||||
MESSAGE("NVidia OPENCL NOT FOUND")
|
||||
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
|
||||
ENDIF ()
|
||||
|
||||
ENDIF()
|
||||
|
||||
OPTION(BUILD_CPU_DEMOS "Build original Bullet CPU demos" ON)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ ${VECTOR_MATH_INCLUDE}
|
||||
)
|
||||
|
||||
LINK_LIBRARIES(
|
||||
GLUI GIMPACTUtils HACD ConvexDecomposition BulletMultiThreaded OpenGLSupport BulletWorldImporter BulletSoftBody BulletDynamics BulletCollision BulletFileLoader LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
GLUI GIMPACTUtils HACD ConvexDecomposition OpenGLSupport BulletWorldImporter BulletSoftBody BulletDynamics BulletCollision BulletFileLoader LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
)
|
||||
|
||||
SET(AllBulletDemos_SRCS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
IF (USE_DX11)
|
||||
IF (USE_DX11 AND BUILD_MULTITHREADING)
|
||||
SUBDIRS(DX11ClothDemo)
|
||||
ENDIF()
|
||||
|
||||
@@ -10,31 +10,34 @@ IF (USE_GLUT)
|
||||
IF (GLUT_FOUND)
|
||||
IF(BUILD_CPU_DEMOS)
|
||||
SET(SharedDemoSubdirs
|
||||
OpenGL AllBulletDemos ConvexDecompositionDemo
|
||||
CcdPhysicsDemo BulletXmlImportDemo ConstraintDemo SliderConstraintDemo GenericJointDemo Raytracer
|
||||
RagdollDemo ForkLiftDemo BasicDemo RollingFrictionDemo RaytestDemo VoronoiFractureDemo GyroscopicDemo FractureDemo Box2dDemo BspDemo MovingConcaveDemo VehicleDemo
|
||||
UserCollisionAlgorithm CharacterDemo SoftDemo
|
||||
CollisionInterfaceDemo ConcaveConvexcastDemo SimplexDemo DynamicControlDemo
|
||||
ConvexHullDistance
|
||||
DoublePrecisionDemo ConcaveDemo CollisionDemo
|
||||
ContinuousConvexCollision ConcaveRaycastDemo GjkConvexCastDemo
|
||||
MultiMaterialDemo SerializeDemo InternalEdgeDemo
|
||||
MultiThreadedDemo
|
||||
ParticlesOpenCL
|
||||
OpenCLClothDemo
|
||||
OpenGL AllBulletDemos ConvexDecompositionDemo
|
||||
CcdPhysicsDemo BulletXmlImportDemo ConstraintDemo SliderConstraintDemo GenericJointDemo Raytracer
|
||||
RagdollDemo ForkLiftDemo BasicDemo RollingFrictionDemo RaytestDemo VoronoiFractureDemo
|
||||
GyroscopicDemo FractureDemo Box2dDemo BspDemo MovingConcaveDemo VehicleDemo
|
||||
UserCollisionAlgorithm CharacterDemo SoftDemo
|
||||
CollisionInterfaceDemo ConcaveConvexcastDemo SimplexDemo DynamicControlDemo
|
||||
ConvexHullDistance
|
||||
DoublePrecisionDemo ConcaveDemo CollisionDemo
|
||||
ContinuousConvexCollision ConcaveRaycastDemo GjkConvexCastDemo
|
||||
MultiMaterialDemo SerializeDemo InternalEdgeDemo
|
||||
)
|
||||
ELSE()
|
||||
SET(SharedDemoSubdirs
|
||||
OpenGL
|
||||
)
|
||||
ENDIF()
|
||||
SET(SharedDemoSubdirs OpenGL )
|
||||
ENDIF(BUILD_CPU_DEMOS)
|
||||
|
||||
IF(BUILD_MULTITHREADING)
|
||||
SUBDIRS( MultiThreadedDemo ParticlesOpenCL OpenCLClothDemo )
|
||||
ENDIF(BUILD_MULTITHREADING)
|
||||
|
||||
SUBDIRS(
|
||||
${SharedDemoSubdirs}
|
||||
Benchmarks
|
||||
ThreadingDemo
|
||||
VectorAdd_OpenCL
|
||||
)
|
||||
|
||||
IF(BUILD_MULTITHREADING)
|
||||
SUBDIRS( ThreadingDemo VectorAdd_OpenCL )
|
||||
ENDIF()
|
||||
|
||||
ENDIF(GLUT_FOUND)
|
||||
ELSE (USE_GLUT)
|
||||
IF (WIN32)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
SUBDIRS( MiniCL )
|
||||
SUBDIRS( MiniCL )
|
||||
|
||||
IF(BUILD_INTEL_OPENCL_DEMOS)
|
||||
SUBDIRS(Intel)
|
||||
|
||||
@@ -11,7 +11,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
||||
# You shouldn't have to modify anything below this line
|
||||
########################################################
|
||||
|
||||
IF(BUILD_AMD_OPENCL_DEMOS)
|
||||
IF(BUILD_AMD_OPENCL_DEMOS AND BUILD_MULTITHREADING)
|
||||
SUBDIRS(AMD)
|
||||
ENDIF()
|
||||
|
||||
|
||||
@@ -143,25 +143,25 @@ bool btBulletWorldImporter::convertAllObjects( bParse::btBulletFile* bulletFile
|
||||
btVector3 gravity;
|
||||
gravity.deSerializeDouble(solverInfoData->m_gravity);
|
||||
|
||||
solverInfo.m_tau = solverInfoData->m_solverInfo.m_tau;
|
||||
solverInfo.m_damping = solverInfoData->m_solverInfo.m_damping;
|
||||
solverInfo.m_friction = solverInfoData->m_solverInfo.m_friction;
|
||||
solverInfo.m_timeStep = solverInfoData->m_solverInfo.m_timeStep;
|
||||
solverInfo.m_tau = btScalar(solverInfoData->m_solverInfo.m_tau);
|
||||
solverInfo.m_damping = btScalar(solverInfoData->m_solverInfo.m_damping);
|
||||
solverInfo.m_friction = btScalar(solverInfoData->m_solverInfo.m_friction);
|
||||
solverInfo.m_timeStep = btScalar(solverInfoData->m_solverInfo.m_timeStep);
|
||||
|
||||
solverInfo.m_restitution = solverInfoData->m_solverInfo.m_restitution;
|
||||
solverInfo.m_maxErrorReduction = solverInfoData->m_solverInfo.m_maxErrorReduction;
|
||||
solverInfo.m_sor = solverInfoData->m_solverInfo.m_sor;
|
||||
solverInfo.m_erp = solverInfoData->m_solverInfo.m_erp;
|
||||
solverInfo.m_restitution = btScalar(solverInfoData->m_solverInfo.m_restitution);
|
||||
solverInfo.m_maxErrorReduction = btScalar(solverInfoData->m_solverInfo.m_maxErrorReduction);
|
||||
solverInfo.m_sor = btScalar(solverInfoData->m_solverInfo.m_sor);
|
||||
solverInfo.m_erp = btScalar(solverInfoData->m_solverInfo.m_erp);
|
||||
|
||||
solverInfo.m_erp2 = solverInfoData->m_solverInfo.m_erp2;
|
||||
solverInfo.m_globalCfm = solverInfoData->m_solverInfo.m_globalCfm;
|
||||
solverInfo.m_splitImpulsePenetrationThreshold = solverInfoData->m_solverInfo.m_splitImpulsePenetrationThreshold;
|
||||
solverInfo.m_splitImpulseTurnErp = solverInfoData->m_solverInfo.m_splitImpulseTurnErp;
|
||||
solverInfo.m_erp2 = btScalar(solverInfoData->m_solverInfo.m_erp2);
|
||||
solverInfo.m_globalCfm = btScalar(solverInfoData->m_solverInfo.m_globalCfm);
|
||||
solverInfo.m_splitImpulsePenetrationThreshold = btScalar(solverInfoData->m_solverInfo.m_splitImpulsePenetrationThreshold);
|
||||
solverInfo.m_splitImpulseTurnErp = btScalar(solverInfoData->m_solverInfo.m_splitImpulseTurnErp);
|
||||
|
||||
solverInfo.m_linearSlop = solverInfoData->m_solverInfo.m_linearSlop;
|
||||
solverInfo.m_warmstartingFactor = solverInfoData->m_solverInfo.m_warmstartingFactor;
|
||||
solverInfo.m_maxGyroscopicForce = solverInfoData->m_solverInfo.m_maxGyroscopicForce;
|
||||
solverInfo.m_singleAxisRollingFrictionThreshold = solverInfoData->m_solverInfo.m_singleAxisRollingFrictionThreshold;
|
||||
solverInfo.m_linearSlop = btScalar(solverInfoData->m_solverInfo.m_linearSlop);
|
||||
solverInfo.m_warmstartingFactor = btScalar(solverInfoData->m_solverInfo.m_warmstartingFactor);
|
||||
solverInfo.m_maxGyroscopicForce = btScalar(solverInfoData->m_solverInfo.m_maxGyroscopicForce);
|
||||
solverInfo.m_singleAxisRollingFrictionThreshold = btScalar(solverInfoData->m_solverInfo.m_singleAxisRollingFrictionThreshold);
|
||||
|
||||
solverInfo.m_numIterations = solverInfoData->m_solverInfo.m_numIterations;
|
||||
solverInfo.m_solverMode = solverInfoData->m_solverInfo.m_solverMode;
|
||||
@@ -316,7 +316,7 @@ bool btBulletWorldImporter::convertAllObjects( bParse::btBulletFile* bulletFile
|
||||
if (!rbA && !rbB)
|
||||
continue;
|
||||
|
||||
bool isDoublePrecisionData = bulletFile2->getFlags() & bParse::FD_DOUBLE_PRECISION;
|
||||
bool isDoublePrecisionData = (bulletFile2->getFlags() & bParse::FD_DOUBLE_PRECISION)!=0;
|
||||
convertConstraint(constraintData, rbA,rbB,isDoublePrecisionData, bulletFile2->getVersion());
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
SUBDIRS( MiniCL BulletMultiThreaded BulletSoftBody BulletCollision BulletDynamics LinearMath )
|
||||
SUBDIRS( BulletSoftBody BulletCollision BulletDynamics LinearMath )
|
||||
|
||||
IF(BUILD_MULTITHREADING)
|
||||
SUBDIRS(MiniCL BulletMultiThreaded)
|
||||
ENDIF()
|
||||
|
||||
IF(INSTALL_LIBS)
|
||||
#INSTALL of other files requires CMake 2.6
|
||||
|
||||
Reference in New Issue
Block a user