Skip to content

Commit

Permalink
fix: Update pkg-config configuration for Windows build
Browse files Browse the repository at this point in the history
  • Loading branch information
silviot committed Dec 8, 2024
1 parent e668056 commit d2a076c
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 17 deletions.
44 changes: 28 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -259,33 +259,45 @@ jobs:
- name: Configure pkg-config paths
run: |
$installPrefix = "$env:VCPKG_ROOT\installed\$env:VCPKG_TRIPLET"
# Set up pkg-config environment
$env:PKG_CONFIG = "$installPrefix\tools\pkgconf\pkg-config.bat"
$env:PKG_CONFIG_PATH = "$installPrefix\lib\pkgconfig"
$env:PKG_CONFIG_LIBDIR = "$installPrefix\lib\pkgconfig"
$env:SYSTEM_DEPS_GOBJECT_2_0_NO_PKG_CONFIG = "1"
$env:SYSTEM_DEPS_GOBJECT_2_0_LIB = "gobject-2.0"
$env:SYSTEM_DEPS_GOBJECT_2_0_LIB_DIR = "$installPrefix\lib"
$env:SYSTEM_DEPS_GOBJECT_2_0_INCLUDE_DIR = "$installPrefix\include\glib-2.0"
$env:PKG_CONFIG_ALLOW_CROSS = "1"
$env:PKG_CONFIG_ALLOW_SYSTEM_CFLAGS = "1"
$env:PKG_CONFIG_ALLOW_SYSTEM_LIBS = "1"
# Add GTK4 specific environment variables
$env:GTK_INSTALL_PREFIX = "$installPrefix"
$env:GTK_LIBDIR = "$installPrefix\lib"
$env:GTK_INCLUDEDIR = "$installPrefix\include"
# Add required paths to system PATH
$env:Path = "$installPrefix\bin;$installPrefix\tools\pkgconf;$env:Path"
# Export variables to GITHUB_ENV
"PKG_CONFIG=$env:PKG_CONFIG" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"PKG_CONFIG_PATH=$env:PKG_CONFIG_PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"PKG_CONFIG_LIBDIR=$env:PKG_CONFIG_LIBDIR" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"PKG_CONFIG_ALLOW_CROSS=1" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"PKG_CONFIG_ALLOW_SYSTEM_LIBS=1" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
@(
"PKG_CONFIG=$env:PKG_CONFIG",
"PKG_CONFIG_PATH=$env:PKG_CONFIG_PATH",
"PKG_CONFIG_LIBDIR=$env:PKG_CONFIG_LIBDIR",
"PKG_CONFIG_ALLOW_CROSS=1",
"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1",
"PKG_CONFIG_ALLOW_SYSTEM_LIBS=1",
"GTK_INSTALL_PREFIX=$env:GTK_INSTALL_PREFIX",
"GTK_LIBDIR=$env:GTK_LIBDIR",
"GTK_INCLUDEDIR=$env:GTK_INCLUDEDIR"
) | ForEach-Object {
$_ | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
}
# Add to PATH for subsequent steps
"$installPrefix\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
"$installPrefix\tools\pkgconf" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
@(
"$installPrefix\bin",
"$installPrefix\tools\pkgconf"
) | ForEach-Object {
$_ | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
}
shell: pwsh

- name: Verify pkg-config setup
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/install_vcpkg.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,16 @@ $wrapperContent = @"
#!/usr/bin/env pwsh
`$env:PKG_CONFIG_PATH = `$env:PKG_CONFIG_PATH -replace ';',':'
`$env:PKG_CONFIG_LIBDIR = `$env:PKG_CONFIG_LIBDIR -replace ';',':'
`$env:PKG_CONFIG_PATH = "`$env:VCPKG_ROOT\installed\`$env:VCPKG_TRIPLET\lib\pkgconfig"
`$env:PKG_CONFIG_LIBDIR = "`$env:VCPKG_ROOT\installed\`$env:VCPKG_TRIPLET\lib\pkgconfig"
& '$pkgConfigPath' @args
"@

$batchContent = @"
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ""%~dp0pkg-config.ps1"" %*
set PKG_CONFIG_PATH=%VCPKG_ROOT%\installed\%VCPKG_TRIPLET%\lib\pkgconfig
set PKG_CONFIG_LIBDIR=%VCPKG_ROOT%\installed\%VCPKG_TRIPLET%\lib\pkgconfig
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "%~dp0pkg-config.ps1" %*
"@

$wrapperPath = "$env:VCPKG_ROOT\installed\$env:VCPKG_TRIPLET\tools\pkgconf\pkg-config.ps1"
Expand Down

0 comments on commit d2a076c

Please sign in to comment.