diff options
Diffstat (limited to 'vcpkg/ports/mujoco')
| -rw-r--r-- | vcpkg/ports/mujoco/disable-werror.patch | 24 | ||||
| -rw-r--r-- | vcpkg/ports/mujoco/fix_dependencies.patch | 207 | ||||
| -rw-r--r-- | vcpkg/ports/mujoco/portfile.cmake | 33 | ||||
| -rw-r--r-- | vcpkg/ports/mujoco/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/mujoco/vcpkg.json | 31 |
5 files changed, 299 insertions, 0 deletions
diff --git a/vcpkg/ports/mujoco/disable-werror.patch b/vcpkg/ports/mujoco/disable-werror.patch new file mode 100644 index 0000000..78e02b4 --- /dev/null +++ b/vcpkg/ports/mujoco/disable-werror.patch @@ -0,0 +1,24 @@ +diff --git a/cmake/MujocoOptions.cmake b/cmake/MujocoOptions.cmake +index de146d8..7657fa5 100644 +--- a/cmake/MujocoOptions.cmake ++++ b/cmake/MujocoOptions.cmake +@@ -86,7 +86,6 @@ get_mujoco_extra_link_options(EXTRA_LINK_OPTIONS) + + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC)) + set(EXTRA_COMPILE_OPTIONS +- -Werror + -Wall + -Wpedantic + -Wimplicit-fallthrough +diff --git a/simulate/cmake/SimulateOptions.cmake b/simulate/cmake/SimulateOptions.cmake +index de146d8..7657fa5 100644 +--- a/simulate/cmake/SimulateOptions.cmake ++++ b/simulate/cmake/SimulateOptions.cmake +@@ -86,7 +86,6 @@ get_mujoco_extra_link_options(EXTRA_LINK_OPTIONS) + + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC)) + set(EXTRA_COMPILE_OPTIONS +- -Werror + -Wall + -Wpedantic + -Wimplicit-fallthrough diff --git a/vcpkg/ports/mujoco/fix_dependencies.patch b/vcpkg/ports/mujoco/fix_dependencies.patch new file mode 100644 index 0000000..317b045 --- /dev/null +++ b/vcpkg/ports/mujoco/fix_dependencies.patch @@ -0,0 +1,207 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aaac4e38..58bafedb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -95,7 +95,7 @@ add_subdirectory(src/render) + add_subdirectory(src/thread) + add_subdirectory(src/ui) + +-target_compile_definitions(mujoco PRIVATE _GNU_SOURCE CCD_STATIC_DEFINE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE) ++target_compile_definitions(mujoco PRIVATE _GNU_SOURCE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE) + if(MUJOCO_ENABLE_AVX_INTRINSICS) + target_compile_definitions(mujoco PUBLIC mjUSEPLATFORMSIMD) + endif() +@@ -118,9 +118,9 @@ target_link_libraries( + mujoco + PRIVATE ccd + lodepng +- qhullstatic_r +- tinyobjloader +- tinyxml2 ++ Qhull::qhull_r ++ tinyobjloader::tinyobjloader ++ tinyxml2::tinyxml2 + ) + + set_target_properties( +diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake +index 23e4e71e..e4cfad28 100644 +--- a/cmake/MujocoDependencies.cmake ++++ b/cmake/MujocoDependencies.cmake +@@ -90,7 +90,7 @@ set(BUILD_SHARED_LIBS + CACHE INTERNAL "Build SHARED libraries" + ) + +-if(NOT TARGET lodepng) ++if(0) + FetchContent_Declare( + lodepng + GIT_REPOSITORY https://github.com/lvandeve/lodepng.git +@@ -110,6 +110,7 @@ if(NOT TARGET lodepng) + endif() + endif() + ++if(0) + if(NOT TARGET marchingcubecpp) + FetchContent_Declare( + marchingcubecpp +@@ -123,36 +124,60 @@ if(NOT TARGET marchingcubecpp) + include_directories(${marchingcubecpp_SOURCE_DIR}) + endif() + endif() ++endif() ++ ++findorfetch( ++ USE_SYSTEM_PACKAGE ++ ON ++ PACKAGE_NAME ++ lodepng ++ LIBRARY_NAME ++ lodepng ++ GIT_REPO ++ https://github.com/lvandeve/lodepng.git ++ GIT_TAG ++ ${MUJOCO_DEP_VERSION_lodepng} ++ TARGETS ++ lodepng ++ EXCLUDE_FROM_ALL ++) + + set(QHULL_ENABLE_TESTING OFF) + + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME +- qhull ++ Qhull + LIBRARY_NAME +- qhull ++ Qhull + GIT_REPO + https://github.com/qhull/qhull.git + GIT_TAG + ${MUJOCO_DEP_VERSION_qhull} + TARGETS +- qhull ++ Qhull + EXCLUDE_FROM_ALL + ) + # MuJoCo includes a file from libqhull_r which is not exported by the qhull include directories. + # Add it to the target. ++if(0) + 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}) ++endif() ++ ++include_directories( ++ ${Qhull_DIR}/../../include/libqhull_r ++ ${Qhull_DIR}/../../include/marchingcubecpp ++) + + set(tinyxml2_BUILD_TESTING OFF) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + tinyxml2 + LIBRARY_NAME +@@ -165,12 +190,14 @@ findorfetch( + tinyxml2 + EXCLUDE_FROM_ALL + ) ++if(0) + target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + tinyobjloader + LIBRARY_NAME +@@ -189,9 +216,9 @@ option(SDFLIB_USE_OPENMP OFF) + option(SDFLIB_USE_ENOKI OFF) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME +- sdflib ++ SdfLib + LIBRARY_NAME + sdflib + GIT_REPO +@@ -202,14 +229,19 @@ findorfetch( + SdfLib + EXCLUDE_FROM_ALL + ) ++ ++add_library(SdfLib ALIAS SdfLib::SdfLib) ++ ++if(0) + target_compile_options(SdfLib PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(SdfLib PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + set(ENABLE_DOUBLE_PRECISION ON) + set(CCD_HIDE_ALL_SYMBOLS ON) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + ccd + LIBRARY_NAME +@@ -222,11 +254,14 @@ findorfetch( + ccd + EXCLUDE_FROM_ALL + ) ++if(0) + target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + # 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. ++if(0) + if(WIN32) + if(MSVC) + # C4005 is the MSVC equivalent of -Wmacro-redefined. +@@ -235,6 +270,7 @@ if(WIN32) + target_compile_options(ccd PRIVATE -Wno-macro-redefined) + endif() + endif() ++endif() + + if(MUJOCO_BUILD_TESTS) + set(ABSL_PROPAGATE_CXX_STD ON) +diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake +index 5141406c..41f399b7 100644 +--- a/simulate/cmake/SimulateDependencies.cmake ++++ b/simulate/cmake/SimulateDependencies.cmake +@@ -86,7 +86,7 @@ findorfetch( + GIT_TAG + ${MUJOCO_DEP_VERSION_glfw3} + TARGETS +- glfw ++ glfw3 + EXCLUDE_FROM_ALL + ) + +@@ -98,7 +98,7 @@ if(MUJOCO_EXTRAS_STATIC_GLFW) + unset(BUILD_SHARED_LIBS_OLD) + endif() + +-if(NOT SIMULATE_STANDALONE) ++if(0) + target_compile_options(glfw PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(glfw PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) + endif() diff --git a/vcpkg/ports/mujoco/portfile.cmake b/vcpkg/ports/mujoco/portfile.cmake new file mode 100644 index 0000000..47ddbf9 --- /dev/null +++ b/vcpkg/ports/mujoco/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO deepmind/mujoco + REF ${VERSION} + SHA512 b9862c266c867771a6fbbffbb595684ebaf2c6ae1502718ee2a656e774900094f5e341b212fe8f92646a98da3e431ae4209d8130aee6c41ddc0e33259b8f63ca + PATCHES + fix_dependencies.patch + disable-werror.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMUJOCO_BUILD_EXAMPLES=OFF + -DMUJOCO_BUILD_TESTS=OFF + -DMUJOCO_TEST_PYTHON_UTIL=OFF + -DSIMULATE_BUILD_EXECUTABLE=OFF + -DMUJOCO_SIMULATE_USE_SYSTEM_GLFW=ON + -DMUJOCO_SIMULATE_USE_SYSTEM_MUJOCO=ON +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/mujoco/usage b/vcpkg/ports/mujoco/usage new file mode 100644 index 0000000..9aafaa6 --- /dev/null +++ b/vcpkg/ports/mujoco/usage @@ -0,0 +1,4 @@ +mujoco provides CMake targets: + + find_package(mujoco CONFIG REQUIRED) + target_link_libraries(main PRIVATE mujoco::mujoco) diff --git a/vcpkg/ports/mujoco/vcpkg.json b/vcpkg/ports/mujoco/vcpkg.json new file mode 100644 index 0000000..bdcc8ea --- /dev/null +++ b/vcpkg/ports/mujoco/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "mujoco", + "version": "3.3.0", + "description": "Multi-Joint dynamics with Contact.", + "homepage": "https://mujoco.org", + "license": "Apache-2.0", + "supports": "!(windows & static)", + "dependencies": [ + { + "name": "ccd", + "features": [ + "double-precision" + ] + }, + "glfw3", + "lodepng", + "marchingcubecpp", + "qhull", + "sdflib", + "tinyobjloader", + "tinyxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |