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.
33 lines
1.3 KiB
33 lines
1.3 KiB
include(functions/FetchContent_MakeAvailableExcludeFromAll) |
|
include(FetchContent) |
|
|
|
FetchContent_Declare(discordsrc |
|
URL https://dl-game-sdk.discordapp.net/2.5.6/discord_game_sdk.zip |
|
URL_HASH MD5=f86f15957cc9fbf04e3db10462027d58 |
|
) |
|
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_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 "${DISCORD_LIB_DIR}/discord_game_sdk${CMAKE_SHARED_LIBRARY_SUFFIX}") |
|
|
|
if(WIN32 AND NOT MSVC) |
|
add_library(discord_game_sdk SHARED "discord_game_sdk_fake.cpp") |
|
set_target_properties(discord_game_sdk PROPERTIES PREFIX "") |
|
else() |
|
find_library(DISCORD_LIB discord_game_sdk${CMAKE_SHARED_LIBRARY_SUFFIX} ${DISCORD_LIB_DIR}) |
|
|
|
add_library(discord_game_sdk SHARED IMPORTED GLOBAL) |
|
set_property(TARGET discord_game_sdk PROPERTY IMPORTED_IMPLIB ${DISCORD_LIB}) |
|
set_property(TARGET discord_game_sdk PROPERTY IMPORTED_LOCATION ${DISCORD_SHARED_LIB}) |
|
endif() |
|
|
|
set(DISCORD_SHARED_LIB ${DISCORD_SHARED_LIB} PARENT_SCOPE) |
|
file(COPY ${DISCORD_SHARED_LIB} DESTINATION "${CMAKE_BINARY_DIR}")
|
|
|