diff --git a/CMakeLists.txt b/CMakeLists.txt index 38e3f59a5..594c908c6 100644 --- a/CMakeLists.txt +++ b/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) diff --git a/Demos/AllBulletDemos/CMakeLists.txt b/Demos/AllBulletDemos/CMakeLists.txt index 0223818cc..7e566db92 100644 --- a/Demos/AllBulletDemos/CMakeLists.txt +++ b/Demos/AllBulletDemos/CMakeLists.txt @@ -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 diff --git a/Demos/CMakeLists.txt b/Demos/CMakeLists.txt index 6dc89da02..7bc210c72 100644 --- a/Demos/CMakeLists.txt +++ b/Demos/CMakeLists.txt @@ -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) diff --git a/Demos/OpenCLClothDemo/CMakeLists.txt b/Demos/OpenCLClothDemo/CMakeLists.txt index 03cf16adc..eaaaeaaf5 100644 --- a/Demos/OpenCLClothDemo/CMakeLists.txt +++ b/Demos/OpenCLClothDemo/CMakeLists.txt @@ -1,4 +1,4 @@ - SUBDIRS( MiniCL ) +SUBDIRS( MiniCL ) IF(BUILD_INTEL_OPENCL_DEMOS) SUBDIRS(Intel) diff --git a/Demos/SerializeDemo/CMakeLists.txt b/Demos/SerializeDemo/CMakeLists.txt index 045acb409..ea5a31a3d 100644 --- a/Demos/SerializeDemo/CMakeLists.txt +++ b/Demos/SerializeDemo/CMakeLists.txt @@ -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() diff --git a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp index 4b76ffa32..bde40c960 100644 --- a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp +++ b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp @@ -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()); } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b522b681c..3a736b42d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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