From 746e62c61358f2a45eef413b6cf7ebc828c7ccc5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 20:40:05 +0800 Subject: Fix paths to LibVLC media plugin dependencies Somehow fixup_bundle misses fixing the plugins. These fixes are in effect when MacPorts is used, though it wouldn't hurt if you're using HomeBrew, it's just you'd need to add the references to the HomeBrew libraries just like the MacPorts ones. --- indra/media_plugins/libvlc/CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'indra') diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 2c70db1141..a398f11824 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -54,6 +54,36 @@ if (DARWIN) LINK_FLAGS "-exported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/../base/media_plugin_base.exp" ) + add_custom_command(TARGET ${PROJECT_NAME} + POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} + -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib" + -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib" + -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib" + -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" + -change "@rpath/libmeshoptimizer.dylib" "@loader_path/../../Frameworks/libmeshoptimizer.dylib" + -change "/opt/local/lib/libaprutil-1.0.dylib" "@loader_path/../../Frameworks/libaprutil-1.0.dylib" + -change "/opt/local/lib/libiconv.2.dylib" "@loader_path/../../Frameworks/libiconv.2.dylib" + -change "/opt/local/lib/libapr-1.0.dylib" "@loader_path/../../Frameworks/libapr-1.0.dylib" + -change "/opt/local/lib/libexpat.1.dylib" "@loader_path/../../Frameworks/libexpat.1.dylib" + -change "/opt/local/lib/libjsoncpp.25.dylib" "@loader_path/../../Frameworks/libjsoncpp.25.dylib" + -change "/opt/local/lib/libz.1.dylib" "@loader_path/../../Frameworks/libz.1.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_context-mt.dylib" "@loader_path/../../Frameworks/libboost_context-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_fiber-mt.dylib" "@loader_path/../../Frameworks/libboost_fiber-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib" "@loader_path/../../Frameworks/libboost_filesystem-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib" "@loader_path/../../Frameworks/libboost_program_options-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib" "@loader_path/../../Frameworks/libboost_regex-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib" "@loader_path/../../Frameworks/libboost_system-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib" "@loader_path/../../Frameworks/libboost_thread-mt.dylib" + -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" + -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" + -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" + -change "@rpath/libvlc.dylib" "@loader_path/lib/libvlc.dylib" + -change "@rpath/libvlccore.dylib" "@loader_path/lib/libvlccore.dylib" + "$" + VERBATIM + COMMENT "Fixing paths to LibVLC media plugin dependencies" + ) + endif (DARWIN) if (INSTALL) -- cgit v1.2.3 From f21febb5dd73f79f9d412429110ddfb8ca0ac57b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 20:53:04 +0800 Subject: Fix paths to CEF media plugin dependencies Explanation just like previous commit. There's a reference fix that doesn't seem to be valid any more. First of all, the path leading to CEF framework would be wrong, and secondly, the plugin doesn't seem to link to CEF. --- indra/media_plugins/cef/CMakeLists.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'indra') diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 5fb0158aa3..c7937741ff 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -85,6 +85,27 @@ if (DARWIN) add_custom_command(TARGET media_plugin_cef POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "@executable_path/Chromium Embedded Framework" "@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" + -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib" + -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib" + -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib" + -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" + -change "@rpath/libmeshoptimizer.dylib" "@loader_path/../../Frameworks/libmeshoptimizer.dylib" + -change "/opt/local/lib/libaprutil-1.0.dylib" "@loader_path/../../Frameworks/libaprutil-1.0.dylib" + -change "/opt/local/lib/libiconv.2.dylib" "@loader_path/../../Frameworks/libiconv.2.dylib" + -change "/opt/local/lib/libapr-1.0.dylib" "@loader_path/../../Frameworks/libapr-1.0.dylib" + -change "/opt/local/lib/libexpat.1.dylib" "@loader_path/../../Frameworks/libexpat.1.dylib" + -change "/opt/local/lib/libjsoncpp.25.dylib" "@loader_path/../../Frameworks/libjsoncpp.25.dylib" + -change "/opt/local/lib/libz.1.dylib" "@loader_path/../../Frameworks/libz.1.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_context-mt.dylib" "@loader_path/../../Frameworks/libboost_context-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_fiber-mt.dylib" "@loader_path/../../Frameworks/libboost_fiber-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib" "@loader_path/../../Frameworks/libboost_filesystem-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib" "@loader_path/../../Frameworks/libboost_program_options-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib" "@loader_path/../../Frameworks/libboost_regex-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib" "@loader_path/../../Frameworks/libboost_system-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib" "@loader_path/../../Frameworks/libboost_thread-mt.dylib" + -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" + -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" + -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" "$" VERBATIM COMMENT "Fixing path to CEF Framework" -- cgit v1.2.3 From d9a4a04b4f3eb43095cb9398b68cd73c957ab804 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 22:05:07 +0800 Subject: Fill SLPlugin.app Frameworks directory with links Adding custom command to fix SLPlugin's references wouldn't have any effect because fixup_bundle will overwrite them in install stage. --- indra/llplugin/slplugin/CMakeLists.txt | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index c3752a4705..64fe90238f 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -56,8 +56,36 @@ if (DARWIN) COMMAND mkdir ARGS -p - ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Resources + ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Frameworks ) + set(frameworks ${CMAKE_CURRENT_BINARY_DIR}/SLPlugin.app/Contents/Frameworks) + file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) endif (DARWIN) if (BUILD_SHARED_LIBS) -- cgit v1.2.3 From 7003f8c4c5d9e8b1126ac6aa351f14d326d0fdec Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 09:23:36 +0800 Subject: Fix paths to LibVLC files, they're in Frameworks Must have been residues before, they really were in llplugin/lib when I was doing the media plugin before. --- indra/media_plugins/libvlc/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index a398f11824..8beec985d5 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -77,8 +77,8 @@ if (DARWIN) -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" - -change "@rpath/libvlc.dylib" "@loader_path/lib/libvlc.dylib" - -change "@rpath/libvlccore.dylib" "@loader_path/lib/libvlccore.dylib" + -change "@rpath/libvlc.dylib" "@loader_path/../../Frameworks/libvlc.dylib" + -change "@rpath/libvlccore.dylib" "@loader_path/../../Frameworks/libvlccore.dylib" "$" VERBATIM COMMENT "Fixing paths to LibVLC media plugin dependencies" -- cgit v1.2.3 From 37f31d98f3a96a3f086f0c0bef515080b6ebeaab Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 10:12:29 +0800 Subject: `make install` on macOS installs CEF & Dullahan Using file(CHMOD ... PERMISSIONS .._EXECUTE) somehow didn't work, so I had to set it to reinstall the Dullahan executables, and they are the only files that are required to be executable (CEF framework and the .dylibs aren't). --- indra/newview/ViewerInstall.cmake | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'indra') diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 7d9f160467..3103dcb6ce 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -52,6 +52,35 @@ if (DARWIN) ) install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) + install(DIRECTORY + "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" + DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Frameworks + ) + + file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + install(DIRECTORY + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" + DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS" + ) else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} -- cgit v1.2.3 From dedf76e3f1eaebd053f193e92d6ffa3824a92c95 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 12:01:37 +0800 Subject: macOS install DESTINATIONs are relative paths now but set CMAKE_INSTALL_PREFIX to newview/Megapahit.app/Contents. --- indra/llplugin/slplugin/CMakeLists.txt | 3 +-- indra/media_plugins/cef/CMakeLists.txt | 2 +- indra/media_plugins/libvlc/CMakeLists.txt | 2 +- indra/newview/ViewerInstall.cmake | 12 ++++++------ 4 files changed, 9 insertions(+), 10 deletions(-) (limited to 'indra') diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 64fe90238f..687bcb73cc 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -95,8 +95,7 @@ endif () if (INSTALL) if (DARWIN) - install(TARGETS ${PROJECT_NAME} - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources) + install(TARGETS ${PROJECT_NAME} DESTINATION Resources) else (DARWIN) install(TARGETS ${PROJECT_NAME} DESTINATION libexec/${VIEWER_BINARY_NAME}) endif (DARWIN) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index c7937741ff..b739017a9b 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -115,7 +115,7 @@ endif (DARWIN) if (INSTALL) if (DARWIN) - set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) + set(_LIB Resources/llplugin) elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) set(_LIB lib/${ARCH}-linux-gnu) elseif (EXISTS /lib64) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 8beec985d5..795920ebfc 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -88,7 +88,7 @@ endif (DARWIN) if (INSTALL) if (DARWIN) - set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) + set(_LIB Resources/llplugin) elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) set(_LIB lib/${ARCH}-linux-gnu) elseif (EXISTS /lib64) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 3103dcb6ce..8d91e2fc58 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -22,7 +22,7 @@ if (DARWIN) skins tr.lproj zh-Hans.lproj - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES @@ -31,19 +31,19 @@ if (DARWIN) cube.dae featuretable_mac.txt secondlife.icns - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES licenses-mac.txt RENAME licenses.txt - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES ${SCRIPTS_DIR}/messages/message_template.msg ${SCRIPTS_DIR}/../etc/message.xml - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/app_settings + DESTINATION Resources/app_settings ) configure_file( @@ -54,7 +54,7 @@ if (DARWIN) install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Frameworks + DESTINATION Frameworks ) file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) @@ -63,7 +63,7 @@ if (DARWIN) "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks + DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) install(PROGRAMS "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" -- cgit v1.2.3 From faa8e3bc698ed3eb2ff21d08b8a3d093ab12ff6c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 12:05:00 +0800 Subject: Link CEF & chmod a+x Dullahan execs after install otherwise fixup_bundle would try to fix DullahanHelper executables when otool -L somehow can't find files that contain spaces in their names. By postponing the chmod until after fixup_bundle is called, fixup_bundle will ignore the DullahanHelper apps since they contain no executables yet by that time. Apart from that, trying to link to CEF would fail before installation cause SLPlugin's Frameworks directory wouldn't exist yet. --- indra/newview/FixBundle.cmake.in | 12 ++++++++++++ indra/newview/ViewerInstall.cmake | 28 ++++++---------------------- 2 files changed, 18 insertions(+), 22 deletions(-) (limited to 'indra') diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 73806642e4..08da5f5c0a 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -5,3 +5,15 @@ set(dirs ) fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") + +file(CREATE_LINK + "../../../../Frameworks/Chromium Embedded Framework.framework" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + +file(CHMOD + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS/DullahanHelper" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" + PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE + ) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 8d91e2fc58..b6f5569061 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -46,18 +46,11 @@ if (DARWIN) DESTINATION Resources/app_settings ) - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake - ) - install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) - install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" DESTINATION Frameworks ) - file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" @@ -65,22 +58,13 @@ if (DARWIN) "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS" + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake ) + install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) + else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} -- cgit v1.2.3 From a09b7d7679ba34482e267f9a5b39a79fd3866af4 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 13:33:02 +0800 Subject: Not override CMAKE_OSX_ARCHITECTURES to one arch Now you can pass -DCMAKE_OSX_ARCHITECTURES:STRING=`uname -m` or -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" and it will build as intended. --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 59725ecc65..f1a4d43f90 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -204,7 +204,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "") set(CMAKE_XCODE_ATTRIBUTE_DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING YES) set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION NO) - set(CMAKE_OSX_ARCHITECTURES "${ARCH}") + #set(CMAKE_OSX_ARCHITECTURES "${ARCH}") string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") string(REPLACE "AMD64" "x86_64" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -- cgit v1.2.3 From e09c241ce61975306cab3804f2ac76e46f357b7a Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 14:24:22 +0800 Subject: Links to SLPlugin's dependencies after install cause SLPlugin's Frameworks wouldn't exist yet before installation. --- indra/llplugin/slplugin/CMakeLists.txt | 28 ---------------------------- indra/newview/FixBundle.cmake.in | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 28 deletions(-) (limited to 'indra') diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 687bcb73cc..46e63e473c 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -58,34 +58,6 @@ if (DARWIN) -p ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Frameworks ) - set(frameworks ${CMAKE_CURRENT_BINARY_DIR}/SLPlugin.app/Contents/Frameworks) - file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) endif (DARWIN) if (BUILD_SHARED_LIBS) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 08da5f5c0a..5e87e17736 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -6,6 +6,35 @@ set(dirs fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") +set(frameworks ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks) +file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) -- cgit v1.2.3 From 81f8c7f5f8e497d18701022422b587235dfae4c5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 15:07:59 +0800 Subject: Not set var to shorten paths in install script Somehow it wouldn't work. --- indra/newview/FixBundle.cmake.in | 173 ++++++++++++++++++++++++++++++++------- 1 file changed, 143 insertions(+), 30 deletions(-) (limited to 'indra') diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 5e87e17736..0cc1569890 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -6,38 +6,151 @@ set(dirs fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") -set(frameworks ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks) -file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) - +file(CREATE_LINK + "../../../../Frameworks/libnghttp2.14.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libnghttp2.14.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libxmlrpc-epi.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libxmlrpc-epi.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libopenjp2.7.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libopenjp2.7.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libpng16.16.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libpng16.16.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libjpeg.8.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libjpeg.8.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libmeshoptimizer.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libmeshoptimizer.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libaprutil-1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libaprutil-1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libiconv.2.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libiconv.2.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libapr-1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libapr-1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libjsoncpp.25.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libjsoncpp.25.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libz.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libz.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_context-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_context-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_fiber-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_fiber-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_filesystem-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_filesystem-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_program_options-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_program_options-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_regex-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_regex-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_system-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_system-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_thread-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_thread-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/liburiparser.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/liburiparser.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libexpat.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libexpat.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libfreetype.6.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libfreetype.6.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicudata.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicudata.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicui18n.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicui18n.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicuuc.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicuuc.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbz2.1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbz2.1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlidec.1.1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlidec.1.1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlidec.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlidec.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlicommon.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlicommon.1.dylib" + SYMBOLIC + ) file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" - "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" + SYMBOLIC + ) file(CHMOD "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS/DullahanHelper" -- cgit v1.2.3 From 9d088bea3cc29dde6290db9e6da5dafd4f3ec524 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 16:15:09 +0800 Subject: GLH and Mikktspace can be untarred in packages now They're custom anyway so very unlikely to be reused in other projects. TinyGLTF.cmake changes here just to minimise diff, the include directory setting does not have any effect (just like in TinyEXR.cmake). --- indra/cmake/GLH.cmake | 5 ++--- indra/cmake/TinyGLTF.cmake | 4 +--- indra/llmath/CMakeLists.txt | 2 ++ 3 files changed, 5 insertions(+), 6 deletions(-) (limited to 'indra') diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake index 09f7d568be..bdd8bc4836 100644 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake @@ -4,9 +4,8 @@ include(Prebuilt) add_library( ll::glh_linear INTERFACE IMPORTED ) if (USESYSTEMLIBS) - target_include_directories(ll::glh_linear SYSTEM INTERFACE - ${CMAKE_SYSROOT}/usr/local/include) - return () + target_include_directories( ll::glh_linear SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) + return () endif () use_system_binary( glh_linear ) diff --git a/indra/cmake/TinyGLTF.cmake b/indra/cmake/TinyGLTF.cmake index b20a2a41de..7e74089208 100644 --- a/indra/cmake/TinyGLTF.cmake +++ b/indra/cmake/TinyGLTF.cmake @@ -2,10 +2,8 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) - use_prebuilt_binary(tinygltf) +endif (NOT USESYSTEMLIBS) set(TINYGLTF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinygltf) -endif (NOT USESYSTEMLIBS) - diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index c85d9c75c7..c0a62ad225 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -98,6 +98,8 @@ set(llmath_HEADER_FILES list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) +include_directories(${LIBS_PREBUILT_DIR}/include) + add_library (llmath ${llmath_SOURCE_FILES}) target_link_libraries(llmath llcommon llmeshoptimizer) -- cgit v1.2.3 From df882b8a1a84089f4415a0dce329b2feef96081b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 23:58:04 +0800 Subject: Explicit on every permission desired for Dullahan otherwise those executables couldn't be read and therefore couldn't be copied for bundle preparation, for example. --- indra/newview/FixBundle.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 0cc1569890..b2957cd9b5 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -157,5 +157,5 @@ file(CHMOD "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" - PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) -- cgit v1.2.3 From e44ccd4f19146c3313ecc67f813547a8c37b5c0f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 00:07:24 +0800 Subject: NDOF can be enabled for Space Navigator support --- indra/cmake/NDOF.cmake | 2 ++ indra/newview/ViewerInstall.cmake | 7 +++++++ 2 files changed, 9 insertions(+) (limited to 'indra') diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index b88fbccf2a..aa0f0d042c 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -7,11 +7,13 @@ include_guard() add_library( ll::ndof INTERFACE IMPORTED ) if (NDOF) + if (NOT USESYSTEMLIBS) if (WINDOWS OR DARWIN) use_prebuilt_binary(libndofdev) elseif (LINUX) use_prebuilt_binary(open-libndofdev) endif (WINDOWS OR DARWIN) + endif (NOT USESYSTEMLIBS) if (WINDOWS) target_link_libraries( ll::ndof INTERFACE libndofdev) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index b6f5569061..b6e670d09b 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -59,6 +59,13 @@ if (DARWIN) DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) + if (NDOF) + install(FILES + "${AUTOBUILD_INSTALL_DIR}/lib/release/libndofdev.dylib" + DESTINATION Resources + ) + endif () + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake -- cgit v1.2.3 From 723262ac50558b0b55ac6b37eed95895064b85b7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 20:45:54 +0800 Subject: Remove code that'll never be reached by non macOS which would be to determine which media plugins should be added as dependencies. Plus minimise diff from SLv code. --- indra/newview/CMakeLists.txt | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'indra') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 2b85a1d89a..f86e2cb2fb 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1417,7 +1417,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n") set_source_files_properties( - llversioninfo.cpp tests/llversioninfo_test.cpp + llversioninfo.cpp tests/llversioninfo_test.cpp PROPERTIES COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake ) @@ -1624,7 +1624,7 @@ endif (WINDOWS) file(GLOB_RECURSE viewer_XUI_FILES LIST_DIRECTORIES FALSE ${CMAKE_CURRENT_SOURCE_DIR}/skins/*.xml) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/skins PREFIX "XUI Files" FILES ${viewer_XUI_FILES}) -set_source_files_properties(${viewer_XUI_FILES} +set_source_files_properties(${viewer_XUI_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) @@ -1632,7 +1632,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) file(GLOB_RECURSE viewer_SHADER_FILES LIST_DIRECTORIES FALSE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders/*.glsl) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders PREFIX "Shaders" FILES ${viewer_SHADER_FILES}) -set_source_files_properties(${viewer_SHADER_FILES} +set_source_files_properties(${viewer_SHADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) list(APPEND viewer_SOURCE_FILES ${viewer_SHADER_FILES}) @@ -1924,7 +1924,7 @@ endif (WINDOWS) # one of these being libz where you can find four or more versions in play # at once. On Linux, libz can be found at link and run time via a number # of paths: -# +# # => -lfreetype # => libz.so.1 (on install machine, not build) # => -lSDL @@ -2041,7 +2041,7 @@ foreach(elem ${country_codes}) set(emoji_mapping_src_file "${emoji_mapping_src_folder}/${elem}/emoji_characters.xml") set(emoji_mapping_dst_file - "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml") + "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml") configure_file(${emoji_mapping_src_file} ${emoji_mapping_dst_file} COPYONLY) endforeach() @@ -2145,7 +2145,7 @@ if (DARWIN) # https://blog.kitware.com/upcoming-in-cmake-2-8-12-osx-rpath-support/ set(CMAKE_MACOSX_RPATH 1) - + set_target_properties( ${VIEWER_BINARY_NAME} PROPERTIES @@ -2197,11 +2197,7 @@ if (DARWIN) endif (NOT INSTALL) if (ENABLE_MEDIA_PLUGINS) - if (DARWIN OR LINUX) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef) - else (DARWIN) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc) - endif (DARWIN OR LINUX) else (ENABLE_MEDIA_PLUGINS) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin) endif (ENABLE_MEDIA_PLUGINS) @@ -2333,7 +2329,7 @@ if (LL_TESTS) # llremoteparcelrequest.cpp llviewerhelputil.cpp llversioninfo.cpp -# llvocache.cpp +# llvocache.cpp llworldmap.cpp llworldmipmap.cpp ) @@ -2342,7 +2338,7 @@ if (LL_TESTS) llworldmap.cpp llworldmipmap.cpp PROPERTIES - LL_TEST_ADDITIONAL_SOURCE_FILES + LL_TEST_ADDITIONAL_SOURCE_FILES tests/llviewertexture_stub.cpp #llviewertexturelist.cpp ) @@ -2376,7 +2372,7 @@ if (LL_TESTS) llworldmap.cpp llworldmipmap.cpp PROPERTIES - LL_TEST_ADDITIONAL_SOURCE_FILES + LL_TEST_ADDITIONAL_SOURCE_FILES tests/llviewertexture_stub.cpp ) -- cgit v1.2.3 From ecdbdc8ea6fbd9a918584be1191e012af4b38af3 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 20:55:02 +0800 Subject: Fix the variable used for macOS bundle identifier --- indra/newview/Info-SecondLife.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index cc8edfadb8..82f63519db 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -11,7 +11,7 @@ CFBundleIconFile ${MACOSX_BUNDLE_ICON_FILE} CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) + ${MACOSX_BUNDLE_GUI_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString -- cgit v1.2.3