summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManifoldFR <manifoldfr@outlook.com>2020-07-08 00:51:26 +0200
committerManifoldFR <manifoldfr@outlook.com>2020-07-08 00:51:26 +0200
commit5901caa20723e9465f3901c9fd0ae34acc60215a (patch)
tree091ded14306fbc014973ce1111fb91dc9ee38843
parenta3810d15ef1a279cf7fcb413f1604dddd2e18805 (diff)
parent73fffd1449fb468f6b9bb1a666900b6c91982a24 (diff)
downloadbullet3-5901caa20723e9465f3901c9fd0ae34acc60215a.tar.gz
Merge branch 'master' into deepmimic-gym-fixes
-rw-r--r--CMakeLists.txt16
-rw-r--r--build3/premake4.lua16
-rw-r--r--build_visual_studio_vr_pybullet_double_dynamic.bat28
-rw-r--r--examples/SharedMemory/SharedMemoryCommands.h2
-rw-r--r--examples/SharedMemory/SharedMemoryPublic.h5
5 files changed, 63 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00e7b1a10..e432f929b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,6 +63,7 @@ IF (CMAKE_SYSTEM_NAME STREQUAL WindowsPhone OR CMAKE_SYSTEM_NAME STREQUAL Window
ELSE ()
OPTION(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC Runtime Library DLL (/MD or /MDd)" OFF)
ENDIF (CMAKE_SYSTEM_NAME STREQUAL WindowsPhone OR CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+OPTION(USE_MSVC_RELEASE_RUNTIME_ALWAYS "Use MSVC Release Runtime Library even in Debug" OFF)
#SET(CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:NO")
#SET(CMAKE_EXE_LINKER_FLAGS "/STACK:10000000 /INCREMENTAL:NO")
@@ -105,6 +106,21 @@ IF(MSVC)
ENDFOREACH(flag_var)
ENDIF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
+ IF (USE_MSVC_RELEASE_RUNTIME_ALWAYS)
+ FOREACH(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO )
+ IF(${flag_var} MATCHES "/MDd")
+ STRING(REGEX REPLACE "/MDd" "/MD" ${flag_var} "${${flag_var}}")
+ ENDIF(${flag_var} MATCHES "/MDd")
+ IF(${flag_var} MATCHES "/MTd")
+ STRING(REGEX REPLACE "/MTd" "/MT" ${flag_var} "${${flag_var}}")
+ ENDIF(${flag_var} MATCHES "/MTd")
+ # Need to remove _DEBUG too otherwise things like _ITERATOR_DEBUG_LEVEL mismatch
+ IF(${flag_var} MATCHES "-D_DEBUG")
+ STRING(REGEX REPLACE "-D_DEBUG" "" ${flag_var} "${${flag_var}}")
+ ENDIF(${flag_var} MATCHES "-D_DEBUG")
+ ENDFOREACH(flag_var)
+ ENDIF (USE_MSVC_RELEASE_RUNTIME_ALWAYS)
+
IF (CMAKE_CL_64)
ADD_DEFINITIONS(-D_WIN64)
ELSE()
diff --git a/build3/premake4.lua b/build3/premake4.lua
index 8fce38423..8a6de1938 100644
--- a/build3/premake4.lua
+++ b/build3/premake4.lua
@@ -370,12 +370,24 @@ end
defines {"BT_CLAMP_VELOCITY_TO=9999"}
end
+ newoption
+ {
+ trigger = "dynamic-runtime",
+ description = "Enable dynamic DLL CRT runtime"
+ }
configurations {"Release", "Debug"}
configuration "Release"
- flags { "Optimize", "EnableSSE2","StaticRuntime", "NoMinimalRebuild", "FloatFast"}
+ flags { "Optimize", "EnableSSE2", "NoMinimalRebuild", "FloatFast"}
+ if not _OPTIONS["dynamic-runtime"] then
+ flags { "StaticRuntime" }
+ end
configuration "Debug"
defines {"_DEBUG=1"}
- flags { "Symbols", "StaticRuntime" , "NoMinimalRebuild", "NoEditAndContinue" ,"FloatFast"}
+ flags { "Symbols" , "NoMinimalRebuild", "NoEditAndContinue" ,"FloatFast"}
+ if not _OPTIONS["dynamic-runtime"] then
+ flags { "StaticRuntime" }
+ end
+
if os.is("Linux") or os.is("macosx") then
if os.is64bit() then
diff --git a/build_visual_studio_vr_pybullet_double_dynamic.bat b/build_visual_studio_vr_pybullet_double_dynamic.bat
new file mode 100644
index 000000000..034a46034
--- /dev/null
+++ b/build_visual_studio_vr_pybullet_double_dynamic.bat
@@ -0,0 +1,28 @@
+IF NOT EXIST bin mkdir bin
+IF NOT EXIST bin\openvr_api.dll copy examples\ThirdPartyLibs\openvr\bin\win32\openvr_api.dll bin
+IF NOT EXIST bin\openvr64pi.dll copy examples\ThirdPartyLibs\openvr\bin\win64\openvr_api.dll bin\openvr64pi.dll
+
+#aargh, see https://github.com/ValveSoftware/openvr/issues/412
+
+
+#find a python version (hopefully just 1) and use this
+dir c:\python* /b /ad > tmp1234.txt
+
+set /p myvar1= < tmp1234.txt
+set myvar=c:/%myvar1%
+del tmp1234.txt
+
+rem you can also override and hardcode the Python path like this (just remove the # hashmark in next line)
+rem SET myvar=c:\python-3.5.2
+
+cd build3
+
+
+premake4 --dynamic-runtime --double --standalone-examples --enable_stable_pd --enable_multithreading --midi --enable_static_vr_plugin --enable_openvr --enable_pybullet --python_include_dir="%myvar%/include" --python_lib_dir="%myvar%/libs" --targetdir="../bin" vs2010
+
+rem premake4 --double --enable_multithreading --midi --enable_static_vr_plugin --enable_openvr --enable_pybullet --python_include_dir="%myvar%/include" --python_lib_dir="%myvar%/libs" --targetdir="../binserver" vs2010
+rem premake4 --double --enable_grpc --enable_multithreading --midi --enable_static_vr_plugin --enable_openvr --enable_pybullet --python_include_dir="%myvar%/include" --python_lib_dir="%myvar%/libs" --targetdir="../binserver" vs2010
+rem premake4 --serial --audio --double --midi --enable_openvr --enable_pybullet --python_include_dir="%myvar%/include" --python_lib_dir="%myvar%/libs" --targetdir="../bin" vs2010
+
+start vs2010
+
diff --git a/examples/SharedMemory/SharedMemoryCommands.h b/examples/SharedMemory/SharedMemoryCommands.h
index 4df72e31a..6150874c9 100644
--- a/examples/SharedMemory/SharedMemoryCommands.h
+++ b/examples/SharedMemory/SharedMemoryCommands.h
@@ -783,7 +783,7 @@ struct CalculateInverseKinematicsArgs
// double m_jointPositionsQ[MAX_DEGREE_OF_FREEDOM];
double m_targetPositions[MAX_DEGREE_OF_FREEDOM*3];
int m_numEndEffectorLinkIndices;
- double m_targetOrientation[4]; //orientation represented as quaternion, x,y,z,w
+ double m_targetOrientation[MAX_DEGREE_OF_FREEDOM*4]; //orientation represented as quaternion, x,y,z,w
int m_endEffectorLinkIndices[MAX_DEGREE_OF_FREEDOM];
double m_lowerLimit[MAX_DEGREE_OF_FREEDOM];
double m_upperLimit[MAX_DEGREE_OF_FREEDOM];
diff --git a/examples/SharedMemory/SharedMemoryPublic.h b/examples/SharedMemory/SharedMemoryPublic.h
index cb94ec75b..b1689c0b3 100644
--- a/examples/SharedMemory/SharedMemoryPublic.h
+++ b/examples/SharedMemory/SharedMemoryPublic.h
@@ -7,7 +7,10 @@
//Please don't replace an existing magic number:
//instead, only ADD a new one at the top, comment-out previous one
-#define SHARED_MEMORY_MAGIC_NUMBER 202005070
+
+
+#define SHARED_MEMORY_MAGIC_NUMBER 202007060
+//#define SHARED_MEMORY_MAGIC_NUMBER 202005070
//#define SHARED_MEMORY_MAGIC_NUMBER 202002030
//#define SHARED_MEMORY_MAGIC_NUMBER 202001230
//#define SHARED_MEMORY_MAGIC_NUMBER 201911280