You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
include(functions/FetchContent_MakeAvailableExcludeFromAll) |
|
include(FetchContent) |
|
|
|
find_package(Patch REQUIRED) |
|
|
|
FetchContent_Declare(discordsrc |
|
URL https://dl-game-sdk.discordapp.net/3.2.1/discord_game_sdk.zip |
|
URL_HASH MD5=73e5e1b3f8413a2c7184ef17476822f2 |
|
PATCH_COMMAND "${Patch_EXECUTABLE}" -p1 -N < "${CMAKE_CURRENT_LIST_DIR}/fixes.patch" || true |
|
) |
|
FetchContent_MakeAvailableExcludeFromAll(discordsrc) |
|
|
|
file(GLOB discord_SRCS ${discordsrc_SOURCE_DIR}/cpp/*.cpp) |
|
add_library(discord STATIC ${discord_SRCS}) |
|
target_include_directories(discord INTERFACE "${discordsrc_SOURCE_DIR}/..") |
|
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") |
|
set(DISCORD_LIB_DIR "${discordsrc_SOURCE_DIR}/lib/aarch64") |
|
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) |
|
set(DISCORD_LIB_DIR "${discordsrc_SOURCE_DIR}/lib/x86") |
|
else() |
|
set(DISCORD_LIB_DIR "${discordsrc_SOURCE_DIR}/lib/x86_64") |
|
endif() |
|
set(DISCORD_SHARED_LIB_FILENAME "discord_game_sdk${CMAKE_SHARED_LIBRARY_SUFFIX}") |
|
|
|
set(DISCORD_SHARED_LIB "${DISCORD_LIB_DIR}/${DISCORD_SHARED_LIB_FILENAME}") |
|
set(DISCORD_SHARED_LIB "${DISCORD_SHARED_LIB}" PARENT_SCOPE) |
|
|
|
find_library( |
|
DISCORD_LIB |
|
NAMES "${DISCORD_SHARED_LIB_FILENAME}" |
|
PATHS "${DISCORD_LIB_DIR}" |
|
REQUIRED |
|
NO_DEFAULT_PATH |
|
NO_CMAKE_FIND_ROOT_PATH |
|
) |
|
|
|
message("-- 📚 discord_game_sdk: ${DISCORD_LIB}") |
|
|
|
# Copy the dll so that tests and Debug builds can find it on Windows. |
|
# We also need it at this location to link to `discord_game_sdk.so` rather |
|
# than `_deps/discordsrc-src/lib/x86_64/discord_game_sdk.so` on Linux. |
|
file(COPY "${DISCORD_SHARED_LIB}" DESTINATION "${CMAKE_BINARY_DIR}") |
|
|
|
add_library(discord_game_sdk SHARED IMPORTED GLOBAL) |
|
set_target_properties(discord_game_sdk PROPERTIES |
|
IMPORTED_IMPLIB "${DISCORD_LIB}" |
|
IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/${DISCORD_SHARED_LIB_FILENAME}" |
|
)
|
|
|