cmake: Fix using pkgconf for Windows cross builds

pkgconf has its own default logic on Windows for setting up a prefix,
which does not match the default behaviour of pkg-config (blindly
respecting modules' ${prefix} variable).

See
dcf529b83d

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8768>
This commit is contained in:
L. E. Segovia 2025-04-03 09:13:31 -03:00 committed by GStreamer Marge Bot
parent 8453993afc
commit 0d7ea661cf

View File

@ -90,6 +90,8 @@ endif()
# Set the environment for pkg-config
if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(ENV{PKG_CONFIG_PATH} "${GStreamer_ROOT_DIR}/lib/pkgconfig;${GStreamer_ROOT_DIR}/lib/gstreamer-1.0/pkgconfig;${GStreamer_ROOT_DIR}/lib/gio/modules/pkgconfig")
# Block pkgconf's forced relocation for non-lib/pkgconfig modules on Windows -- https://github.com/pkgconf/pkgconf/commit/dcf529b83d621ed09e99e41fc35fdffd068bd87a
set(ENV{PKG_CONFIG_DONT_DEFINE_PREFIX} 1)
else()
set(ENV{PKG_CONFIG_PATH} "${GStreamer_ROOT_DIR}/lib/pkgconfig:${GStreamer_ROOT_DIR}/lib/gstreamer-1.0/pkgconfig:${GStreamer_ROOT_DIR}/lib/gio/modules/pkgconfig")
endif()