| param ([string]$BasePath = ".\") |
| |
| $Host.SetShouldExit(111) # Set non-zero return code until task successfully finished |
| $ErrorActionPreference = "Stop" # Stop on any error |
| |
| Remove-Variable MHD_ver,MHD_ver_major,MHD_ver_minor,MHD_ver_patchlev -ErrorAction:SilentlyContinue |
| |
| Write-Output "Processing: ${BasePath}..\..\configure.ac" |
| foreach($line in Get-Content "${BasePath}..\..\configure.ac") |
| { |
| if ($line -match '^AC_INIT\(\[libmicrohttpd\],\[((\d+).(\d+).(\d+))\]') |
| { |
| [string]$MHD_ver = $Matches[1].ToString() |
| [string]$MHD_ver_major = $Matches[2].ToString() |
| [string]$MHD_ver_minor = $Matches[3].ToString() |
| [string]$MHD_ver_patchlev = $Matches[4].ToString() |
| break |
| } |
| } |
| if ("$MHD_ver" -eq "" -or "$MHD_ver_major" -eq "" -or "$MHD_ver_minor" -eq "" -or "$MHD_ver_patchlev" -eq "") |
| { |
| Throw "Can't find MHD version in ${BasePath}..\..\configure.ac" |
| } |
| |
| Write-Output "Detected MHD version: $MHD_ver" |
| |
| Write-Output "Generating ${BasePath}microhttpd_dll_res_vc.rc" |
| Get-Content "${BasePath}microhttpd_dll_res_vc.rc.in" | ForEach-Object { |
| $_ -replace '@PACKAGE_VERSION_MAJOR@',"$MHD_ver_major" ` |
| -replace '@PACKAGE_VERSION_MINOR@', "$MHD_ver_minor" ` |
| -replace '@PACKAGE_VERSION_SUBMINOR@', "$MHD_ver_patchlev" ` |
| -replace '@PACKAGE_VERSION@', "$MHD_ver" |
| } | Out-File -FilePath "${BasePath}microhttpd_dll_res_vc.rc" -Force |
| |
| $Host.SetShouldExit(0) # Reset return code |
| |
| Write-Output "${BasePath}microhttpd_dll_res_vc.rc was generated " |
| exit 0 # Exit with success code |