mirror of
https://github.com/Vita3K/Vita3K.git
synced 2026-07-11 01:34:23 +02:00
vita3k: Fix Discord SDK library linking for macOS architectures
Support x86_64, arm64, and universal builds by selecting the correct Discord SDK dylib path based on the target architecture.
This commit is contained in:
Vendored
+5
-1
@@ -181,8 +181,12 @@ if(USE_DISCORD_RICH_PRESENCE)
|
||||
if(APPLE)
|
||||
if(ARCHITECTURE STREQUAL "x86_64")
|
||||
target_link_libraries(discord-rpc PUBLIC "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/x86_64/discord_game_sdk.dylib")
|
||||
else()
|
||||
elseif(ARCHITECTURE STREQUAL "arm64")
|
||||
target_link_libraries(discord-rpc PUBLIC "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/aarch64/discord_game_sdk.dylib")
|
||||
else()
|
||||
execute_process(COMMAND lipo -create -output discord_game_sdk.dylib x86_64/discord_game_sdk.dylib aarch64/discord_game_sdk.dylib
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib")
|
||||
target_link_libraries(discord-rpc PUBLIC "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/discord_game_sdk.dylib")
|
||||
endif()
|
||||
elseif(WIN32)
|
||||
target_link_libraries(discord-rpc PUBLIC "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/x86_64/discord_game_sdk.dll.lib")
|
||||
|
||||
@@ -218,10 +218,18 @@ if(APPLE)
|
||||
endif()
|
||||
|
||||
if(USE_DISCORD_RICH_PRESENCE)
|
||||
if(ARCHITECTURE STREQUAL "x86_64")
|
||||
set(discord_dylib "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/x86_64/discord_game_sdk.dylib")
|
||||
elseif(ARCHITECTURE STREQUAL "arm64")
|
||||
set(discord_dylib "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/aarch64/discord_game_sdk.dylib")
|
||||
else() # macos universal build
|
||||
set(discord_dylib "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/discord_game_sdk.dylib")
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
TARGET vita3k
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/external/discord_game_sdk/lib/x86_64/discord_game_sdk.dylib" "$<TARGET_FILE_DIR:vita3k>/../Resources")
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${discord_dylib}" "$<TARGET_FILE_DIR:vita3k>/../Resources")
|
||||
endif()
|
||||
set_target_properties(vita3k PROPERTIES LINK_FLAGS "-rpath @loader_path/../Frameworks/ -rpath @loader_path/../Resources/ -ld64")
|
||||
target_sources(vita3k PRIVATE Vita3K.icns)
|
||||
|
||||
Reference in New Issue
Block a user