mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-10 07:12:03 +00:00
Attempt to improve discord-rpc checking in CMake
Haven't ever gotten CMake to compile SRB2, so I'm unable to really check if this works
This commit is contained in:
parent
ed58cb5468
commit
720eced665
5 changed files with 67 additions and 39 deletions
23
cmake/Modules/FindDiscordRPC.cmake
Normal file
23
cmake/Modules/FindDiscordRPC.cmake
Normal file
|
@ -0,0 +1,23 @@
|
|||
include(LibFindMacros)
|
||||
|
||||
libfind_pkg_check_modules(DISCORDRPC_PKGCONF DISCORDRPC)
|
||||
|
||||
find_path(DISCORDRPC_INCLUDE_DIR
|
||||
NAMES discord-rpc.h
|
||||
PATHS
|
||||
${DISCORDRPC_PKGCONF_INCLUDE_DIRS}
|
||||
"/usr/include/discord-rpc"
|
||||
"/usr/local/include/discord-rpc"
|
||||
)
|
||||
|
||||
find_library(DISCORDRPC_LIBRARY
|
||||
NAMES discord-rpc
|
||||
PATHS
|
||||
${DISCORDRPC_PKGCONF_LIBRARY_DIRS}
|
||||
"/usr/lib"
|
||||
"/usr/local/lib"
|
||||
)
|
||||
|
||||
set(DISCORDRPC_PROCESS_INCLUDES DISCORDRPC_INCLUDE_DIR)
|
||||
set(DISCORDRPC_PROCESS_LIBS DISCORDRPC_LIBRARY)
|
||||
libfind_process(DISCORDRPC)
|
|
@ -1,6 +1,6 @@
|
|||
# SRB2Kart - Which DLLs do I need to bundle?
|
||||
|
||||
Updated 12/4/2018 (v2.1.21)
|
||||
Updated 8/23/2020 (v1.3)
|
||||
|
||||
Here are the required DLLs, per build. For each architecture, copy all the binaries from these folders:
|
||||
|
||||
|
@ -14,6 +14,7 @@ and don't forget to build r_opengl.dll for srb2dd.
|
|||
|
||||
* libs\dll-binaries\i686\exchndl.dll
|
||||
* libs\dll-binaries\i686\libgme.dll
|
||||
* libs\dll-binaries\i686\discord-rpc.dll
|
||||
* libs\dll-binaries\i686\mgwhelp.dll (depend for exchndl.dll)
|
||||
* libs\SDL2\i686-w64-mingw32\bin\SDL2.dll
|
||||
* libs\SDL2_mixer\i686-w64-mingw32\bin\*.dll (get everything)
|
||||
|
@ -22,22 +23,7 @@ and don't forget to build r_opengl.dll for srb2dd.
|
|||
|
||||
* libs\dll-binaries\x86_64\exchndl.dll
|
||||
* libs\dll-binaries\x86_64\libgme.dll
|
||||
* libs\dll-binaries\x86_64\discord-rpc.dll
|
||||
* libs\dll-binaries\x86_64\mgwhelp.dll (depend for exchndl.dll)
|
||||
* libs\SDL2\x86_64-w64-mingw32\bin\SDL2.dll
|
||||
* libs\SDL2_mixer\x86_64-w64-mingw32\bin\*.dll (get everything)
|
||||
|
||||
## srb2kartdd, 32-bit
|
||||
|
||||
* libs\dll-binaries\i686\exchndl.dll
|
||||
* libs\dll-binaries\i686\fmodex.dll
|
||||
* libs\dll-binaries\i686\libgme.dll
|
||||
* libs\dll-binaries\i686\mgwhelp.dll (depend for exchndl.dll)
|
||||
* r_opengl.dll (build this from make)
|
||||
|
||||
## srb2kartdd, 64-bit
|
||||
|
||||
* libs\dll-binaries\x86_64\exchndl.dll
|
||||
* libs\dll-binaries\x86_64\fmodex.dll
|
||||
* libs\dll-binaries\x86_64\libgme.dll
|
||||
* libs\dll-binaries\x86_64\mgwhelp.dll (depend for exchndl.dll)
|
||||
* r_opengl.dll (build this from make)
|
||||
|
|
16
libs/discord-rpc.props
Normal file
16
libs/discord-rpc.props
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<LibraryPath Condition="'$(Platform)' == 'Win32'">$(SolutionDir)libs\discord-rpc\win32-dynamic\lib;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath Condition="'$(Platform)' == 'Win32'">$(SolutionDir)libs\discord-rpc\win32-dynamic\lib;$(IncludePath)</IncludePath>
|
||||
<LibraryPath Condition="'$(Platform)' == 'x64'">$(SolutionDir)libs\discord-rpc\win64-dynamic\lib;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath Condition="'$(Platform)' == 'x64'">$(SolutionDir)libs\discord-rpc\win64-dynamic\lib;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Platform)' == 'Win32' OR '$(Platform)' == 'x64'">
|
||||
<Link>
|
||||
<AdditionalDependencies>discord-rpc.dll.a;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -332,7 +332,7 @@ if(${SRB2_CONFIG_HAVE_GME})
|
|||
if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES})
|
||||
set(GME_FOUND ON)
|
||||
set(GME_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/gme/include)
|
||||
if(${SRB2_SYSTEM_BITS} EQUAL 64)
|
||||
if(${SRB2_SYSTEM_BITS} EQUAL 64)
|
||||
set(GME_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/gme/win64 -lgme")
|
||||
else() # 32-bit
|
||||
set(GME_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/gme/win32 -lgme")
|
||||
|
@ -348,17 +348,31 @@ if(${SRB2_CONFIG_HAVE_GME})
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# TO-DO: make this check for the dependency like the others..
|
||||
if(${SRB2_CONFIG_HAVE_DISCORDRPC})
|
||||
add_definitions(-DHAVE_DISCORDRPC)
|
||||
set(SRB2_DISCORDRPC_SOURCES
|
||||
discord.c
|
||||
discord.h
|
||||
)
|
||||
|
||||
prepend_sources(SRB2_DISCORDRPC_SOURCES)
|
||||
|
||||
source_group("Discord RPC" FILES ${SRB2_DISCORDRPC_SOURCES})
|
||||
if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES})
|
||||
set(DISCORDRPC_FOUND ON)
|
||||
if(${SRB2_SYSTEM_BITS} EQUAL 64)
|
||||
set(DISCORDRPC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/discord-rpc/win64-dynamic/include)
|
||||
set(DISCORDRPC_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/discord-rpc/win64-dynamic/lib -ldiscord-rpc")
|
||||
else() # 32-bit
|
||||
set(DISCORDRPC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/discord-rpc/win32-dynamic/include)
|
||||
set(DISCORDRPC_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/discord-rpc/win32-dynamic/lib -ldiscord-rpc")
|
||||
endif()
|
||||
else()
|
||||
find_package(DISCORDRPC)
|
||||
endif()
|
||||
if(${DISCORDRPC_FOUND})
|
||||
set(SRB2_HAVE_DISCORDRPC ON)
|
||||
add_definitions(-DHAVE_DISCORDRPC)
|
||||
set(SRB2_DISCORDRPC_SOURCES
|
||||
discord.c
|
||||
discord.h
|
||||
)
|
||||
prepend_sources(SRB2_DISCORDRPC_SOURCES)
|
||||
source_group("Discord Rich Presence" FILES ${SRB2_DISCORDRPC_SOURCES})
|
||||
else()
|
||||
message(WARNING "You have specified that Discord Rich Presence is available but it was not found.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(${SRB2_CONFIG_HAVE_ZLIB})
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
SRB2Kart Install Instructions
|
||||
|
||||
1. Move every file from the "new-install" folder to this main install folder.
|
||||
|
||||
2. DELETE "staging.bat" and "staging.txt"! These can mess up your installation if run by accident!
|
||||
|
||||
3. Optionally, create a folder in your user profile named "SRB2Kart". This is where your game data and addons may live. For example,
|
||||
|
||||
C:\Users\[User]\SRB2Kart
|
||||
|
||||
4. Run the game! Double-click srb2kart.exe -- or see if you have Start Menu icons under "SRB2Kart".
|
Loading…
Reference in a new issue