Package Dev Win #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Package Dev Win | |
on: | |
workflow_dispatch: | |
jobs: | |
package_dev_win: | |
runs-on: windows-latest | |
steps: | |
# Prepare Visual Studio | |
- name: Set up Visual Studio | |
uses: microsoft/setup-msbuild@v2 | |
with: | |
msbuild-architecture: x64 | |
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
# Xerces-C - setup | |
- name: Xerces-C - prepare | |
run: | | |
mkdir xerces-c | |
cd xerces-c | |
curl -o xerces-c.zip https://dlcdn.apache.org//xerces/c/3/sources/xerces-c-3.2.5.zip | |
tar -xf xerces-c.zip --strip-components=1 | |
del xerces-c.zip | |
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
# Boost - setup and build | |
- name: Boost - prepare | |
run: | | |
mkdir boost | |
cd boost | |
curl -o boost.zip https://archives.boost.io/release/1.86.0/source/boost_1_86_0.zip | |
tar -xf boost.zip --strip-components=1 | |
del boost.zip | |
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
# libMVRGdtf - setup | |
- name: libMVRGdtf - checkout repository | |
uses: actions/checkout@v4 | |
with: | |
path: libMvrGdtf | |
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
# Produce a batch file to be locally executed to build the library | |
- name: Generate build batch file | |
run: | | |
# Define the multi-line text | |
$text = @' | |
REM ------------------------------------------------ | |
REM ------------------------------------------------ | |
REM | |
REM Execute this batch in PowerShell | |
REM | |
REM Current folder should be the root of libMvrGdtf | |
REM | |
REM ------------------------------------------------ | |
call "c:\program files\microsoft visual studio\2022\professional\Common7\Tools\VsDevCmd.bat" | |
REM ------------------------------------------------ | |
REM Build xerces-c | |
cd xerces-c | |
rmdir /s /q build | |
mkdir build | |
cd build | |
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_INSTALL_PREFIX:PATH=libs -DCMAKE_CXX_FLAGS="/DWIN32 /D_WINDOWS -O2 -Ob2 -DNDEBUG" -DCMAKE_C_FLAGS="/DWIN32 /D_WINDOWS /W3" -DBUILD_SHARED_LIBS:BOOL=FALSE -Dxmlch-type=wchar_t | |
msbuild /m ALL_BUILD.vcxproj /p:Configuration=Debug | |
msbuild /m INSTALL.vcxproj /p:Configuration=Debug | |
cd ../.. | |
REM ------------------------------------------------ | |
REM libMvrGdtf | |
cd libMvrGdtf | |
rmdir /s /q build_MD | |
mkdir build_MD | |
cd build_MD | |
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=libs -DWIN_RUNTIME_LIB=-MD -DXERCES_INCLUDE_PATH="..\xerces-c\build\libs\include;..\xerces\src" -DXERCES_LIB_PATH="..\xerces\build\libs\lib" -DXERCES_ROOT_PATH="..\xerces-c\build" | |
ren MvrGdtf.vcxproj MvrGdtf_ORG.vcxproj | |
powershell -Command "$xml = [xml](Get-Content 'MvrGdtf_ORG.vcxproj'); $xml.Project.ItemDefinitionGroup | ForEach-Object { $node = $xml.CreateElement('AdditionalDependencies', 'http://schemas.microsoft.com/developer/msbuild/2003'); $node.InnerText = 'iphlpapi.lib;..\..\xerces-c\build_mt\libs\lib\xerces-c_3.lib;mdns_cpp\lib\MinSizeRel\mdns_cpp.lib;%%(AdditionalDependencies)'; $_.Lib.AppendChild($node) | Out-Null }; Set-Content -Path 'MvrGdtf.vcxproj' -Value $xml.OuterXml" | |
rm MvrGdtf_ORG.vcxproj | |
msbuild /m ALL_BUILD.vcxproj /p:Configuration=Debug | |
msbuild /m INSTALL.vcxproj /p:Configuration=Debug | |
'@ | |
# Write the text to a file | |
Set-Content -Path "build_libMVRgdtf.bat" -Value $text | |
shell: pwsh | |
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
- name: Collect Artifact | |
run: | | |
dir | |
Compress-Archive -Path xerces-c,libMvrGdtf,boost,build_libMVRgdtf.bat -DestinationPath libMVRgdtf-dev.zip | |
shell: pwsh | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: libMVRgdtf-dev | |
path: libMVRgdtf-dev.zip | |