File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change 1414 - libiconv
1515 headers@unix :
1616 - lzma
17+ headers@windows :
18+ - lzma
19+ - lzma.h
1720 pkg-configs :
1821 - liblzma
1922 static-libs@unix :
2023 - liblzma.a
24+ static-libs@windows :
25+ - lzma.lib
26+ - liblzma_a.lib
Original file line number Diff line number Diff line change 88use StaticPHP \Attribute \Package \Library ;
99use StaticPHP \Package \LibraryPackage ;
1010use StaticPHP \Runtime \Executor \UnixAutoconfExecutor ;
11+ use StaticPHP \Runtime \Executor \WindowsCMakeExecutor ;
12+ use StaticPHP \Util \FileSystem ;
1113
1214#[Library('xz ' )]
1315class xz
@@ -27,4 +29,14 @@ public function build(LibraryPackage $lib): void
2729 $ lib ->patchPkgconfPrefix (['liblzma.pc ' ]);
2830 $ lib ->patchLaDependencyPrefix ();
2931 }
32+
33+ #[BuildFor('Windows ' )]
34+ public function buildWin (LibraryPackage $ lib ): void
35+ {
36+ WindowsCMakeExecutor::create ($ lib )->build ();
37+ // copy lzma.lib to liblzma_a.lib
38+ FileSystem::copy ("{$ lib ->getLibDir ()}\\lzma.lib " , "{$ lib ->getLibDir ()}\\liblzma_a.lib " );
39+ // patch lzma.h: make static API always available on Windows
40+ FileSystem::replaceFileStr ("{$ lib ->getIncludeDir ()}\\lzma.h " , 'defined(LZMA_API_STATIC) ' , 'defined(_WIN32) ' );
41+ }
3042}
You can’t perform that action at this time.
0 commit comments