cmake: fix linking to RetroAchievements

The order of libraries on the command line matters for GNU ld. Properly
define dependencies to satisfy the linker.
This commit is contained in:
oltolm 2025-07-19 23:45:04 +02:00
commit ff0af32675
3 changed files with 15 additions and 11 deletions

View file

@ -61,13 +61,15 @@ dolphin_disable_warnings(rcheevos)
target_include_directories(rcheevos PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/rcheevos/include")
target_include_directories(rcheevos INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
target_compile_definitions(rcheevos PRIVATE "RC_DISABLE_LUA=1" "RCHEEVOS_URL_SSL")
target_compile_definitions(rcheevos PRIVATE "RC_CLIENT_SUPPORTS_HASH")
target_compile_definitions(rcheevos PRIVATE "RC_CLIENT_SUPPORTS_EXTERNAL")
target_compile_definitions(rcheevos PRIVATE "RC_HASH_NO_ENCRYPTED")
target_compile_definitions(rcheevos PRIVATE "RC_HASH_NO_ROM")
target_compile_definitions(rcheevos PRIVATE "RC_HASH_NO_ZIP")
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
target_compile_definitions(rcheevos PRIVATE "RC_CLIENT_SUPPORTS_RAINTEGRATION")
target_compile_definitions(rcheevos PUBLIC "RC_DISABLE_LUA=1" "RCHEEVOS_URL_SSL")
target_compile_definitions(rcheevos PUBLIC "RC_CLIENT_SUPPORTS_HASH")
target_compile_definitions(rcheevos PUBLIC "RC_CLIENT_SUPPORTS_EXTERNAL")
target_compile_definitions(rcheevos PUBLIC "RC_HASH_NO_ENCRYPTED")
target_compile_definitions(rcheevos PUBLIC "RC_HASH_NO_ROM")
target_compile_definitions(rcheevos PUBLIC "RC_HASH_NO_ZIP")
if(WIN32)
if(RC_CLIENT_SUPPORTS_RAINTEGRATION)
target_compile_definitions(rcheevos PUBLIC RC_CLIENT_SUPPORTS_RAINTEGRATION)
endif()
target_compile_definitions(rcheevos PRIVATE "_CRT_SECURE_NO_WARNINGS")
endif()

View file

@ -84,3 +84,8 @@ if(MSVC)
# Add precompiled header
target_link_libraries(discio PRIVATE use_pch)
endif()
if(USE_RETRO_ACHIEVEMENTS)
target_link_libraries(discio PUBLIC rcheevos)
target_compile_definitions(discio PUBLIC -DUSE_RETRO_ACHIEVEMENTS)
endif()

View file

@ -681,7 +681,4 @@ endif()
if(USE_RETRO_ACHIEVEMENTS)
target_link_libraries(dolphin-emu PRIVATE rcheevos)
target_compile_definitions(dolphin-emu PRIVATE -DUSE_RETRO_ACHIEVEMENTS)
if(RC_CLIENT_SUPPORTS_RAINTEGRATION)
target_compile_definitions(dolphin-emu PRIVATE -DRC_CLIENT_SUPPORTS_RAINTEGRATION)
endif()
endif()