mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 14:16:55 -05:00
96 lines
3 KiB
Diff
96 lines
3 KiB
Diff
|
From a5c42e07ae223d440ff11347e0cf1fd58fd383df Mon Sep 17 00:00:00 2001
|
||
|
From: Nicholas Guriev <nicholas@guriev.su>
|
||
|
Date: Sat, 26 Aug 2023 18:23:53 +0300
|
||
|
Subject: [PATCH 1/2] Look for system-wide cppgir before fallback to the
|
||
|
bundled copy
|
||
|
|
||
|
Closes: #282
|
||
|
---
|
||
|
external/glib/CMakeLists.txt | 4 +++-
|
||
|
external/glib/generate_cppgir.cmake | 7 ++++++-
|
||
|
2 files changed, 9 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt
|
||
|
index 3c6fe4be..c862705f 100644
|
||
|
--- a/external/glib/CMakeLists.txt
|
||
|
+++ b/external/glib/CMakeLists.txt
|
||
|
@@ -13,9 +13,11 @@ function(add_cppgir) # isolate scope
|
||
|
set(BUILD_EXAMPLES OFF)
|
||
|
add_subdirectory(cppgir EXCLUDE_FROM_ALL)
|
||
|
endfunction()
|
||
|
-add_cppgir()
|
||
|
|
||
|
include(generate_cppgir.cmake)
|
||
|
+if (NOT CppGir_FOUND)
|
||
|
+ add_cppgir()
|
||
|
+endif()
|
||
|
generate_cppgir(external_glib Gio-2.0)
|
||
|
|
||
|
find_package(PkgConfig REQUIRED)
|
||
|
diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake
|
||
|
index c15d3f9e..9b0a5ac8 100644
|
||
|
--- a/external/glib/generate_cppgir.cmake
|
||
|
+++ b/external/glib/generate_cppgir.cmake
|
||
|
@@ -4,6 +4,8 @@
|
||
|
# For license and copyright information please follow this link:
|
||
|
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||
|
|
||
|
+find_package(CppGir 2.0)
|
||
|
+
|
||
|
function(generate_cppgir target_name gir)
|
||
|
set(cppgir_loc ${cmake_helpers_loc}/external/glib/cppgir)
|
||
|
|
||
|
@@ -17,6 +19,9 @@ function(generate_cppgir target_name gir)
|
||
|
${cppgir_loc}/data/cppgir.ignore
|
||
|
${cppgir_loc}/data/cppgir_unix.ignore
|
||
|
)
|
||
|
+ if (CppGir_FOUND)
|
||
|
+ set(ignore_files) # rely on default ignore list
|
||
|
+ endif()
|
||
|
|
||
|
set(gir_path)
|
||
|
if (IS_ABSOLUTE "${gir}")
|
||
|
@@ -33,7 +38,7 @@ function(generate_cppgir target_name gir)
|
||
|
--class
|
||
|
--class-full
|
||
|
--expected
|
||
|
- --ignore
|
||
|
+ "$<$<BOOL:${ignore_files}>:--ignore>"
|
||
|
"$<JOIN:${ignore_files},:>"
|
||
|
--output
|
||
|
${gen_dst}
|
||
|
|
||
|
From eed39522952c15f448c54290454806dd011c4996 Mon Sep 17 00:00:00 2001
|
||
|
From: Nicholas Guriev <nicholas@guriev.su>
|
||
|
Date: Sat, 26 Aug 2023 18:23:53 +0300
|
||
|
Subject: [PATCH 2/2] Look for system-wide cppgir before fallback to the
|
||
|
bundled copy
|
||
|
|
||
|
Closes: #282
|
||
|
---
|
||
|
external/glib/generate_cppgir.cmake | 11 ++++++-----
|
||
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake
|
||
|
index 9b0a5ac8..2ad82277 100644
|
||
|
--- a/external/glib/generate_cppgir.cmake
|
||
|
+++ b/external/glib/generate_cppgir.cmake
|
||
|
@@ -15,11 +15,12 @@ function(generate_cppgir target_name gir)
|
||
|
|
||
|
set(gen_timestamp ${gen_dst}/${target_name}_cppgir.timestamp)
|
||
|
|
||
|
- set(ignore_files
|
||
|
- ${cppgir_loc}/data/cppgir.ignore
|
||
|
- ${cppgir_loc}/data/cppgir_unix.ignore
|
||
|
- )
|
||
|
- if (CppGir_FOUND)
|
||
|
+ if (NOT CppGir_FOUND)
|
||
|
+ set(ignore_files
|
||
|
+ ${cppgir_loc}/data/cppgir.ignore
|
||
|
+ ${cppgir_loc}/data/cppgir_unix.ignore
|
||
|
+ )
|
||
|
+ else()
|
||
|
set(ignore_files) # rely on default ignore list
|
||
|
endif()
|
||
|
|