Upstream-status: https://github.com/desktop-app/cmake_helpers/pull/305 From fa47432aeccb2cf657a79f8e1a3af1ef0663b4c6 Mon Sep 17 00:00:00 2001 From: dan Date: Sun, 12 Oct 2025 18:45:40 +0800 Subject: [PATCH] Look for system-wide cppgir before fallback to the bundled copy. --- external/glib/CMakeLists.txt | 7 ++++--- external/glib/generate_cppgir.cmake | 16 +++++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt index 9b80f23..1a2e9b7 100644 --- a/external/glib/CMakeLists.txt +++ b/external/glib/CMakeLists.txt @@ -21,14 +21,15 @@ INTERFACE GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 ) -block() +include(generate_cppgir.cmake) + +if (NOT CppGir_FOUND) set(BUILD_TESTING OFF) set(BUILD_DOC OFF) set(BUILD_EXAMPLES OFF) add_subdirectory(cppgir EXCLUDE_FROM_ALL) -endblock() +endif() -include(generate_cppgir.cmake) if (DESKTOP_APP_GLIB2_gio-unix-2.0_VERSION VERSION_GREATER_EQUAL 2.86) generate_cppgir(external_glib GioUnix-2.0) diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake index c4475c6..012fd52 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) @@ -13,10 +15,14 @@ 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 (NOT CppGir_FOUND) + set(ignore_files + ${cppgir_loc}/data/cppgir.ignore + ${cppgir_loc}/data/cppgir_unix.ignore + ) + else() + set(ignare_files) # rely on default ignore list + endif() add_custom_command( OUTPUT @@ -28,7 +34,7 @@ function(generate_cppgir target_name gir) --class --class-full --expected - --ignore + "$<$:--ignore>" "$" --output ${gen_dst} base-commit: c7e0493dea2b870fb1b8e26604201fdb9e8c1ee5 -- 2.49.0