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
This commit is contained in:
Saran Tunyasuvunakool
2022-06-19 14:12:42 -07:00
committed by Copybara-Service
parent 0e5ce18cff
commit 37fe45d41e
3 changed files with 6 additions and 9 deletions
+3 -2
View File
@@ -136,8 +136,9 @@ if(APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS)
COMMAND mkdir -p $<TARGET_FILE_DIR:mujoco>/Resources
COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR}/dist/Info.framework.plist
$<TARGET_FILE_DIR:mujoco>/Resources/Info.plist
COMMAND ${TAPI} stubify $<TARGET_FILE:mujoco> -o $<TARGET_FILE_DIR:mujoco>/mujoco.tbd
COMMAND ln -fhs A $<TARGET_FILE_DIR:mujoco>/../Current
COMMAND ${TAPI} stubify $<TARGET_FILE:mujoco> -o $<TARGET_FILE_DIR:mujoco>/../../mujoco.tbd
COMMAND ln -fhs Versions/Current/mujoco.tbd $<TARGET_FILE_DIR:mujoco>/../../mujoco.tbd
COMMAND ln -fhs Versions/Current/Headers $<TARGET_FILE_DIR:mujoco>/../../Headers
COMMAND ln -fhs Versions/Current/Modules $<TARGET_FILE_DIR:mujoco>/../../Modules
COMMAND ln -fhs Versions/Current/Resources $<TARGET_FILE_DIR:mujoco>/../../Resources
@@ -211,4 +212,4 @@ if(NOT (APPLE AND MUJOCO_BUILD_MACOS_FRAMEWORKS))
DESTINATION "${CMAKE_INSTALL_DATADIR}/mujoco"
PATTERN "CMakeLists.txt" EXCLUDE
)
endif()
endif()
+1 -1
View File
@@ -5,7 +5,7 @@
<key>CFBundleName</key>
<string>MuJoCo</string>
<key>CFBundleIdentifier</key>
<string>org.mujoco.mujoco</string>
<string>org.mujoco.framework</string>
<key>CFBundleVersion</key>
<string>${PROJECT_VERSION}</string>
<key>CFBundleGetInfoString</key>
+2 -6
View File
@@ -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 $<TARGET_FILE_DIR:simulate>/../Frameworks/mujoco.framework
COMMAND cp -a $<TARGET_FILE_DIR:mujoco::mujoco>/../../../mujoco.framework
$<TARGET_FILE_DIR:simulate>/../Frameworks/
# Delete the symlink and the TBD, otherwise we can't sign and notarize.
COMMAND rm -rf $<TARGET_FILE_DIR:simulate>/../Frameworks/mujoco.framework/mujoco.tbd
COMMAND rm -rf
$<TARGET_FILE_DIR:simulate>/../Frameworks/mujoco.framework/Versions/A/libmujoco.dylib
)
endif()