projects/guix·blob java-team · refs

82 lines · 2.4 KiB

1From 1f8b6ecf37fed307ced91a4f4115fe38b11f23bc Mon Sep 17 00:00:00 2001
2From: dan <[email protected]>
3Date: Sun, 12 Oct 2025 18:45:40 +0800
4Subject: [PATCH] Look for system-wide cppgir before fallback to the bundled
5 copy.
6
7Upstream-status: https://github.com/desktop-app/cmake_helpers/pull/305
8---
9 external/glib/CMakeLists.txt | 7 ++++---
10 external/glib/generate_cppgir.cmake | 17 +++++++++++------
11 2 files changed, 15 insertions(+), 9 deletions(-)
12
13diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt
14index 9b80f23..1a2e9b7 100644
15--- a/external/glib/CMakeLists.txt
16+++ b/external/glib/CMakeLists.txt
17@@ -21,14 +21,15 @@ INTERFACE
18 GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56
19 )
20
21-block()
22+include(generate_cppgir.cmake)
23+
24+if (NOT CppGir_FOUND)
25 set(BUILD_TESTING OFF)
26 set(BUILD_DOC OFF)
27 set(BUILD_EXAMPLES OFF)
28 add_subdirectory(cppgir EXCLUDE_FROM_ALL)
29-endblock()
30+endif()
31
32-include(generate_cppgir.cmake)
33
34 if (DESKTOP_APP_GLIB2_gio-unix-2.0_VERSION VERSION_GREATER_EQUAL 2.86)
35 generate_cppgir(external_glib GioUnix-2.0)
36diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake
37index 62a3b6d..012fd52 100644
38--- a/external/glib/generate_cppgir.cmake
39+++ b/external/glib/generate_cppgir.cmake
40@@ -4,6 +4,8 @@
41 # For license and copyright information please follow this link:
42 # https://github.com/desktop-app/legal/blob/master/LEGAL
43
44+find_package(CppGir 2.0)
45+
46 function(generate_cppgir target_name gir)
47 set(cppgir_loc ${cmake_helpers_loc}/external/glib/cppgir)
48
49@@ -13,10 +15,14 @@ function(generate_cppgir target_name gir)
50
51 set(gen_timestamp ${gen_dst}/${target_name}_cppgir.timestamp)
52
53- set(ignore_files
54- ${cppgir_loc}/data/cppgir.ignore
55- ${cppgir_loc}/data/cppgir_unix.ignore
56- )
57+ if (NOT CppGir_FOUND)
58+ set(ignore_files
59+ ${cppgir_loc}/data/cppgir.ignore
60+ ${cppgir_loc}/data/cppgir_unix.ignore
61+ )
62+ else()
63+ set(ignare_files) # rely on default ignore list
64+ endif()
65
66 add_custom_command(
67 OUTPUT
68@@ -28,8 +34,7 @@ function(generate_cppgir target_name gir)
69 --class
70 --class-full
71 --expected
72- --only-changed
73- --ignore
74+ "$<$<BOOL:${ignore_files}>:--ignore>"
75 "$<JOIN:${ignore_files},:>"
76 --output
77 ${gen_dst}
78
79base-commit: 268e9a0330d65ea53c2cfd6aafe9b94f70793cbf
80--
812.54.0
82