Skip to content

Commit f1a9f0e

Browse files
authored
build: NuGet packages for legacy MSVC builds
This may be useful for testing and troubleshooting.
1 parent 6ba5ef5 commit f1a9f0e

4 files changed

Lines changed: 48 additions & 7 deletions

File tree

.github/workflows/build.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ jobs:
130130
name: monika_clang_${{ matrix.configuration }}_${{ matrix.platform }}
131131
path: out/${{ matrix.configuration }}
132132

133-
pack-clang:
134-
needs: build-clang
133+
pack:
134+
needs: [build-msvc, build-clang]
135135
runs-on: windows-latest
136136
permissions:
137137
packages: write # Pushing to GitHub Packages
@@ -144,20 +144,30 @@ jobs:
144144
- name: Checkout
145145
uses: actions/checkout@v6
146146

147-
- name: Download Build Artifacts
147+
- name: Download Build Artifacts (Clang)
148148
uses: actions/download-artifact@v8
149149
with:
150150
pattern: monika_clang_${{ matrix.configuration }}_*
151151
path: out/${{ matrix.configuration }}
152152
merge-multiple: true
153153

154+
- name: Download Build Artifacts (MSVC)
155+
uses: actions/download-artifact@v8
156+
with:
157+
pattern: monika_clang_${{ matrix.configuration }}_*
158+
path: out/${{ matrix.configuration }}/msvc
159+
merge-multiple: true
160+
154161
- name: Setup NuGet
155162
uses: nuget/setup-nuget@v3
156163

157164
- name: NuGet Pack
158165
run: |
159166
nuget pack out/${{ matrix.configuration }}/monika.nuspec -NonInteractive
160167
nuget pack out/${{ matrix.configuration }}/monika.SDK.nuspec -NonInteractive
168+
169+
nuget pack out/${{ matrix.configuration }}/monika.MSVC.nuspec -NonInteractive
170+
nuget pack out/${{ matrix.configuration }}/monika.SDK.MSVC.nuspec -NonInteractive
161171
shell: cmd
162172

163173
- name: Upload NuGet Artifacts

packaging/nuget/CMakeLists.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,18 @@ monika_add_processed_xml(
5959
"${CMAKE_CURRENT_BINARY_DIR}/monika.nuspec"
6060
FLAGS
6161
"-DMONIKA_NUGET_PACKAGE_ID=monika${MONIKA_NUGET_PACKAGE_SUFFIX}"
62+
"-DMONIKA_NUGET_BIN_SRC_PATH=\".\\bin\\**\""
63+
"-DMONIKA_NUGET_PDB_SRC_PATH=\".\\Debug\\**\""
64+
)
65+
66+
monika_add_processed_xml(
67+
MonikaNuGetMsvcXml
68+
"${CMAKE_CURRENT_SOURCE_DIR}/monika.nuspec"
69+
"${CMAKE_CURRENT_BINARY_DIR}/monika.MSVC.nuspec"
70+
FLAGS
71+
"-DMONIKA_NUGET_PACKAGE_ID=monika.MSVC${MONIKA_NUGET_PACKAGE_SUFFIX}"
72+
"-DMONIKA_NUGET_BIN_SRC_PATH=\".\\msvc\\bin\\**\""
73+
"-DMONIKA_NUGET_PDB_SRC_PATH=\".\\msvc\\Debug\\**\""
6274
)
6375

6476
set(MONIKA_NUGET_TARGETS_PATH "build/native/monika.SDK${MONIKA_NUGET_PACKAGE_SUFFIX}.targets")
@@ -70,6 +82,19 @@ monika_add_processed_xml(
7082
FLAGS
7183
"-DMONIKA_NUGET_PACKAGE_ID=monika.SDK${MONIKA_NUGET_PACKAGE_SUFFIX}"
7284
"-DMONIKA_NUGET_TARGETS_PATH=\"${MONIKA_NUGET_TARGETS_PATH}\""
85+
"-DMONIKA_NUGET_INC_SRC_PATH=\".\\Include\\**\""
86+
"-DMONIKA_NUGET_LIB_SRC_PATH=\".\\Lib\\**\""
87+
)
88+
89+
monika_add_processed_xml(
90+
MonikaNuGetSdkMsvcXml
91+
"${CMAKE_CURRENT_SOURCE_DIR}/monika.SDK.nuspec"
92+
"${CMAKE_CURRENT_BINARY_DIR}/monika.SDK.MSVC.nuspec"
93+
FLAGS
94+
"-DMONIKA_NUGET_PACKAGE_ID=monika.SDK.MSVC${MONIKA_NUGET_PACKAGE_SUFFIX}"
95+
"-DMONIKA_NUGET_TARGETS_PATH=\"${MONIKA_NUGET_TARGETS_PATH}\""
96+
"-DMONIKA_NUGET_INC_SRC_PATH=\".\\msvc\\Include\\**\""
97+
"-DMONIKA_NUGET_LIB_SRC_PATH=\".\\msvc\\Lib\\**\""
7398
)
7499

75100
configure_file(
@@ -87,6 +112,12 @@ if(MONIKA_NUGET_SHOULD_INSTALL)
87112
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/monika.SDK.nuspec"
88113
DESTINATION "${CMAKE_INSTALL_PREFIX}"
89114
)
115+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/monika.MSVC.nuspec"
116+
DESTINATION "${CMAKE_INSTALL_PREFIX}"
117+
)
118+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/monika.SDK.MSVC.nuspec"
119+
DESTINATION "${CMAKE_INSTALL_PREFIX}"
120+
)
90121
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/DotnetToolSettings.xml"
91122
DESTINATION "tools/any/win-${MONIKA_NUGET_ARCH}"
92123
)

packaging/nuget/monika.SDK.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<!-- Visual Studio C++ build support. -->
2323
<file src="..\..\packaging\nuget\monika.targets" target=MONIKA_NUGET_TARGETS_PATH />
2424

25-
<file src=".\Include\**" target="c/Include/" />
26-
<file src=".\Lib\**" target="c/Lib/" />
25+
<file src=MONIKA_NUGET_INC_SRC_PATH target="c/Include/" />
26+
<file src=MONIKA_NUGET_LIB_SRC_PATH target="c/Lib/" />
2727
</files>
2828
</package>

packaging/nuget/monika.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
<!-- Move all SDK files to c\ to avoid conflicts. -->
2929
<!-- This matches what the Windows C++ SDK NuGet package is doing. -->
30-
<file src=".\bin\**" target="c/bin/" />
31-
<file src=".\Debug\**" target="c/Debug/" />
30+
<file src=MONIKA_NUGET_BIN_SRC_PATH target="c/bin/" />
31+
<file src=MONIKA_NUGET_PDB_SRC_PATH target="c/Debug/" />
3232
</files>
3333
</package>

0 commit comments

Comments
 (0)