blob: c00082a2cef7f729db487f0848f63613bb409c3c [file] [log] [blame]
From d84f4fd68441e934b37be2a6917abad52c5d1bda Mon Sep 17 00:00:00 2001
From: Piotr Tworek <tworaz@tworaz.net>
Date: Fri, 16 Aug 2019 21:22:16 +0200
Subject: [PATCH 7/7] Modify gobject-intrispection support to work with OE.
1. Use tools provided by the recipe sysroot instread of host ones.
2. Make sure all the required dirs make it into g-ir-scanner via
LDFLAGS.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
---
cmake/modules/GObjectIntrospection.cmake | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake
index 5be5042..67c035a 100644
--- a/cmake/modules/GObjectIntrospection.cmake
+++ b/cmake/modules/GObjectIntrospection.cmake
@@ -20,6 +20,9 @@ if(ENABLE_INTROSPECTION)
pkg_check_variable(G_IR_SCANNER gobject-introspection-1.0 g_ir_scanner)
pkg_check_variable(G_IR_COMPILER gobject-introspection-1.0 g_ir_compiler)
+ string(CONCAT G_IR_SCANNER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_SCANNER}")
+ string(CONCAT G_IR_COMPILER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_COMPILER}")
+
if(NOT G_IR_SCANNER)
message(FATAL_ERROR "g-ir-scanner not provided by gobject-introspection-1.0, you can disable GObject introspection by -DENABLE_INTROSPECTION=OFF")
endif(NOT G_IR_SCANNER)
@@ -116,7 +119,7 @@ macro(gir_add_introspection gir)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_gir_name}_files "${_gir_files}")
add_custom_command(
- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=
+ COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=${INTROSPECTION_SCANNER_LDFLAGS}
${INTROSPECTION_SCANNER_ENV}
${G_IR_SCANNER}
${INTROSPECTION_SCANNER_ARGS}
@@ -186,6 +189,7 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
unset(INTROSPECTION_SCANNER_ARGS)
unset(INTROSPECTION_SCANNER_ENV)
unset(INTROSPECTION_COMPILER_ARGS)
+ unset(INTROSPECTION_SCANNER_LDFLAGS)
set(${gir_vars_prefix} ${gir_library})
set(${gir_vars_prefix}_SCANNERFLAGS "--warn-all")
@@ -223,12 +227,12 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
--add-include-path=${CMAKE_CURRENT_SOURCE_DIR}
--library-path=${CMAKE_BINARY_DIR}
--library-path=${CMAKE_BINARY_DIR}/src
+ --library-path=${CMAKE_BINARY_DIR}/src/private
--library-path=${CMAKE_CURRENT_BINARY_DIR}
${_gir_extra_libdirs}
${_gir_identifies_prefixes}
${_gir_deps}
--add-include-path=${SHARE_INSTALL_PREFIX}/gir-1.0
- --library-path=${LIB_INSTALL_DIR}
${_extra_library_path}
--pkg-export ${pkg_export_prefix}-${gir_library_version}
--c-include=${c_include}
@@ -279,6 +283,10 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
)
endif(UNIX)
+ _gir_list_prefix(_gir_scanner_ldflags ${gir_extra_libdirs_var} "-Wl,-rpath-link=")
+ string(REPLACE ";" " " _gir_scanner_ldflags "${_gir_scanner_ldflags}")
+ set(INTROSPECTION_SCANNER_LDFLAGS "${_gir_scanner_ldflags}")
+
set(INTROSPECTION_SCANNER_ENV
${_loader_library_path_var}="${_extra_loader_library_path_native}"
)
--
2.21.0