Lines Matching +full:dll +full:- +full:config
1 # Copyright (c) 2021-2022 Yubico AB. All rights reserved.
2 # Use of this source code is governed by a BSD-style
4 # SPDX-License-Identifier: BSD-2-Clause
9 [string]$SevenZPath = "C:\Program Files\7-Zip\7z.exe",
12 [string]$Config = "Release",
24 if ($LastExitCode -ne 0) {
30 Write-Host "Cloning ${REPO}..."
31 & $Git -c advice.detachedHead=false clone --quiet --depth=1 `
32 --branch "${BRANCH}" "${REPO}" "${DIR}"
33 Write-Host "${REPO}'s ${BRANCH} HEAD is:"
34 & $Git -C "${DIR}" show -s HEAD
38 $Git = $(Get-Command git -ErrorAction Ignore | `
39 Select-Object -ExpandProperty Source)
43 if (-Not (Test-Path $Git)) {
48 $CMake = $(Get-Command cmake -ErrorAction Ignore | `
49 Select-Object -ExpandProperty Source)
53 if (-Not (Test-Path $CMake)) {
58 $SevenZ = $(Get-Command 7z -ErrorAction Ignore | `
59 Select-Object -ExpandProperty Source)
63 if (-Not (Test-Path $SevenZ)) {
68 $GPG = $(Get-Command gpg -ErrorAction Ignore | `
69 Select-Object -ExpandProperty Source)
73 if (-Not (Test-Path $GPG)) {
78 if (-Not ([string]::IsNullOrEmpty($WinSDK))) {
79 $CMAKE_SYSTEM_VERSION = "-DCMAKE_SYSTEM_VERSION='$WinSDK'"
84 Write-Host "WinSDK: $WinSDK"
85 Write-Host "Config: $Config"
86 Write-Host "Arch: $Arch"
87 Write-Host "Type: $Type"
88 Write-Host "Git: $Git"
89 Write-Host "CMake: $CMake"
90 Write-Host "7z: $SevenZ"
91 Write-Host "GPG: $GPG"
94 New-Item -Type Directory "${BUILD}" -Force
95 New-Item -Type Directory "${BUILD}\${Arch}" -Force
96 New-Item -Type Directory "${BUILD}\${Arch}\${Type}" -Force
97 New-Item -Type Directory "${STAGE}\${LIBRESSL}" -Force
98 New-Item -Type Directory "${STAGE}\${LIBCBOR}" -Force
99 New-Item -Type Directory "${STAGE}\${ZLIB}" -Force
102 New-Item -Type Directory "${OUTPUT}" -Force
103 New-Item -Type Directory "${OUTPUT}\${Arch}" -Force
104 New-Item -Type Directory "${OUTPUT}\${Arch}\${Type}" -force
107 Push-Location ${BUILD}
109 if (-Not (Test-Path .\${LIBRESSL})) {
110 if (-Not (Test-Path .\${LIBRESSL}.tar.gz -PathType leaf)) {
111 Invoke-WebRequest ${LIBRESSL_URL}/${LIBRESSL}.tar.gz `
112 -OutFile .\${LIBRESSL}.tar.gz
114 if (-Not (Test-Path .\${LIBRESSL}.tar.gz.asc -PathType leaf)) {
115 Invoke-WebRequest ${LIBRESSL_URL}/${LIBRESSL}.tar.gz.asc `
116 -OutFile .\${LIBRESSL}.tar.gz.asc
119 Copy-Item "$PSScriptRoot\libressl.gpg" -Destination "${BUILD}"
120 & $GPG --list-keys
121 & $GPG --quiet --no-default-keyring --keyring ./libressl.gpg `
122 --verify .\${LIBRESSL}.tar.gz.asc .\${LIBRESSL}.tar.gz
123 if ($LastExitCode -ne 0) {
128 Remove-Item -Force .\${LIBRESSL}.tar
130 if (-Not (Test-Path .\${LIBCBOR})) {
133 if (-Not (Test-Path .\${ZLIB})) {
139 Pop-Location
143 Push-Location ${STAGE}\${LIBRESSL}
145 & $CMake ..\..\..\${LIBRESSL} -A "${Arch}" `
146 -DBUILD_SHARED_LIBS="${SHARED}" -DLIBRESSL_TESTS=OFF `
147 -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG}" `
148 -DCMAKE_C_FLAGS_RELEASE="${CFLAGS_RELEASE}" `
149 -DCMAKE_INSTALL_PREFIX="${PREFIX}" "${CMAKE_SYSTEM_VERSION}"; `
151 & $CMake --build . --config ${Config} --verbose; ExitOnError
152 & $CMake --build . --config ${Config} --target install --verbose; `
157 Pop-Location
161 Push-Location ${STAGE}\${LIBCBOR}
163 & $CMake ..\..\..\${LIBCBOR} -A "${Arch}" `
164 -DWITH_EXAMPLES=OFF `
165 -DBUILD_SHARED_LIBS="${SHARED}" `
166 -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG} /wd4703" `
167 -DCMAKE_C_FLAGS_RELEASE="${CFLAGS_RELEASE} /wd4703" `
168 -DCMAKE_INSTALL_PREFIX="${PREFIX}" "${CMAKE_SYSTEM_VERSION}"; `
170 & $CMake --build . --config ${Config} --verbose; ExitOnError
171 & $CMake --build . --config ${Config} --target install --verbose; `
176 Pop-Location
180 Push-Location ${STAGE}\${ZLIB}
182 & $CMake ..\..\..\${ZLIB} -A "${Arch}" `
183 -DBUILD_SHARED_LIBS="${SHARED}" `
184 -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG}" `
185 -DCMAKE_C_FLAGS_RELEASE="${CFLAGS_RELEASE}" `
186 -DCMAKE_MSVC_RUNTIME_LIBRARY="${CMAKE_MSVC_RUNTIME_LIBRARY}" `
187 -DCMAKE_INSTALL_PREFIX="${PREFIX}" "${CMAKE_SYSTEM_VERSION}"; `
189 & $CMake --build . --config ${Config} --verbose; ExitOnError
190 & $CMake --build . --config ${Config} --target install --verbose; `
193 if ("${Type}" -eq "Dynamic") {
194 ((Get-ChildItem -Path "${PREFIX}/lib") -Match "zlib[d]?.lib") |
195 Copy-Item -Destination "${PREFIX}/lib/zlib1.lib" -Force
196 ((Get-ChildItem -Path "${PREFIX}/bin") -Match "zlibd1.dll") |
197 Copy-Item -Destination "${PREFIX}/bin/zlib1.dll" -Force
199 ((Get-ChildItem -Path "${PREFIX}/lib") -Match "zlibstatic[d]?.lib") |
200 Copy-item -Destination "${PREFIX}/lib/zlib1.lib" -Force
205 Pop-Location
209 Push-Location ${STAGE}
211 & $CMake ..\..\.. -A "${Arch}" `
212 -DCMAKE_BUILD_TYPE="${Config}" `
213 -DBUILD_SHARED_LIBS="${SHARED}" `
214 -DCBOR_INCLUDE_DIRS="${PREFIX}\include" `
215 -DCBOR_LIBRARY_DIRS="${PREFIX}\lib" `
216 -DCBOR_BIN_DIRS="${PREFIX}\bin" `
217 -DZLIB_INCLUDE_DIRS="${PREFIX}\include" `
218 -DZLIB_LIBRARY_DIRS="${PREFIX}\lib" `
219 -DZLIB_BIN_DIRS="${PREFIX}\bin" `
220 -DCRYPTO_INCLUDE_DIRS="${PREFIX}\include" `
221 -DCRYPTO_LIBRARY_DIRS="${PREFIX}\lib" `
222 -DCRYPTO_BIN_DIRS="${PREFIX}\bin" `
223 -DCRYPTO_LIBRARIES="${CRYPTO_LIBRARIES}" `
224 -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG} ${Fido2Flags}" `
225 -DCMAKE_C_FLAGS_RELEASE="${CFLAGS_RELEASE} ${Fido2Flags}" `
226 -DCMAKE_INSTALL_PREFIX="${PREFIX}" "${CMAKE_SYSTEM_VERSION}"; `
228 & $CMake --build . --config ${Config} --verbose; ExitOnError
229 & $CMake --build . --config ${Config} --target regress --verbose; `
231 & $CMake --build . --config ${Config} --target install --verbose; `
234 if ("${SHARED}" -eq "ON") {
235 "cbor.dll", "${CRYPTO_LIBRARIES}.dll", "zlib1.dll" | `
236 %{ Copy-Item "${PREFIX}\bin\$_" `
237 -Destination "examples\${Config}" }
242 Pop-Location