opc source code
This commit is contained in:
147
third_party/open62541/tools/azure-devops/win/build.ps1
vendored
Normal file
147
third_party/open62541/tools/azure-devops/win/build.ps1
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
Write-Host -ForegroundColor Green "`n## Build Path $env:Build_Repository_LocalPath #####`n"
|
||||
|
||||
$build_encryption = "MBEDTLS"
|
||||
|
||||
if ($env:CC_SHORTNAME -eq "vs2008" -or $env:CC_SHORTNAME -eq "vs2013") {
|
||||
# on VS2008 mbedtls can not be built since it includes stdint.h which is not available there
|
||||
$build_encryption = "OFF"
|
||||
Write-Host -ForegroundColor Green "`n## Building without encryption on VS2008 or VS2013 #####`n"
|
||||
}
|
||||
|
||||
if ($env:CC_SHORTNAME -eq "mingw" -or $env:CC_SHORTNAME -eq "clang-mingw") {
|
||||
# Workaround for CMake not wanting sh.exe on PATH for MinGW (necessary for CMake 3.12.2)
|
||||
$env:PATH = ($env:PATH.Split(';') | Where-Object { $_ -ne 'C:\Program Files\Git\bin' }) -join ';'
|
||||
$env:PATH = ($env:PATH.Split(';') | Where-Object { $_ -ne 'C:\Program Files\Git\usr\bin' }) -join ';'
|
||||
# Add mingw to path so that CMake finds e.g. clang
|
||||
$env:PATH = "$env:MSYS2_ROOT\mingw64\bin;$env:PATH"
|
||||
[System.Environment]::SetEnvironmentVariable('Path', $path, 'Machine')
|
||||
}
|
||||
|
||||
$vcpkg_toolchain = ""
|
||||
$vcpkg_triplet = ""
|
||||
|
||||
if ($env:CC_SHORTNAME -eq "mingw") {
|
||||
|
||||
} elseif ($env:CC_SHORTNAME -eq "clang-mingw") {
|
||||
# Setup clang
|
||||
$env:CC = "clang --target=x86_64-w64-mingw32"
|
||||
$env:CXX = "clang++ --target=x86_64-w64-mingw32"
|
||||
clang --version
|
||||
} else {
|
||||
$vcpkg_toolchain = '-DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"'
|
||||
$vcpkg_triplet = '-DVCPKG_TARGET_TRIPLET="x64-windows-static"'
|
||||
}
|
||||
|
||||
$cmake_cnf="$vcpkg_toolchain", "$vcpkg_triplet", "-G`"$env:GENERATOR`""
|
||||
|
||||
Write-Host -ForegroundColor Green "`n###################################################################"
|
||||
Write-Host -ForegroundColor Green "`n##### Testing $env:CC_NAME with unit tests #####`n"
|
||||
New-Item -ItemType directory -Path "build"
|
||||
cd build
|
||||
& cmake $cmake_cnf `
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF `
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DUA_BUILD_EXAMPLES=OFF `
|
||||
-DUA_BUILD_UNIT_TESTS=ON `
|
||||
-DUA_ENABLE_ALLOW_REUSEADDR=ON `
|
||||
-DUA_ENABLE_DA=ON `
|
||||
-DUA_ENABLE_DISCOVERY=ON `
|
||||
-DUA_ENABLE_ENCRYPTION:STRING=$build_encryption `
|
||||
-DUA_ENABLE_JSON_ENCODING:BOOL=ON `
|
||||
-DUA_ENABLE_PUBSUB:BOOL=ON `
|
||||
-DUA_ENABLE_PUBSUB_INFORMATIONMODEL:BOOL=ON `
|
||||
-DUA_ENABLE_PUBSUB_MONITORING:BOOL=ON `
|
||||
-DUA_FORCE_WERROR=ON `
|
||||
..
|
||||
& cmake --build .
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Make failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
& cmake --build . --target test-verbose -j 1
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Test failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
cd ..
|
||||
Remove-Item -Path build -Recurse -Force
|
||||
|
||||
Write-Host -ForegroundColor Green "`n###################################################################"
|
||||
Write-Host -ForegroundColor Green "`n##### Building $env:CC_NAME examples #####`n"
|
||||
New-Item -ItemType directory -Path "build"
|
||||
cd build
|
||||
& cmake $cmake_cnf `
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF `
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DUA_BUILD_EXAMPLES:BOOL=ON `
|
||||
-DUA_ENABLE_AMALGAMATION:BOOL=OFF `
|
||||
-DUA_FORCE_WERROR=ON `
|
||||
..
|
||||
& cmake --build .
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Make install failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
cd ..
|
||||
Remove-Item -Path build -Recurse -Force
|
||||
|
||||
Write-Host -ForegroundColor Green "`n###################################################################"
|
||||
Write-Host -ForegroundColor Green "`n##### Testing $env:CC_NAME with amalgamation #####`n"
|
||||
New-Item -ItemType directory -Path "build"
|
||||
cd build
|
||||
& cmake $cmake_cnf `
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF `
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DUA_BUILD_EXAMPLES:BOOL=OFF `
|
||||
-DUA_ENABLE_AMALGAMATION:BOOL=ON `
|
||||
-DUA_ENABLE_SUBSCRIPTIONS_EVENTS:BOOL=ON `
|
||||
-DUA_ENABLE_ENCRYPTION:STRING=$build_encryption `
|
||||
-DUA_FORCE_WERROR=ON `
|
||||
..
|
||||
& cmake --build .
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Make failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
cd ..
|
||||
Remove-Item -Path build -Recurse -Force
|
||||
|
||||
Write-Host -ForegroundColor Green "`n###################################################################"
|
||||
Write-Host -ForegroundColor Green "`n##### Testing $env:CC_NAME with full NS0 #####`n"
|
||||
New-Item -ItemType directory -Path "build"
|
||||
cd build
|
||||
& cmake $cmake_cnf `
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF `
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DUA_ENABLE_DA:BOOL=ON `
|
||||
-DUA_ENABLE_JSON_ENCODING:BOOL=ON `
|
||||
-DUA_ENABLE_PUBSUB:BOOL=ON `
|
||||
-DUA_ENABLE_PUBSUB_INFORMATIONMODEL:BOOL=ON `
|
||||
-DUA_ENABLE_SUBSCRIPTIONS_EVENTS:BOOL=ON `
|
||||
-DUA_FORCE_WERROR=ON `
|
||||
-DUA_NAMESPACE_ZERO:STRING=FULL `
|
||||
..
|
||||
& cmake --build .
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Make failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
cd ..
|
||||
Remove-Item -Path build -Recurse -Force
|
||||
|
||||
Write-Host -ForegroundColor Green "`n###################################################################"
|
||||
Write-Host -ForegroundColor Green "`n##### Testing $env:CC_NAME (.dll) #####`n"
|
||||
New-Item -ItemType directory -Path "build"
|
||||
cd build
|
||||
& cmake $cmake_cnf `
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON `
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DUA_FORCE_WERROR=ON `
|
||||
..
|
||||
& cmake --build .
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Make failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
cd ..
|
||||
Remove-Item -Path build -Recurse -Force
|
||||
41
third_party/open62541/tools/azure-devops/win/install.ps1
vendored
Normal file
41
third_party/open62541/tools/azure-devops/win/install.ps1
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
if ($env:CC_SHORTNAME -eq "mingw" -or $env:CC_SHORTNAME -eq "clang-mingw") {
|
||||
Write-Host -ForegroundColor Green "`n### Installing msys64 ###`n"
|
||||
& choco install -y msys2 --no-progress --params="/InstallDir:$env:MSYS2_ROOT /NoPath"
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Install failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
# pacman may complain that the directory does not exist, thus create it.
|
||||
# Se https://github.com/open62541/open62541/issues/2068
|
||||
& C:\msys64\usr\bin\mkdir -p /var/cache/pacman/pkg
|
||||
# Update all packages. Ensure that we have up-to-date clang version.
|
||||
# Otherwise we run into issue: https://github.com/msys2/MINGW-packages/issues/6576
|
||||
& C:\msys64\usr\bin\pacman -Syu
|
||||
|
||||
Write-Host -ForegroundColor Green "`n### Installing mbedtls via PacMan ###`n"
|
||||
& C:\msys64\usr\bin\pacman --noconfirm --needed -S mingw-w64-x86_64-mbedtls
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Install of mbedTLS failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
|
||||
& C:\msys64\usr\bin\pacman --noconfirm --needed -S mingw-w64-x86_64-check
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Install of check failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
} else {
|
||||
Write-Host -ForegroundColor Green "`n### Installing mbedtls via vcpkg ###`n"
|
||||
& vcpkg install mbedtls:x64-windows-static
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Install failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
|
||||
Write-Host -ForegroundColor Green "`n### Installing libcheck via vcpkg ###`n"
|
||||
& vcpkg install check:x64-windows-static
|
||||
if ($LASTEXITCODE -and $LASTEXITCODE -ne 0) {
|
||||
Write-Host -ForegroundColor Red "`n`n*** Install failed. Exiting ... ***"
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user