Fixed pcre2 compilation on Windows for agent2
This commit is contained in:
parent
032f4cca49
commit
55f67f8f5b
@ -145,4 +145,4 @@ endif()
|
||||
|
||||
install(FILES ${PUBLIC_HEADERS}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
)
|
||||
|
||||
@ -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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>:Debug>""" `
|
||||
-G """Visual Studio 17 2022""" `
|
||||
-A $env:BUILD_ARCH `
|
||||
-DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$<CONFIG:Debug>: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;
|
||||
|
||||
@ -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...'; `
|
||||
|
||||
@ -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") ...'; `
|
||||
|
||||
Loading…
Reference in New Issue
Block a user