@@ -11,11 +11,29 @@ public sealed class BuildWindowsTask : FrostingTask<BuildContext>
1111
1212 public override void Run ( BuildContext context )
1313 {
14- var buildWorkingDir = "assimp/" ;
15- context . StartProcess ( "cmake" , new ProcessSettings { WorkingDirectory = buildWorkingDir , Arguments = "-DASSIMP_BUILD_TESTS=OFF -DASSIMP_INSTALL=OFF CMakeLists.txt" } ) ;
16- context . ReplaceTextInFiles ( "assimp/code/assimp.vcxproj" , "MultiThreadedDLL" , "MultiThreaded" ) ;
17- context . ReplaceTextInFiles ( "assimp/contrib/zlib/zlibstatic.vcxproj" , "MultiThreadedDLL" , "MultiThreaded" ) ;
18- context . StartProcess ( "cmake" , new ProcessSettings { WorkingDirectory = buildWorkingDir , Arguments = "--build . --config release" } ) ;
19- context . CopyFile ( @"assimp/bin/Release/assimp-vc143-mt.dll" , $ "{ context . ArtifactsDir } /assimp.dll") ;
14+ BuildForArchitecture ( context , "x64" , "win-x64" ) ;
15+ BuildForArchitecture ( context , "ARM64" , "win-arm64" ) ;
16+ }
17+
18+ private void BuildForArchitecture ( BuildContext context , string cmakeArch , string rid )
19+ {
20+ var buildWorkingDir = $ "assimp/build_{ rid } ";
21+ context . CreateDirectory ( buildWorkingDir ) ;
22+
23+ context . StartProcess ( "cmake" , new ProcessSettings {
24+ WorkingDirectory = buildWorkingDir ,
25+ Arguments = $ "-A { cmakeArch } -DASSIMP_BUILD_TESTS=OFF -DASSIMP_INSTALL=OFF .."
26+ } ) ;
27+
28+ context . ReplaceTextInFiles ( $ "{ buildWorkingDir } /code/assimp.vcxproj", "MultiThreadedDLL" , "MultiThreaded" ) ;
29+ context . ReplaceTextInFiles ( $ "{ buildWorkingDir } /contrib/zlib/zlibstatic.vcxproj", "MultiThreadedDLL" , "MultiThreaded" ) ;
30+
31+ context . StartProcess ( "cmake" , new ProcessSettings {
32+ WorkingDirectory = buildWorkingDir ,
33+ Arguments = "--build . --config release"
34+ } ) ;
35+
36+ context . CreateDirectory ( $ "{ context . ArtifactsDir } /{ rid } ") ;
37+ context . CopyFile ( $@ "{ buildWorkingDir } /bin/Release/assimp-vc143-mt.dll", $ "{ context . ArtifactsDir } /{ rid } /assimp.dll") ;
2038 }
2139}
0 commit comments