From 94076513166704edafd0567b438fa52c05569e25 Mon Sep 17 00:00:00 2001 From: Daniel Chappuis Date: Wed, 19 Feb 2020 12:48:14 +0100 Subject: [PATCH 1/2] Fix issue when trying to install the library with cmake (wrong headers hierarchy) --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aea3c5a8..4e338960 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,10 +260,12 @@ SET_TARGET_PROPERTIES(reactphysics3d PROPERTIES SOVERSION "0.7" ) -# Install target +# Install target (install library only, not headers) INSTALL(TARGETS reactphysics3d ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/reactphysics3d ) + +# Install the headers separately (because INSTALL(TARGETS ... PUBLIC_HEADER DESTINATION ...) does not support subfolders +INSTALL(DIRECTORY src/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/reactphysics3d FILES_MATCHING PATTERN "*.h") From c1f40ac45618fbeceddbbe0ab909457e076bd7f1 Mon Sep 17 00:00:00 2001 From: Daniel Chappuis Date: Fri, 8 May 2020 15:10:49 +0200 Subject: [PATCH 2/2] Fix issue with limits of HingeJoint and SliderJoint --- src/constraint/HingeJoint.cpp | 4 ++-- src/constraint/SliderJoint.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/constraint/HingeJoint.cpp b/src/constraint/HingeJoint.cpp index f7c2f273..8967e673 100644 --- a/src/constraint/HingeJoint.cpp +++ b/src/constraint/HingeJoint.cpp @@ -92,12 +92,12 @@ void HingeJoint::initBeforeSolve(const ConstraintSolverData& constraintSolverDat decimal upperLimitError = mUpperLimit - hingeAngle; bool oldIsLowerLimitViolated = mIsLowerLimitViolated; mIsLowerLimitViolated = lowerLimitError <= 0; - if (mIsLowerLimitViolated != oldIsLowerLimitViolated) { + if (!mIsLowerLimitViolated || mIsLowerLimitViolated != oldIsLowerLimitViolated) { mImpulseLowerLimit = 0.0; } bool oldIsUpperLimitViolated = mIsUpperLimitViolated; mIsUpperLimitViolated = upperLimitError <= 0; - if (mIsUpperLimitViolated != oldIsUpperLimitViolated) { + if (!mIsUpperLimitViolated || mIsUpperLimitViolated != oldIsUpperLimitViolated) { mImpulseUpperLimit = 0.0; } diff --git a/src/constraint/SliderJoint.cpp b/src/constraint/SliderJoint.cpp index 7704d1cd..22bc9721 100644 --- a/src/constraint/SliderJoint.cpp +++ b/src/constraint/SliderJoint.cpp @@ -107,12 +107,12 @@ void SliderJoint::initBeforeSolve(const ConstraintSolverData& constraintSolverDa decimal upperLimitError = mUpperLimit - uDotSliderAxis; bool oldIsLowerLimitViolated = mIsLowerLimitViolated; mIsLowerLimitViolated = lowerLimitError <= 0; - if (mIsLowerLimitViolated != oldIsLowerLimitViolated) { + if (!mIsLowerLimitViolated || mIsLowerLimitViolated != oldIsLowerLimitViolated) { mImpulseLowerLimit = 0.0; } bool oldIsUpperLimitViolated = mIsUpperLimitViolated; mIsUpperLimitViolated = upperLimitError <= 0; - if (mIsUpperLimitViolated != oldIsUpperLimitViolated) { + if (!mIsUpperLimitViolated || mIsUpperLimitViolated != oldIsUpperLimitViolated) { mImpulseUpperLimit = 0.0; }