diff --git a/Dockerfiles/build-base/windows/CMakeLists.txt b/Dockerfiles/build-base/windows/CMakeLists.txt index 86afdc667..a2f881b0c 100644 --- a/Dockerfiles/build-base/windows/CMakeLists.txt +++ b/Dockerfiles/build-base/windows/CMakeLists.txt @@ -145,4 +145,4 @@ endif() install(FILES ${PUBLIC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -) \ No newline at end of file +) diff --git a/Dockerfiles/build-base/windows/Dockerfile.agent b/Dockerfiles/build-base/windows/Dockerfile.agent index c2e439aee..87e9a2896 100644 --- a/Dockerfiles/build-base/windows/Dockerfile.agent +++ b/Dockerfiles/build-base/windows/Dockerfile.agent @@ -65,13 +65,13 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref RUN Set-Location -Path $env:SystemDrive\.; ` ` - $env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); ` + $env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); ` [Environment]::SetEnvironmentVariable('BUILD_SRC', $env:BUILD_SRC, [EnvironmentVariableTarget]::Machine); ` $env:BUILD_DEPS = [string]::Format('{0}\build_deps', $env:SystemDrive); ` [Environment]::SetEnvironmentVariable('BUILD_DEPS', $env:BUILD_DEPS, [EnvironmentVariableTarget]::Machine); ` - ` - Set-Location -Path $env:BUILD_DEPS; ` - Write-Host 'Installing PowerShell...'; ` + ` + Set-Location -Path $env:BUILD_DEPS; ` + Write-Host 'Installing PowerShell...'; ` Expand-Archive ` -Path $env:BUILD_DEPS\pwsh.zip ` -DestinationPath $env:BUILD_DEPS\pwsh\.; ` @@ -95,8 +95,8 @@ RUN Set-Location -Path $env:SystemDrive\.; ` Write-Host 'Installing Perl...'; ` Expand-Archive -Path $env:BUILD_DEPS\perl.zip -DestinationPath $env:BUILD_DEPS\perl\; ` Remove-Item -Force -Recurse $env:BUILD_DEPS\perl\c\; ` - ` - Set-Location -Path $env:BUILD_SRC; ` + ` + Set-Location -Path $env:BUILD_SRC; ` ` Write-Host 'Extracting PCRE2 archive ...'; ` Expand-Archive -Path $env:BUILD_SRC\pcre2.zip -DestinationPath $env:BUILD_SRC; ` @@ -110,8 +110,8 @@ RUN Set-Location -Path $env:SystemDrive\.; ` Write-Host 'Extracting Libmodbus archive ...'; ` tar -zxf $env:BUILD_SRC\libmodbus.tar.gz; ` Move-Item -Path $env:BUILD_SRC\libmodbus-$env:LIBMODBUS_VERSION\ -Destination $env:BUILD_SRC\libmodbus; ` - Copy-Item $env:BUILD_SRC\libmodbus_project\CMakeLists.txt -Destination $env:BUILD_SRC\libmodbus\CMakeLists.txt; ` - Remove-Item -Force -Recurse $env:BUILD_SRC\libmodbus_project\; ` + Copy-Item $env:BUILD_SRC\libmodbus_project\CMakeLists.txt -Destination $env:BUILD_SRC\libmodbus\CMakeLists.txt; ` + Remove-Item -Force -Recurse $env:BUILD_SRC\libmodbus_project\; ` ` Write-Host 'Extracting Zlib archive ...'; ` tar -zxf $env:BUILD_SRC\zlib.tar.gz; ` @@ -120,12 +120,12 @@ RUN Set-Location -Path $env:SystemDrive\.; ` Write-Host 'Extracting CURL archive ...'; ` tar -zxf $env:BUILD_SRC\curl.tar.gz; ` Move-Item -Path $env:BUILD_SRC\curl-$env:CURL_VERSION\ -Destination $env:BUILD_SRC\curl; ` - ` + ` Write-Host 'Removing downloaded...'; ` Remove-Item -Force -Recurse $env:BUILD_SRC\*.tar.gz; ` - Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; ` + Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; ` Remove-Item -Force -Recurse $env:BUILD_DEPS\*.tar.gz; ` - Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip; + Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip; FROM ${OS_BASE_IMAGE} @@ -172,12 +172,12 @@ RUN Set-Location -Path $env:SystemDrive\.; ` $env:BUILD_DEPS = [string]::Format('{0}\build_deps', $env:SystemDrive); ` [Environment]::SetEnvironmentVariable('BUILD_DEPS', $env:BUILD_DEPS, [EnvironmentVariableTarget]::Machine); ` ` - $env:PATH = [string]::Format('{0}\perl\perl\bin;{0}\NASM;{0}\git\cmd;{0}\git\mingw64\bin;{0}\git\usr\bin;', $env:BUILD_DEPS) + $env:PATH; ` + $env:PATH = [string]::Format('{0}\perl\perl\bin;{0}\NASM;{0}\git\cmd;{0}\git\mingw64\bin;{0}\git\usr\bin;', $env:BUILD_DEPS) + $env:PATH; ` [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); ` ` New-Item -ItemType directory -Path $env:BUILD_OUTPUT -Force | Out-Null; ` - Write-Host 'Verifying install ("git version") ...'; ` - Write-Host $env:VS_BUILDTOOLS_VERSION; ` + Write-Host 'Verifying install ("git version") ...'; ` + Write-Host $env:VS_BUILDTOOLS_VERSION; ` git version; ` ` Write-Host 'Verifying install ("nasm -v") ...'; ` @@ -211,33 +211,32 @@ RUN Set-Location -Path $env:SystemDrive\.; ` Write-Host 'Visual Studio components installation cleanup'; ` Get-ChildItem -Path """${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer""" -Directory -Recurse | Remove-Item -Force -Recurse; ` ` - Write-Host 'Build environment is ready...'; ` - Set-Location -Path $env:SystemDrive\.; + Write-Host 'Build environment is ready...'; RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; ` ` Write-Host 'Building Zlib library...'; ` Set-Location -Path $env:SystemDrive\.; ` - $env:CL = """$env:CL /MP"""; ` - cmake -S $env:BUILD_SRC\zlib -B $env:BUILD_SRC\zlib\build ` - -G """Visual Studio 17 2022""" ` - -A $env:BUILD_ARCH ` - -DBUILD_SHARED_LIBS=OFF ` - -DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$:Debug>""" ` - -DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\zlib"""; ` - cmake --build $env:BUILD_SRC\zlib\build --config Release --parallel; ` - cmake --install $env:BUILD_SRC\zlib\build --config Release; ` + $env:CL = """$env:CL /MP"""; ` + cmake -S $env:BUILD_SRC\zlib -B $env:BUILD_SRC\zlib\build ` + -G """Visual Studio 17 2022""" ` + -A $env:BUILD_ARCH ` + -DBUILD_SHARED_LIBS=OFF ` + -DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$:Debug>""" ` + -DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\zlib"""; ` + cmake --build $env:BUILD_SRC\zlib\build --config Release --parallel; ` + cmake --install $env:BUILD_SRC\zlib\build --config Release; ` Remove-Item -Path $env:BUILD_SRC\zlib\build -Force -Recurse; ` Write-Host 'Zlib is ready...'; RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; ` ` - Write-Host 'Building OpenSSL library...'; ` + Write-Host 'Building OpenSSL library...'; ` Set-Location -Path $env:BUILD_SRC\openssl; ` - $env:CL = """$env:CL /nologo /MP /MT /wd4267 /wd4244"""; ` - $env:NMAKEFLAGS = """/nologo"""; ` + $env:CL = """$env:CL /nologo /MP /MT /wd4267 /wd4244"""; ` + $env:NMAKEFLAGS = """/nologo"""; ` perl $env:BUILD_SRC\openssl\Configure ` VC-WIN64A ` no-capieng ` @@ -259,12 +258,12 @@ RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.V nmake /S clean | Out-Null; ` Write-Host 'OpenSSL is ready...'; -RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` +RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; ` ` - Write-Host 'Building PCRE2 library ...'; ` + Write-Host 'Building PCRE2 library ...'; ` Set-Location -Path $env:BUILD_SRC\pcre2; ` - $env:CL = """$env:CL /MP"""; ` + $env:CL = """$env:CL /MP"""; ` cmake -S $env:BUILD_SRC\pcre2 -B $env:BUILD_SRC\pcre2\build ` -G """"Visual Studio 17 2022""" ` -A $env:BUILD_ARCH ` @@ -278,18 +277,18 @@ RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.V cmake --build $env:BUILD_SRC\pcre2\build --config Release --parallel; ` cmake --install $env:BUILD_SRC\pcre2\build --config Release; ` ` - Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; ` + Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; ` Remove-Item -Recurse -Force $env:BUILD_SRC\pcre2\build; ` Write-Host 'PCRE2 is ready...'; -RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` +RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; ` ` - Write-Host 'Building Libmodbus library ...'; ` - $env:CL = """$env:CL /MP"""; ` - Set-Location -Path $env:BUILD_SRC\libmodbus\src\win32; ` + Write-Host 'Building Libmodbus library ...'; ` + $env:CL = """$env:CL /MP"""; ` + Set-Location -Path $env:BUILD_SRC\libmodbus\src\win32; ` cscript //nologo .\configure.js; ` - Set-Location -Path $env:BUILD_SRC\libmodbus; ` + Set-Location -Path $env:BUILD_SRC\libmodbus; ` cmake -S $env:BUILD_SRC\libmodbus -B $env:BUILD_SRC\libmodbus\build ` -G """"Visual Studio 17 2022""" ` -A $env:BUILD_ARCH ` @@ -299,18 +298,18 @@ RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.V ` cmake --build $env:BUILD_SRC\libmodbus\build --config Release --parallel; ` cmake --install $env:BUILD_SRC\libmodbus\build --config Release; ` - Remove-Item -Recurse -Force $env:BUILD_SRC\libmodbus\build; ` + Remove-Item -Recurse -Force $env:BUILD_SRC\libmodbus\build; ` Write-Host 'Libmodbus is ready...'; RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; ` Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; ` - Write-Host 'Building Curl library...'; ` + Write-Host 'Building Curl library...'; ` Set-Location -Path $env:BUILD_SRC\curl; ` - $env:CL = """$env:CL /MP"""; ` + $env:CL = """$env:CL /MP"""; ` cmake -S $env:BUILD_SRC\curl -B $env:BUILD_SRC\curl\build ` - -G """Visual Studio 17 2022""" ` - -A $env:BUILD_ARCH ` - -DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$:Debug>""" ` + -G """Visual Studio 17 2022""" ` + -A $env:BUILD_ARCH ` + -DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$:Debug>""" ` -DBUILD_CURL_EXE=OFF ` -DBUILD_EXAMPLES=OFF ` -DBUILD_LIBCURL_DOCS=OFF ` @@ -329,7 +328,7 @@ RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.V -DZLIB_INCLUDE_DIR="""$env:BUILD_OUTPUT\zlib\include""" ` -DZLIB_LIBRARY="""$env:BUILD_OUTPUT\zlib\lib\zlibstatic.lib""" ` -DZLIB_USE_STATIC_LIBS=ON ` - -DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\curl"""; ` + -DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\curl"""; ` cmake --build $env:BUILD_SRC\curl\build --config Release --parallel; ` cmake --install $env:BUILD_SRC\curl\build --config Release; ` - Remove-Item -Path $env:BUILD_SRC\curl\build\ -Force -Recurse; + Remove-Item -Path $env:BUILD_SRC\curl\build\ -Force -Recurse; diff --git a/Dockerfiles/build-base/windows/Dockerfile.agent2 b/Dockerfiles/build-base/windows/Dockerfile.agent2 index 85fcf87d5..2cf89dabb 100644 --- a/Dockerfiles/build-base/windows/Dockerfile.agent2 +++ b/Dockerfiles/build-base/windows/Dockerfile.agent2 @@ -101,8 +101,8 @@ RUN $env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); ` Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; ` Remove-Item -Force -Recurse $env:BUILD_DEPS\*.tar.gz; ` Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip; ` - Remove-Item -Force -Recurse $env:BUILD_DEPS\msys2.sfx.exe; ` - Remove-Item -Force -Recurse $env:BUILD_DEPS\*.7z; + Remove-Item -Force -Recurse $env:BUILD_DEPS\msys2.sfx.exe; ` + Remove-Item -Force -Recurse $env:BUILD_DEPS\*.7z; FROM ${OS_BASE_IMAGE} @@ -201,10 +201,11 @@ RUN Write-Host 'Building PCRE2 library ...'; ` -DCMAKE_C_COMPILER=gcc ` -DCMAKE_C_FLAGS='-O2 -g' ` -DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\pcre2""" . ; ` + Set-Location -Path $env:BUILD_SRC\pcre2\build; ` mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS"""; ` mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS""" install; ` mingw32-make -s clean | Out-Null; ` - Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; ` + Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; ` Write-Host 'PCRE2 is ready...'; RUN Write-Host 'Building OpenSSL library...'; ` diff --git a/Dockerfiles/build-mysql/windows/Dockerfile.agent b/Dockerfiles/build-mysql/windows/Dockerfile.agent index 4cd4efee0..48fb2a6d6 100644 --- a/Dockerfiles/build-mysql/windows/Dockerfile.agent +++ b/Dockerfiles/build-mysql/windows/Dockerfile.agent @@ -61,7 +61,7 @@ RUN Set-Location -Path $env:SystemDrive\.; ` TLSLIBDIR=$env:BUILD_OUTPUT\openssl\lib ` MODBINCDIR=$env:BUILD_OUTPUT\libmodbus\include ` MODBLIBDIR=$env:BUILD_OUTPUT\libmodbus\lib ` - LIBS="""$env:LIBS Crypt32.lib $env:BUILD_OUTPUT\curl\lib\libcurl.lib $env:BUILD_OUTPUT\zlib\lib\zlibstatic.lib""" ` + LIBS="""$env:LIBS Crypt32.lib $env:BUILD_OUTPUT\curl\lib\libcurl.lib $env:BUILD_OUTPUT\zlib\lib\zlibstatic.lib""" ` all; ` ` Write-Host 'Verifying build ("zabbix_agentd.exe -V") ...'; `