From 37fe45d41e7c951013792aadeaf2cc19a8a44474 Mon Sep 17 00:00:00 2001 From: Saran Tunyasuvunakool Date: Sun, 19 Jun 2022 14:12:42 -0700 Subject: [PATCH] Change macOS bundle structure. This allows us to sign and notarize the bundle with mujoco.tbd in place, which is required for AppleClang to be able to build against the embedded framework. PiperOrigin-RevId: 455952502 Change-Id: I366f1c17e7a6c06d956467ced6f16f3c37aebf6a --- CMakeLists.txt | 5 +++-- dist/Info.plist.framework.in | 2 +- sample/CMakeLists.txt | 8 ++------ 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9426dae4..c61a1b6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,8 +136,9 @@ if(APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS) COMMAND mkdir -p $/Resources COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR}/dist/Info.framework.plist $/Resources/Info.plist + COMMAND ${TAPI} stubify $ -o $/mujoco.tbd COMMAND ln -fhs A $/../Current - COMMAND ${TAPI} stubify $ -o $/../../mujoco.tbd + COMMAND ln -fhs Versions/Current/mujoco.tbd $/../../mujoco.tbd COMMAND ln -fhs Versions/Current/Headers $/../../Headers COMMAND ln -fhs Versions/Current/Modules $/../../Modules COMMAND ln -fhs Versions/Current/Resources $/../../Resources @@ -211,4 +212,4 @@ if(NOT (APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS)) DESTINATION "${CMAKE_INSTALL_DATADIR}/mujoco" PATTERN "CMakeLists.txt" EXCLUDE ) -endif() \ No newline at end of file +endif() diff --git a/dist/Info.plist.framework.in b/dist/Info.plist.framework.in index e084b7df..67937dea 100644 --- a/dist/Info.plist.framework.in +++ b/dist/Info.plist.framework.in @@ -5,7 +5,7 @@ CFBundleName MuJoCo CFBundleIdentifier - org.mujoco.mujoco + org.mujoco.framework CFBundleVersion ${PROJECT_VERSION} CFBundleGetInfoString diff --git a/sample/CMakeLists.txt b/sample/CMakeLists.txt index d30cbee7..a29d2d43 100644 --- a/sample/CMakeLists.txt +++ b/sample/CMakeLists.txt @@ -170,7 +170,7 @@ if(APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS) MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/../dist/Info.plist.simulate.in MACOSX_BUNDLE_BUNDLE_NAME "MuJoCo" - MACOSX_BUNDLE_GUI_IDENTIFIER "org.mujoco.mujoco" + MACOSX_BUNDLE_GUI_IDENTIFIER "org.mujoco.app" MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_INFO_STRING ${PROJECT_VERSION} MACOSX_BUNDLE_LONG_VERSION_STRING ${PROJECT_VERSION} @@ -196,7 +196,7 @@ if(APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS) embed_in_bundle(testspeed simulate) embed_in_bundle(testxml simulate) - # Embed mujoco.framework inside the App bundle ane move the icon file over too. + # Embed mujoco.framework inside the App bundle. add_custom_command( TARGET simulate POST_BUILD @@ -204,10 +204,6 @@ if(APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS) COMMAND rm -rf $/../Frameworks/mujoco.framework COMMAND cp -a $/../../../mujoco.framework $/../Frameworks/ - # Delete the symlink and the TBD, otherwise we can't sign and notarize. - COMMAND rm -rf $/../Frameworks/mujoco.framework/mujoco.tbd - COMMAND rm -rf - $/../Frameworks/mujoco.framework/Versions/A/libmujoco.dylib ) endif()