File: 01-fix-install-paths.patch

package info (click to toggle)
discord-rpc 3.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,140 kB
  • sloc: cpp: 1,877; cs: 463; ansic: 263; python: 239; makefile: 8
file content (105 lines) | stat: -rw-r--r-- 3,004 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Description: Fix install paths for Debian
 This patch 
 * includes CMakePackageConfigHelpers in src/CMakeLists.txt. 
 * adds a Config.cmake.in and generates the proper CMake config files before
 installing them
 * adds a pkg-config file
 * patches src/CMakeLists.txt to configure both of the above
 * adds a version string to the project
 * changes the header install destination to not be hard-coded.
Author: David James <davidjamescastor215@proton.me>
Last-Update: 2024-01-19
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/DiscordRPCTargets.cmake")
+check_required_components(@PROJECT_NAME@)
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -121,9 +121,14 @@ endif(CLANG_FORMAT_CMD)
 
 # install
 
+set_target_properties(discord-rpc PROPERTIES
+                        VERSION ${DiscordRPC_VERSION}
+                        SOVERSION ${DiscordRPC_VERSION_MAJOR}
+                        )
+
 install(
     TARGETS discord-rpc
-    EXPORT "discord-rpc"
+    EXPORT "${PROJECT_NAME}Targets"
     RUNTIME
         DESTINATION "${CMAKE_INSTALL_BINDIR}"
     LIBRARY
@@ -135,8 +140,43 @@ install(
 )
 
 install(
+    EXPORT ${PROJECT_NAME}Targets
+    NAMESPACE ${PROJECT_NAME}::
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
+)
+
+install(
     FILES
         "../include/discord_rpc.h"
 		"../include/discord_register.h"
-    DESTINATION "include"
+    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+)
+
+include(CMakePackageConfigHelpers)
+
+configure_package_config_file(
+    "${CMAKE_SOURCE_DIR}/Config.cmake.in"
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+    INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/discord-rpc"
+)
+
+write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+    VERSION ${DiscordRPC_VERSION}
+    COMPATIBILITY SameMajorVersion
+)
+
+install(FILES
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
+)
+
+configure_file("${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.in"
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY
+)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
 )
+
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 cmake_minimum_required (VERSION 3.2.0)
-project (DiscordRPC)
+project (DiscordRPC VERSION 3.4.0)
 
 include(GNUInstallDirs)
 
--- /dev/null
+++ b/DiscordRPC.pc.in
@@ -0,0 +1,9 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+Name: @PROJECT_NAME@
+Description: Library for integrating Discord Rich Presence
+Version: @PROJECT_VERSION@
+Libs: -L${libdir} -ldiscord-rpc
+Cflags: -I${includedir}
\ No newline at end of file