1*4882a593SmuzhiyunFrom cf5a3177159ca832470e7f876cab0a1923fa666f Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Peter Seiderer <ps.report@gmx.net>
3*4882a593SmuzhiyunDate: Fri, 22 Oct 2021 20:17:36 +0200
4*4882a593SmuzhiyunSubject: [PATCH] pkg-config: fix gtest.pc/gmock.pc library names for the debug
5*4882a593Smuzhiyun build
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunIn case CMAKE_BUILD_TYPE is set to Debug the gtest library is
8*4882a593Smuzhiyunname libgtestd.a but the link command returned from gtest.pc is
9*4882a593Smuzhiyun'-lgtest' (without the debug d) and so the linking of dependent
10*4882a593Smuzhiyunpackages fails (see [1] for a buildroot failure example).
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunEnhance the gtest.pc ang gmock.pc generation to honour the debug 'd'.
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun[1] http://lists.busybox.net/pipermail/buildroot/2021-October/626382.html
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun[Upstream: https://github.com/google/googletest/pull/3625]
17*4882a593SmuzhiyunSigned-off-by: Peter Seiderer <ps.report@gmx.net>
18*4882a593Smuzhiyun---
19*4882a593Smuzhiyun googlemock/cmake/gmock.pc.in          | 2 +-
20*4882a593Smuzhiyun googletest/cmake/gtest.pc.in          | 2 +-
21*4882a593Smuzhiyun googletest/cmake/internal_utils.cmake | 3 +++
22*4882a593Smuzhiyun 3 files changed, 5 insertions(+), 2 deletions(-)
23*4882a593Smuzhiyun
24*4882a593Smuzhiyundiff --git a/googlemock/cmake/gmock.pc.in b/googlemock/cmake/gmock.pc.in
25*4882a593Smuzhiyunindex 23c67b5c..0f469857 100644
26*4882a593Smuzhiyun--- a/googlemock/cmake/gmock.pc.in
27*4882a593Smuzhiyun+++ b/googlemock/cmake/gmock.pc.in
28*4882a593Smuzhiyun@@ -6,5 +6,5 @@ Description: GoogleMock (without main() function)
29*4882a593Smuzhiyun Version: @PROJECT_VERSION@
30*4882a593Smuzhiyun URL: https://github.com/google/googletest
31*4882a593Smuzhiyun Requires: gtest = @PROJECT_VERSION@
32*4882a593Smuzhiyun-Libs: -L${libdir} -lgmock @CMAKE_THREAD_LIBS_INIT@
33*4882a593Smuzhiyun+Libs: -L${libdir} -lgmock@DEBUG_POSTFIX@ @CMAKE_THREAD_LIBS_INIT@
34*4882a593Smuzhiyun Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
35*4882a593Smuzhiyundiff --git a/googletest/cmake/gtest.pc.in b/googletest/cmake/gtest.pc.in
36*4882a593Smuzhiyunindex b4148fae..225bba81 100644
37*4882a593Smuzhiyun--- a/googletest/cmake/gtest.pc.in
38*4882a593Smuzhiyun+++ b/googletest/cmake/gtest.pc.in
39*4882a593Smuzhiyun@@ -5,5 +5,5 @@ Name: gtest
40*4882a593Smuzhiyun Description: GoogleTest (without main() function)
41*4882a593Smuzhiyun Version: @PROJECT_VERSION@
42*4882a593Smuzhiyun URL: https://github.com/google/googletest
43*4882a593Smuzhiyun-Libs: -L${libdir} -lgtest @CMAKE_THREAD_LIBS_INIT@
44*4882a593Smuzhiyun+Libs: -L${libdir} -lgtest@DEBUG_POSTFIX@ @CMAKE_THREAD_LIBS_INIT@
45*4882a593Smuzhiyun Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@
46*4882a593Smuzhiyundiff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
47*4882a593Smuzhiyunindex 58fc9bfb..fd81b825 100644
48*4882a593Smuzhiyun--- a/googletest/cmake/internal_utils.cmake
49*4882a593Smuzhiyun+++ b/googletest/cmake/internal_utils.cmake
50*4882a593Smuzhiyun@@ -335,6 +335,9 @@ function(install_project)
51*4882a593Smuzhiyun     # Configure and install pkgconfig files.
52*4882a593Smuzhiyun     foreach(t ${ARGN})
53*4882a593Smuzhiyun       set(configured_pc "${generated_dir}/${t}.pc")
54*4882a593Smuzhiyun+      if(CMAKE_BUILD_TYPE MATCHES Debug)
55*4882a593Smuzhiyun+        set(DEBUG_POSTFIX "d")
56*4882a593Smuzhiyun+      endif()
57*4882a593Smuzhiyun       configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in"
58*4882a593Smuzhiyun         "${configured_pc}" @ONLY)
59*4882a593Smuzhiyun       install(FILES "${configured_pc}"
60*4882a593Smuzhiyun--
61*4882a593Smuzhiyun2.33.1
62*4882a593Smuzhiyun
63