diff --git a/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake new file mode 100644 index 00000000..4d9d5d69 --- /dev/null +++ b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +# Qt custom per-port customizations diff --git a/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake new file mode 100644 index 00000000..fba6a00a --- /dev/null +++ b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake @@ -0,0 +1,15 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +# Qt custom per-port customizations +if(PORT MATCHES "openssl") + set(VCPKG_CRT_LINKAGE dynamic) + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() + +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON) diff --git a/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake new file mode 100644 index 00000000..856b756e --- /dev/null +++ b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +# Qt custom per-port customizations diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 845e9e14..02ecbf65 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -50,6 +50,9 @@ function Install($1, $2, $3, $4) { Write-Host "Installing Android NDK $ndkVersionDefault" Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault +# To be used by vcpkg +Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault +$env:ANDROID_NDK_HOME = "$ndkFolderDefault" if (Test-Path -Path $ndkFolderLatest) { Write-Host "Android Latest version is the same than Default. NDK installation done." diff --git a/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 new file mode 100644 index 00000000..646f36cd --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 @@ -0,0 +1,23 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +. "$PSScriptRoot\helpers.ps1" + +Write-Host "Installing vcpkg android ports" +$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe" +$vcpkgRoot = "$env:VCPKG_ROOT" + +Set-Location -Path "$PSScriptRoot\vcpkg" +Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg" + +Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root armeabi-v7a-android-qt-tmp --debug" + +New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force +Copy-Item -Path "armeabi-v7a-android-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force + +$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) for android = \(.version)\"' vcpkg.json +$versions = $versions.Replace("vcpkg", "`nvcpkg") +Write-Output "$versions" >> ~/versions.txt + +Remove-Item -Path "armeabi-v7a-android-qt-tmp" -Recurse -Force + +Set-Location "$PSScriptRoot" diff --git a/coin/provisioning/common/windows/install-vcpkg-ports.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports.ps1 new file mode 100644 index 00000000..55eae4be --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg-ports.ps1 @@ -0,0 +1,26 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +. "$PSScriptRoot\helpers.ps1" + +Write-Host "Installing vcpkg ports" +$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe" +$vcpkgRoot = "$env:VCPKG_ROOT" + +Set-Location -Path "$PSScriptRoot\vcpkg" +Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg" + +Run-Executable "$vcpkgExe" "install --triplet x64-windows-qt --x-install-root x64-windows-qt-tmp --debug" +Run-Executable "$vcpkgExe" "install --triplet arm64-windows-qt --x-install-root arm64-windows-qt-tmp --debug" + +New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force +Copy-Item -Path "x64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force +Copy-Item -Path "arm64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force + +$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) = \(.version)\"' vcpkg.json +$versions = $versions.Replace("vcpkg", "`nvcpkg") +Write-Output "$versions" >> ~/versions.txt + +Remove-Item -Path "x64-windows-qt-tmp" -Recurse -Force +Remove-Item -Path "arm64-windows-qt-tmp" -Recurse -Force + +Set-Location "$PSScriptRoot" diff --git a/coin/provisioning/common/windows/vcpkg/vcpkg.json b/coin/provisioning/common/windows/vcpkg/vcpkg.json index 0db3279e..70cb16fb 100644 --- a/coin/provisioning/common/windows/vcpkg/vcpkg.json +++ b/coin/provisioning/common/windows/vcpkg/vcpkg.json @@ -1,3 +1,12 @@ { - + "overrides": [ + { + "name": "openssl", + "version": "3.0.7", + "port-version": 2 + } + ], + "dependencies": [ + "openssl" + ] } diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..9d5a693e --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1,3 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" + +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports-android.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"