File: restore-pkg-config-support

package info (click to toggle)
gr-osmosdr 0.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,088 kB
  • sloc: cpp: 16,709; python: 11,368; ansic: 34; makefile: 11
file content (74 lines) | stat: -rw-r--r-- 2,583 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
From 3e6942b6a86c4d83e9a0e1a2a18031f38f3c7cc3 Mon Sep 17 00:00:00 2001
From: "A. Maitland Bottoms" <bottoms@debian.org>
Date: Sat, 22 Feb 2020 18:23:14 -0500
Subject: [PATCH 3/3] restore pkg-config support

---
 CMakeLists.txt         | 36 ++++++++++++++++++++++++++++++++++++
 gnuradio-osmosdr.pc.in | 15 +++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 gnuradio-osmosdr.pc.in

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -262,6 +262,42 @@
 add_subdirectory(docs)
 
 ########################################################################
+# Create Pkg Config File
+########################################################################
+FOREACH(inc ${Boost_INCLUDE_DIRS})
+    LIST(APPEND GR_OSMOSDR_PC_CFLAGS "-I${inc}")
+ENDFOREACH(inc)
+
+FOREACH(lib ${Boost_LIBRARY_DIRS})
+    LIST(APPEND GR_OSMOSDR_PC_LIBS "-L${lib}")
+ENDFOREACH(lib)
+
+# use space-separation format for the pc file
+STRING(REPLACE ";" " " GR_OSMOSDR_PC_REQUIRES "${GR_OSMOSDR_PC_REQUIRES}")
+STRING(REPLACE ";" " " GR_OSMOSDR_PC_CFLAGS "${GR_OSMOSDR_PC_CFLAGS}")
+STRING(REPLACE ";" " " GR_OSMOSDR_PC_LIBS "${GR_OSMOSDR_PC_LIBS}")
+
+# unset these vars to avoid hard-coded paths to cross environment
+IF(CMAKE_CROSSCOMPILING)
+    UNSET(GR_OSMOSDR_PC_CFLAGS)
+    UNSET(GR_OSMOSDR_PC_LIBS)
+ENDIF(CMAKE_CROSSCOMPILING)
+
+# fake gnuradio cpack behavior as long as we don't use it directly
+set(CPACK_PACKAGE_NAME "gnuradio-osmosdr")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GNU Radio block for various radio hardware")
+set(CPACK_PACKAGE_VERSION ${VERSION})
+
+CONFIGURE_FILE(
+  ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-osmosdr.pc.in
+  ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-osmosdr.pc
+  @ONLY)
+
+INSTALL(
+  FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-osmosdr.pc
+  DESTINATION ${GR_LIBRARY_DIR}/pkgconfig)
+
+########################################################################
 # Print Summary
 ########################################################################
 GR_PRINT_COMPONENT_SUMMARY()
--- /dev/null
+++ b/gnuradio-osmosdr.pc.in
@@ -0,0 +1,15 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@GR_LIBRARY_DIR@
+includedir=${prefix}/@GR_INCLUDE_DIR@
+
+Name: @CPACK_PACKAGE_NAME@
+Description: @CPACK_PACKAGE_DESCRIPTION_SUMMARY@
+URL: http://sdr.osmocom.org/trac/wiki/GrOsmoSDR
+Version: @CPACK_PACKAGE_VERSION@
+Requires: gnuradio-runtime gnuradio-blocks
+Requires.private: @GR_OSMOSDR_PC_REQUIRES@
+Conflicts:
+Cflags: -I${includedir} @GR_OSMOSDR_PC_CFLAGS@
+Libs: -L${libdir} -lgnuradio-osmosdr
+Libs.private: @GR_OSMOSDR_PC_LIBS@