diff options
Diffstat (limited to 'mujoco.patch')
-rw-r--r-- | mujoco.patch | 63 |
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 |