Fix the bug that causes Error : A parameter cannot be found that matches parameter...
authorHiroshi Inoue <h-inoue@dream.email.ne.jp>
Sat, 30 Nov 2019 11:16:28 +0000 (20:16 +0900)
committerHiroshi Inoue <h-inoue@dream.email.ne.jp>
Mon, 16 Dec 2019 11:47:12 +0000 (20:47 +0900)
1. Check BuildResult(the result of drivers build) before building installers.
2. Enclose the command part * Find_VSDir $vc_ver * with parentheses so that
the subsequent * -ne "" * isn't considered to be a parameter.

installer/buildInstallers.ps1
winbuild/BuildAll.ps1
winbuild/Psqlodbc-config.psm1

index 528f7012bde604457b21b3bc95980a371b253c06..d19067315921efb732924b4088b4adcad902aef2 100644 (file)
@@ -75,7 +75,7 @@ function runtimeversion_to_toolset_no([int]$runtime_version)
        [int]$vc_ver = 15
        if ((env_vcversion_no) -eq $vc_ver) {   # v141
            $toolseto++
-       } elseif (Find-VSDir $vc_ver -ne "") {  # v141
+       } elseif ((Find-VSDir $vc_ver) -ne "") {    # v141
            $toolset_no++
        }
    }
@@ -335,6 +335,12 @@ if ($AlongWithDrivers) {
 
 Import-Module ${scriptPath}\..\winbuild\MSProgram-Get.psm1
 try {
+   if ($configInfo.Configuration.BuildResult.Date -eq "") {
+       Write-Host "!! Driver dlls haven't been built yet !!"
+       Write-Host "!! Please build driver dlls first !!"
+       return
+   }
+
    $dumpbinexe = Find-Dumpbin
 
    $wRedist=$false
index b56801702604c6e68823116df4d18a45b9436305..fd27ddb347490f5988f1de3b7f381c673d3710f2 100755 (executable)
@@ -125,6 +125,14 @@ try {
 }
 
 $recordResult = $true
+if ($Target -ne "info") {
+   $configInfo.Configuration.BuildResult.Date=""
+   $configInfo.Configuration.BuildResult.VisualStudioVersion=""
+   $configInfo.Configuration.BuildResult.PlatformToolset=""
+   $configInfo.Configuration.BuildResult.ToolsVersion=""
+   $configInfo.Configuration.BuildResult.Platform=""
+}
+
 try {
 #
 #  build 32bit dlls
@@ -149,15 +157,17 @@ try {
 #
    $resultText="successful"
    if ($recordResult) {
-       $configInfo.Configuration.BuildResult.Date=[string](Get-Date)
-       $configInfo.Configuration.BuildResult.VisualStudioVersion=$VCVersion
-       $configInfo.Configuration.BuildResult.PlatformToolset=$Toolset
-       $configInfo.Configuration.BuildResult.ToolsVersion=$MSToolsVersion
-       $configInfo.Configuration.BuildResult.Platform=$Platform
-       SaveConfiguration $configInfo
+       if ($Target -ne "Clean") {
+           $configInfo.Configuration.BuildResult.Date=[string](Get-Date)
+           $configInfo.Configuration.BuildResult.VisualStudioVersion=$VCVersion
+           $configInfo.Configuration.BuildResult.PlatformToolset=$Toolset
+           $configInfo.Configuration.BuildResult.ToolsVersion=$MSToolsVersion
+           $configInfo.Configuration.BuildResult.Platform=$Platform
+       }
    } else {
        $resultText="failed"
    } 
+   SaveConfiguration $configInfo
    Write-Host "ToolsVersion=$MSToolsVersion VisualStudioVersion=$VCVersion PlatformToolset=$Toolset Platform=$Platform $resultText`n"
 #
 #  build installers as well
index 0819cc7d7f73e2451bfb794cc6342957f7a5a1ec..c6d8e0c9b00a68c4248320653fde6aea5d120064 100755 (executable)
@@ -4,7 +4,7 @@ $configurationTemplatePath=""
 function InitConfiguration([string]$savePath)
 {
    $configInfo = [xml](Get-Content $configurationTemplatePath)
-   if ($env:PROCESSOR_ARCHITECTURE -eq "x86")
+   if ($env:PROCESSOR_ARCHITECTURE -ieq "x86")
    {
        $x64info = $configInfo.Configuration.x64
        $x64info.libpq.include = ""
@@ -121,13 +121,13 @@ function getPGDir([xml]$configInfo, [string]$Platform, [string]$kind)
        return $result
    }
    if ($Platform -ieq "x64") {
-       if ($env:PROCESSOR_ARCHITECTURE -eq "x86") {
+       if ($env:PROCESSOR_ARCHITECTURE -ieq "x86") {
            $pgmfs = $env:ProgramW6432
        } else {
            $pgmfs = $env:ProgramFiles
        }
    } else {
-       if ($env:PROCESSOR_ARCHITECTURE -eq "x86") {
+       if ($env:PROCESSOR_ARCHITECTURE -ieq "x86") {
            $pgmfs = $env:ProgramFiles
        } else {
            $pgmfs = ${env:ProgramFiles(x86)}