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
|
Description: Prefer packaged cppgir
Author: Nicholas Guriev <guriev-ns@ya.ru>
Forwarded: https://github.com/desktop-app/cmake_helpers/pull/305
Last-Update: Mon, 08 Jan 2024 11:16:02 +0300
--- a/cmake/external/glib/CMakeLists.txt
+++ b/cmake/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)
--- a/cmake/external/glib/generate_cppgir.cmake
+++ b/cmake/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}
|