-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: adjusting discord-rpc dependencies to work with windows
- Loading branch information
Showing
12 changed files
with
460 additions
and
623 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
if(TARGET discord-rpc) | ||
return() | ||
endif() | ||
|
||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows") | ||
set(DISCORD_RPC_INCLUDE_HINT "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/discord-rpc/win64-static/include") | ||
set(DISCORD_RPC_LIB_HINT "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/discord-rpc/win64-static/lib/") | ||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") | ||
set(DISCORD_RPC_INCLUDE_HINT "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/discord-rpc/linux-dynamic/include") | ||
set(DISCORD_RPC_LIB_HINT "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/discord-rpc/linux-dynamic/lib") | ||
else() | ||
message(FATAL_ERROR "Unsupported system") | ||
endif() | ||
|
||
find_path(DISCORD_RPC_INCLUDE_DIR | ||
NAMES discord_register.h discord_rpc.h | ||
PATH_SUFFIXES include | ||
HINTS ${DISCORD_RPC_INCLUDE_HINT} | ||
REQUIRED | ||
) | ||
|
||
find_library(DISCORD_RPC_LIB | ||
NAMES discord-rpc | ||
HINTS ${DISCORD_RPC_LIB_HINT} | ||
PATH_SUFFIXES lib | ||
REQUIRED | ||
) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(discord-rpc | ||
DEFAULT_MSG DISCORD_RPC_INCLUDE_DIR DISCORD_RPC_LIB | ||
) | ||
|
||
if(discord-rpc_FOUND) | ||
if (NOT TARGET discord-rpc) | ||
add_library(discord-rpc UNKNOWN IMPORTED) | ||
set_target_properties(discord-rpc | ||
PROPERTIES | ||
IMPORTED_LOCATION "${DISCORD_RPC_LIB}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${DISCORD_RPC_INCLUDE_DIR}" | ||
) | ||
endif() | ||
endif() | ||
|
||
mark_as_advanced(DISCORD_RPC_INCLUDE_DIR DISCORD_RPC_LIB) | ||
|
||
set_package_properties(discord-rpc PROPERTIES | ||
URL "https://github.com/discord/discord-rpc" | ||
DESCRIPTION "Discord RPC library" | ||
) |
26 changes: 26 additions & 0 deletions
26
dependencies/discord-rpc/linux-dynamic/include/discord_register.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#pragma once | ||
|
||
#if defined(DISCORD_DYNAMIC_LIB) | ||
#if defined(_WIN32) | ||
#if defined(DISCORD_BUILDING_SDK) | ||
#define DISCORD_EXPORT __declspec(dllexport) | ||
#else | ||
#define DISCORD_EXPORT __declspec(dllimport) | ||
#endif | ||
#else | ||
#define DISCORD_EXPORT __attribute__((visibility("default"))) | ||
#endif | ||
#else | ||
#define DISCORD_EXPORT | ||
#endif | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
DISCORD_EXPORT void Discord_Register(const char* applicationId, const char* command); | ||
DISCORD_EXPORT void Discord_RegisterSteamGame(const char* applicationId, const char* steamId); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif |
87 changes: 87 additions & 0 deletions
87
dependencies/discord-rpc/linux-dynamic/include/discord_rpc.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
#pragma once | ||
#include <stdint.h> | ||
|
||
// clang-format off | ||
|
||
#if defined(DISCORD_DYNAMIC_LIB) | ||
# if defined(_WIN32) | ||
# if defined(DISCORD_BUILDING_SDK) | ||
# define DISCORD_EXPORT __declspec(dllexport) | ||
# else | ||
# define DISCORD_EXPORT __declspec(dllimport) | ||
# endif | ||
# else | ||
# define DISCORD_EXPORT __attribute__((visibility("default"))) | ||
# endif | ||
#else | ||
# define DISCORD_EXPORT | ||
#endif | ||
|
||
// clang-format on | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct DiscordRichPresence { | ||
const char* state; /* max 128 bytes */ | ||
const char* details; /* max 128 bytes */ | ||
int64_t startTimestamp; | ||
int64_t endTimestamp; | ||
const char* largeImageKey; /* max 32 bytes */ | ||
const char* largeImageText; /* max 128 bytes */ | ||
const char* smallImageKey; /* max 32 bytes */ | ||
const char* smallImageText; /* max 128 bytes */ | ||
const char* partyId; /* max 128 bytes */ | ||
int partySize; | ||
int partyMax; | ||
const char* matchSecret; /* max 128 bytes */ | ||
const char* joinSecret; /* max 128 bytes */ | ||
const char* spectateSecret; /* max 128 bytes */ | ||
int8_t instance; | ||
} DiscordRichPresence; | ||
|
||
typedef struct DiscordUser { | ||
const char* userId; | ||
const char* username; | ||
const char* discriminator; | ||
const char* avatar; | ||
} DiscordUser; | ||
|
||
typedef struct DiscordEventHandlers { | ||
void (*ready)(const DiscordUser* request); | ||
void (*disconnected)(int errorCode, const char* message); | ||
void (*errored)(int errorCode, const char* message); | ||
void (*joinGame)(const char* joinSecret); | ||
void (*spectateGame)(const char* spectateSecret); | ||
void (*joinRequest)(const DiscordUser* request); | ||
} DiscordEventHandlers; | ||
|
||
#define DISCORD_REPLY_NO 0 | ||
#define DISCORD_REPLY_YES 1 | ||
#define DISCORD_REPLY_IGNORE 2 | ||
|
||
DISCORD_EXPORT void Discord_Initialize(const char* applicationId, | ||
DiscordEventHandlers* handlers, | ||
int autoRegister, | ||
const char* optionalSteamId); | ||
DISCORD_EXPORT void Discord_Shutdown(void); | ||
|
||
/* checks for incoming messages, dispatches callbacks */ | ||
DISCORD_EXPORT void Discord_RunCallbacks(void); | ||
|
||
/* If you disable the lib starting its own io thread, you'll need to call this from your own */ | ||
#ifdef DISCORD_DISABLE_IO_THREAD | ||
DISCORD_EXPORT void Discord_UpdateConnection(void); | ||
#endif | ||
|
||
DISCORD_EXPORT void Discord_UpdatePresence(const DiscordRichPresence* presence); | ||
DISCORD_EXPORT void Discord_ClearPresence(void); | ||
|
||
DISCORD_EXPORT void Discord_Respond(const char* userid, /* DISCORD_REPLY_ */ int reply); | ||
|
||
DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* handlers); | ||
|
||
#ifdef __cplusplus | ||
} /* extern "C" */ | ||
#endif |
Binary file not shown.
26 changes: 26 additions & 0 deletions
26
dependencies/discord-rpc/win64-static/include/discord_register.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#pragma once | ||
|
||
#if defined(DISCORD_DYNAMIC_LIB) | ||
#if defined(_WIN32) | ||
#if defined(DISCORD_BUILDING_SDK) | ||
#define DISCORD_EXPORT __declspec(dllexport) | ||
#else | ||
#define DISCORD_EXPORT __declspec(dllimport) | ||
#endif | ||
#else | ||
#define DISCORD_EXPORT __attribute__((visibility("default"))) | ||
#endif | ||
#else | ||
#define DISCORD_EXPORT | ||
#endif | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
DISCORD_EXPORT void Discord_Register(const char* applicationId, const char* command); | ||
DISCORD_EXPORT void Discord_RegisterSteamGame(const char* applicationId, const char* steamId); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif |
87 changes: 87 additions & 0 deletions
87
dependencies/discord-rpc/win64-static/include/discord_rpc.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
#pragma once | ||
#include <stdint.h> | ||
|
||
// clang-format off | ||
|
||
#if defined(DISCORD_DYNAMIC_LIB) | ||
# if defined(_WIN32) | ||
# if defined(DISCORD_BUILDING_SDK) | ||
# define DISCORD_EXPORT __declspec(dllexport) | ||
# else | ||
# define DISCORD_EXPORT __declspec(dllimport) | ||
# endif | ||
# else | ||
# define DISCORD_EXPORT __attribute__((visibility("default"))) | ||
# endif | ||
#else | ||
# define DISCORD_EXPORT | ||
#endif | ||
|
||
// clang-format on | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct DiscordRichPresence { | ||
const char* state; /* max 128 bytes */ | ||
const char* details; /* max 128 bytes */ | ||
int64_t startTimestamp; | ||
int64_t endTimestamp; | ||
const char* largeImageKey; /* max 32 bytes */ | ||
const char* largeImageText; /* max 128 bytes */ | ||
const char* smallImageKey; /* max 32 bytes */ | ||
const char* smallImageText; /* max 128 bytes */ | ||
const char* partyId; /* max 128 bytes */ | ||
int partySize; | ||
int partyMax; | ||
const char* matchSecret; /* max 128 bytes */ | ||
const char* joinSecret; /* max 128 bytes */ | ||
const char* spectateSecret; /* max 128 bytes */ | ||
int8_t instance; | ||
} DiscordRichPresence; | ||
|
||
typedef struct DiscordUser { | ||
const char* userId; | ||
const char* username; | ||
const char* discriminator; | ||
const char* avatar; | ||
} DiscordUser; | ||
|
||
typedef struct DiscordEventHandlers { | ||
void (*ready)(const DiscordUser* request); | ||
void (*disconnected)(int errorCode, const char* message); | ||
void (*errored)(int errorCode, const char* message); | ||
void (*joinGame)(const char* joinSecret); | ||
void (*spectateGame)(const char* spectateSecret); | ||
void (*joinRequest)(const DiscordUser* request); | ||
} DiscordEventHandlers; | ||
|
||
#define DISCORD_REPLY_NO 0 | ||
#define DISCORD_REPLY_YES 1 | ||
#define DISCORD_REPLY_IGNORE 2 | ||
|
||
DISCORD_EXPORT void Discord_Initialize(const char* applicationId, | ||
DiscordEventHandlers* handlers, | ||
int autoRegister, | ||
const char* optionalSteamId); | ||
DISCORD_EXPORT void Discord_Shutdown(void); | ||
|
||
/* checks for incoming messages, dispatches callbacks */ | ||
DISCORD_EXPORT void Discord_RunCallbacks(void); | ||
|
||
/* If you disable the lib starting its own io thread, you'll need to call this from your own */ | ||
#ifdef DISCORD_DISABLE_IO_THREAD | ||
DISCORD_EXPORT void Discord_UpdateConnection(void); | ||
#endif | ||
|
||
DISCORD_EXPORT void Discord_UpdatePresence(const DiscordRichPresence* presence); | ||
DISCORD_EXPORT void Discord_ClearPresence(void); | ||
|
||
DISCORD_EXPORT void Discord_Respond(const char* userid, /* DISCORD_REPLY_ */ int reply); | ||
|
||
DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* handlers); | ||
|
||
#ifdef __cplusplus | ||
} /* extern "C" */ | ||
#endif |
Binary file not shown.