summarylogtreecommitdiffstats
path: root/mujoco.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mujoco.patch')
-rw-r--r--mujoco.patch63
1 files changed, 57 insertions, 6 deletions
diff --git a/mujoco.patch b/mujoco.patch
index 739f11da6fd6..e51e459a692f 100644
--- a/mujoco.patch
+++ b/mujoco.patch
@@ -1,8 +1,42 @@
diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
-index 56a1e64..7b95bfe 100644
+index b13a3ec..967d438 100644
--- a/cmake/MujocoDependencies.cmake
+++ b/cmake/MujocoDependencies.cmake
-@@ -141,7 +141,7 @@ target_link_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
+@@ -106,9 +106,9 @@ find_package(Git REQUIRED)
+
+ findorfetch(
+ USE_SYSTEM_PACKAGE
+- OFF
++ ON
+ PACKAGE_NAME
+- qhull
++ Qhull
+ LIBRARY_NAME
+ qhull
+ GIT_REPO
+@@ -130,18 +130,22 @@ findorfetch(
+ "true"
+ EXCLUDE_FROM_ALL
+ )
+-# MuJoCo includes a file from libqhull_r which is not exported by the qhull include directories.
+-# Add it to the target.
+-target_include_directories(
+- qhullstatic_r INTERFACE $<BUILD_INTERFACE:${qhull_SOURCE_DIR}/src/libqhull_r>
+-)
+-target_compile_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++if(NOT TARGET qhullstatic_r)
++ add_library(qhullstatic_r INTERFACE)
++ target_link_libraries(qhullstatic_r INTERFACE Qhull::qhull_r)
++ # Workaround as headers are installed in <prefix>/include/libqhull_r/something.h
++ # but mujoco include them as #include <something.h>
++ get_property(qhull_include_dirs TARGET Qhull::qhull_r PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
++ foreach(qhull_include_dir IN LISTS qhull_include_dirs)
++ target_include_directories(qhullstatic_r INTERFACE ${qhull_include_dirs}/libqhull_r)
++ endforeach()
++ target_include_directories(qhullstatic_r INTERFACE )
++endif()
+
set(tinyxml2_BUILD_TESTING OFF)
findorfetch(
USE_SYSTEM_PACKAGE
@@ -11,14 +45,12 @@ index 56a1e64..7b95bfe 100644
PACKAGE_NAME
tinyxml2
LIBRARY_NAME
-@@ -154,12 +154,12 @@ findorfetch(
+@@ -154,12 +158,10 @@ findorfetch(
tinyxml2
EXCLUDE_FROM_ALL
)
-target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
-target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
-+#target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
-+#target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
findorfetch(
USE_SYSTEM_PACKAGE
@@ -27,7 +59,7 @@ index 56a1e64..7b95bfe 100644
PACKAGE_NAME
tinyobjloader
LIBRARY_NAME
-@@ -177,7 +177,7 @@ set(ENABLE_DOUBLE_PRECISION ON)
+@@ -177,7 +179,7 @@ set(ENABLE_DOUBLE_PRECISION ON)
set(CCD_HIDE_ALL_SYMBOLS ON)
findorfetch(
USE_SYSTEM_PACKAGE
@@ -36,6 +68,15 @@ index 56a1e64..7b95bfe 100644
PACKAGE_NAME
ccd
LIBRARY_NAME
+@@ -190,8 +192,6 @@ findorfetch(
+ ccd
+ EXCLUDE_FROM_ALL
+ )
+-target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
+
+ # libCCD has an unconditional `#define _CRT_SECURE_NO_WARNINGS` on Windows.
+ # TODO(stunya): Remove this after https://github.com/danfis/libccd/pull/77 is merged.
@@ -217,7 +217,7 @@ if(MUJOCO_BUILD_TESTS)
set(ABSL_BUILD_TESTING OFF)
findorfetch(
@@ -63,6 +104,16 @@ index 56a1e64..7b95bfe 100644
PACKAGE_NAME
benchmark
LIBRARY_NAME
+@@ -297,6 +297,9 @@ endif()
+
+ if(MUJOCO_TEST_PYTHON_UTIL)
+ add_compile_definitions(EIGEN_MPL2_ONLY)
++ find_package(Eigen3 REQUIRED)
++ # Doing that so the next if is not triggered
++ add_library(eigen ALIAS Eigen3::Eigen)
+ if(NOT TARGET eigen)
+ # Support new IN_LIST if() operator.
+ set(CMAKE_POLICY_DEFAULT_CMP0057 NEW)
diff --git a/sample/cmake/SampleDependencies.cmake b/sample/cmake/SampleDependencies.cmake
index 14cc943..588e788 100644
--- a/sample/cmake/SampleDependencies.cmake