libwz 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/binding.gyp +149 -0
  4. package/deps/tiny-aes/.github/workflows/c-cpp.yml +27 -0
  5. package/deps/tiny-aes/CMakeLists.txt +17 -0
  6. package/deps/tiny-aes/Makefile +61 -0
  7. package/deps/tiny-aes/README.md +83 -0
  8. package/deps/tiny-aes/aes.c +572 -0
  9. package/deps/tiny-aes/aes.h +91 -0
  10. package/deps/tiny-aes/aes.hpp +12 -0
  11. package/deps/tiny-aes/conanfile.py +73 -0
  12. package/deps/tiny-aes/library.json +19 -0
  13. package/deps/tiny-aes/library.properties +11 -0
  14. package/deps/tiny-aes/test.c +316 -0
  15. package/deps/tiny-aes/test.cpp +2 -0
  16. package/deps/tiny-aes/test_package/CMakeLists.txt +11 -0
  17. package/deps/tiny-aes/test_package/conanfile.py +17 -0
  18. package/deps/tiny-aes/unlicense.txt +24 -0
  19. package/deps/zlib/.cmake-format.yaml +245 -0
  20. package/deps/zlib/.github/workflows/c-std.yml +268 -0
  21. package/deps/zlib/.github/workflows/cmake.yml +147 -0
  22. package/deps/zlib/.github/workflows/configure.yml +146 -0
  23. package/deps/zlib/.github/workflows/contribs.yml +64 -0
  24. package/deps/zlib/.github/workflows/fuzz.yml +25 -0
  25. package/deps/zlib/.github/workflows/msys-cygwin.yml +92 -0
  26. package/deps/zlib/.github/workflows/others.yml +153 -0
  27. package/deps/zlib/BUILD.bazel +134 -0
  28. package/deps/zlib/CMakeLists.txt +310 -0
  29. package/deps/zlib/ChangeLog +1669 -0
  30. package/deps/zlib/FAQ +371 -0
  31. package/deps/zlib/INDEX +67 -0
  32. package/deps/zlib/LICENSE +22 -0
  33. package/deps/zlib/MODULE.bazel +9 -0
  34. package/deps/zlib/Makefile.in +426 -0
  35. package/deps/zlib/README +115 -0
  36. package/deps/zlib/README-cmake.md +79 -0
  37. package/deps/zlib/adler32.c +164 -0
  38. package/deps/zlib/amiga/Makefile.pup +69 -0
  39. package/deps/zlib/amiga/Makefile.sas +68 -0
  40. package/deps/zlib/compress.c +99 -0
  41. package/deps/zlib/configure +1078 -0
  42. package/deps/zlib/contrib/CMakeLists.txt +61 -0
  43. package/deps/zlib/contrib/README.contrib +57 -0
  44. package/deps/zlib/contrib/ada/CMakeLists.txt +217 -0
  45. package/deps/zlib/contrib/ada/buffer_demo.adb +106 -0
  46. package/deps/zlib/contrib/ada/cmake/Modules/CMakeADACompiler.cmake.in +23 -0
  47. package/deps/zlib/contrib/ada/cmake/Modules/CMakeADAInformation.cmake +133 -0
  48. package/deps/zlib/contrib/ada/cmake/Modules/CMakeDetermineADACompiler.cmake +33 -0
  49. package/deps/zlib/contrib/ada/cmake/Modules/CMakeTestADACompiler.cmake +46 -0
  50. package/deps/zlib/contrib/ada/cmake/binder_helper.cmake +47 -0
  51. package/deps/zlib/contrib/ada/cmake/compile_helper.cmake +32 -0
  52. package/deps/zlib/contrib/ada/cmake/exe_link_helper.cmake +53 -0
  53. package/deps/zlib/contrib/ada/cmake/shared_link_helper.cmake +52 -0
  54. package/deps/zlib/contrib/ada/cmake/static_link_helper.cmake +25 -0
  55. package/deps/zlib/contrib/ada/mtest.adb +156 -0
  56. package/deps/zlib/contrib/ada/read.adb +156 -0
  57. package/deps/zlib/contrib/ada/readme.txt +65 -0
  58. package/deps/zlib/contrib/ada/test.adb +463 -0
  59. package/deps/zlib/contrib/ada/zlib-streams.adb +225 -0
  60. package/deps/zlib/contrib/ada/zlib-streams.ads +114 -0
  61. package/deps/zlib/contrib/ada/zlib-thin.adb +142 -0
  62. package/deps/zlib/contrib/ada/zlib-thin.ads +450 -0
  63. package/deps/zlib/contrib/ada/zlib.adb +701 -0
  64. package/deps/zlib/contrib/ada/zlib.ads +328 -0
  65. package/deps/zlib/contrib/ada/zlib.gpr +20 -0
  66. package/deps/zlib/contrib/blast/CMakeLists.txt +166 -0
  67. package/deps/zlib/contrib/blast/Makefile +14 -0
  68. package/deps/zlib/contrib/blast/README +4 -0
  69. package/deps/zlib/contrib/blast/blast-test.c +42 -0
  70. package/deps/zlib/contrib/blast/blast.c +422 -0
  71. package/deps/zlib/contrib/blast/blast.h +84 -0
  72. package/deps/zlib/contrib/blast/blastConfig.cmake.in +18 -0
  73. package/deps/zlib/contrib/blast/test/CMakeLists.txt +193 -0
  74. package/deps/zlib/contrib/blast/test/add_subdirectory_exclude_test.cmake.in +27 -0
  75. package/deps/zlib/contrib/blast/test/add_subdirectory_test.cmake.in +25 -0
  76. package/deps/zlib/contrib/blast/test/find_package_no_components_test.cmake.in +24 -0
  77. package/deps/zlib/contrib/blast/test/find_package_test.cmake.in +24 -0
  78. package/deps/zlib/contrib/blast/test/find_package_wrong_components_test.cmake.in +24 -0
  79. package/deps/zlib/contrib/blast/test.pk +0 -0
  80. package/deps/zlib/contrib/blast/test.txt +1 -0
  81. package/deps/zlib/contrib/blast/tester.cmake +28 -0
  82. package/deps/zlib/contrib/crc32vx/CMakeLists.txt +67 -0
  83. package/deps/zlib/contrib/crc32vx/README +9 -0
  84. package/deps/zlib/contrib/crc32vx/crc32_vx.c +254 -0
  85. package/deps/zlib/contrib/crc32vx/crc32_vx_hooks.h +9 -0
  86. package/deps/zlib/contrib/delphi/ZLib.pas +557 -0
  87. package/deps/zlib/contrib/delphi/ZLibConst.pas +11 -0
  88. package/deps/zlib/contrib/delphi/readme.txt +76 -0
  89. package/deps/zlib/contrib/delphi/zlibd32.mak +99 -0
  90. package/deps/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  91. package/deps/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  92. package/deps/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  93. package/deps/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  94. package/deps/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  95. package/deps/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  96. package/deps/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  97. package/deps/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  98. package/deps/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  99. package/deps/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  100. package/deps/zlib/contrib/dotzlib/DotZLib.build +33 -0
  101. package/deps/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  102. package/deps/zlib/contrib/dotzlib/DotZLib.sln +21 -0
  103. package/deps/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  104. package/deps/zlib/contrib/dotzlib/readme.txt +58 -0
  105. package/deps/zlib/contrib/gcc_gvmat64/CMakeLists.txt +19 -0
  106. package/deps/zlib/contrib/gcc_gvmat64/gvmat64.S +570 -0
  107. package/deps/zlib/contrib/infback9/CMakeLists.txt +19 -0
  108. package/deps/zlib/contrib/infback9/README +1 -0
  109. package/deps/zlib/contrib/infback9/infback9.c +603 -0
  110. package/deps/zlib/contrib/infback9/infback9.h +37 -0
  111. package/deps/zlib/contrib/infback9/inffix9.h +107 -0
  112. package/deps/zlib/contrib/infback9/inflate9.h +47 -0
  113. package/deps/zlib/contrib/infback9/inftree9.c +319 -0
  114. package/deps/zlib/contrib/infback9/inftree9.h +61 -0
  115. package/deps/zlib/contrib/iostream/test.cpp +24 -0
  116. package/deps/zlib/contrib/iostream/zfstream.cpp +329 -0
  117. package/deps/zlib/contrib/iostream/zfstream.h +128 -0
  118. package/deps/zlib/contrib/iostream2/zstream.h +306 -0
  119. package/deps/zlib/contrib/iostream2/zstream_test.cpp +25 -0
  120. package/deps/zlib/contrib/iostream3/CMakeLists.txt +200 -0
  121. package/deps/zlib/contrib/iostream3/README +35 -0
  122. package/deps/zlib/contrib/iostream3/TODO +17 -0
  123. package/deps/zlib/contrib/iostream3/iostream3Config.cmake.in +23 -0
  124. package/deps/zlib/contrib/iostream3/test/CMakeLists.txt +191 -0
  125. package/deps/zlib/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in +27 -0
  126. package/deps/zlib/contrib/iostream3/test/add_subdirectory_test.cmake.in +25 -0
  127. package/deps/zlib/contrib/iostream3/test/find_package_no_components_test.cmake.in +24 -0
  128. package/deps/zlib/contrib/iostream3/test/find_package_test.cmake.in +24 -0
  129. package/deps/zlib/contrib/iostream3/test/find_package_wrong_components_test.cmake.in +24 -0
  130. package/deps/zlib/contrib/iostream3/test.cc +50 -0
  131. package/deps/zlib/contrib/iostream3/zfstream.cc +479 -0
  132. package/deps/zlib/contrib/iostream3/zfstream.h +466 -0
  133. package/deps/zlib/contrib/minizip/CMakeLists.txt +387 -0
  134. package/deps/zlib/contrib/minizip/LICENSE.Info-Zip +58 -0
  135. package/deps/zlib/contrib/minizip/Makefile +33 -0
  136. package/deps/zlib/contrib/minizip/Makefile.am +45 -0
  137. package/deps/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -0
  138. package/deps/zlib/contrib/minizip/MiniZip64_info.txt +69 -0
  139. package/deps/zlib/contrib/minizip/configure.ac +32 -0
  140. package/deps/zlib/contrib/minizip/crypt.h +125 -0
  141. package/deps/zlib/contrib/minizip/ints.h +57 -0
  142. package/deps/zlib/contrib/minizip/ioapi.c +231 -0
  143. package/deps/zlib/contrib/minizip/ioapi.h +183 -0
  144. package/deps/zlib/contrib/minizip/iowin32.c +447 -0
  145. package/deps/zlib/contrib/minizip/iowin32.h +27 -0
  146. package/deps/zlib/contrib/minizip/make_vms.com +25 -0
  147. package/deps/zlib/contrib/minizip/miniunz.c +647 -0
  148. package/deps/zlib/contrib/minizip/miniunzip.1 +63 -0
  149. package/deps/zlib/contrib/minizip/minizip.1 +46 -0
  150. package/deps/zlib/contrib/minizip/minizip.c +511 -0
  151. package/deps/zlib/contrib/minizip/minizip.pc.in +13 -0
  152. package/deps/zlib/contrib/minizip/minizip.pc.txt +13 -0
  153. package/deps/zlib/contrib/minizip/minizipConfig.cmake.in +27 -0
  154. package/deps/zlib/contrib/minizip/mztools.c +294 -0
  155. package/deps/zlib/contrib/minizip/mztools.h +37 -0
  156. package/deps/zlib/contrib/minizip/skipset.h +366 -0
  157. package/deps/zlib/contrib/minizip/test/CMakeLists.txt +176 -0
  158. package/deps/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -0
  159. package/deps/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -0
  160. package/deps/zlib/contrib/minizip/test/find_package_no_components_test.cmake.in +26 -0
  161. package/deps/zlib/contrib/minizip/test/find_package_test.cmake.in +26 -0
  162. package/deps/zlib/contrib/minizip/test/find_package_wrong_components_test.cmake.in +26 -0
  163. package/deps/zlib/contrib/minizip/test/test_helper.cm +32 -0
  164. package/deps/zlib/contrib/minizip/unzip.c +1984 -0
  165. package/deps/zlib/contrib/minizip/unzip.h +442 -0
  166. package/deps/zlib/contrib/minizip/zip.c +2246 -0
  167. package/deps/zlib/contrib/minizip/zip.h +371 -0
  168. package/deps/zlib/contrib/nuget/nuget.csproj +45 -0
  169. package/deps/zlib/contrib/nuget/nuget.sln +22 -0
  170. package/deps/zlib/contrib/pascal/example.pas +599 -0
  171. package/deps/zlib/contrib/pascal/readme.txt +76 -0
  172. package/deps/zlib/contrib/pascal/zlibd32.mak +99 -0
  173. package/deps/zlib/contrib/pascal/zlibpas.pas +276 -0
  174. package/deps/zlib/contrib/puff/CMakeLists.txt +154 -0
  175. package/deps/zlib/contrib/puff/Makefile +42 -0
  176. package/deps/zlib/contrib/puff/README +63 -0
  177. package/deps/zlib/contrib/puff/bin-writer.c +26 -0
  178. package/deps/zlib/contrib/puff/puff.c +840 -0
  179. package/deps/zlib/contrib/puff/puff.h +35 -0
  180. package/deps/zlib/contrib/puff/puffConfig.cmake.in +18 -0
  181. package/deps/zlib/contrib/puff/pufftest.c +168 -0
  182. package/deps/zlib/contrib/puff/test/CMakeLists.txt +262 -0
  183. package/deps/zlib/contrib/puff/test/add_subdirectory_exclude_test.cmake.in +26 -0
  184. package/deps/zlib/contrib/puff/test/add_subdirectory_test.cmake.in +25 -0
  185. package/deps/zlib/contrib/puff/test/find_package_no_components_test.cmake.in +24 -0
  186. package/deps/zlib/contrib/puff/test/find_package_test.cmake.in +24 -0
  187. package/deps/zlib/contrib/puff/test/find_package_wrong_components_test.cmake.in +24 -0
  188. package/deps/zlib/contrib/puff/test/tester-cov.cmake +58 -0
  189. package/deps/zlib/contrib/puff/test/tester.cmake +16 -0
  190. package/deps/zlib/contrib/puff/zeros.raw +0 -0
  191. package/deps/zlib/contrib/testzlib/CMakeLists.txt +44 -0
  192. package/deps/zlib/contrib/testzlib/testzlib.c +275 -0
  193. package/deps/zlib/contrib/testzlib/testzlib.txt +10 -0
  194. package/deps/zlib/contrib/vstudio/readme.txt +22 -0
  195. package/deps/zlib/contrib/zlib1-dll/CMakeLists.txt +196 -0
  196. package/deps/zlib/contrib/zlib1-dll/readme.txt +21 -0
  197. package/deps/zlib/crc32.c +983 -0
  198. package/deps/zlib/crc32.h +9446 -0
  199. package/deps/zlib/deflate.c +2185 -0
  200. package/deps/zlib/deflate.h +383 -0
  201. package/deps/zlib/doc/algorithm.txt +209 -0
  202. package/deps/zlib/doc/crc-doc.1.0.pdf +0 -0
  203. package/deps/zlib/doc/rfc1950.txt +619 -0
  204. package/deps/zlib/doc/rfc1951.txt +955 -0
  205. package/deps/zlib/doc/rfc1952.txt +675 -0
  206. package/deps/zlib/doc/txtvsbin.txt +107 -0
  207. package/deps/zlib/examples/README.examples +54 -0
  208. package/deps/zlib/examples/enough.c +597 -0
  209. package/deps/zlib/examples/fitblk.c +233 -0
  210. package/deps/zlib/examples/gun.c +702 -0
  211. package/deps/zlib/examples/gzappend.c +504 -0
  212. package/deps/zlib/examples/gzjoin.c +449 -0
  213. package/deps/zlib/examples/gzlog.c +1061 -0
  214. package/deps/zlib/examples/gzlog.h +91 -0
  215. package/deps/zlib/examples/gznorm.c +474 -0
  216. package/deps/zlib/examples/zlib_how.html +550 -0
  217. package/deps/zlib/examples/zpipe.c +206 -0
  218. package/deps/zlib/examples/zran.c +546 -0
  219. package/deps/zlib/examples/zran.h +53 -0
  220. package/deps/zlib/gzclose.c +23 -0
  221. package/deps/zlib/gzguts.h +216 -0
  222. package/deps/zlib/gzlib.c +609 -0
  223. package/deps/zlib/gzread.c +668 -0
  224. package/deps/zlib/gzwrite.c +700 -0
  225. package/deps/zlib/infback.c +581 -0
  226. package/deps/zlib/inffast.c +321 -0
  227. package/deps/zlib/inffast.h +11 -0
  228. package/deps/zlib/inffixed.h +94 -0
  229. package/deps/zlib/inflate.c +1413 -0
  230. package/deps/zlib/inflate.h +126 -0
  231. package/deps/zlib/inftrees.c +424 -0
  232. package/deps/zlib/inftrees.h +64 -0
  233. package/deps/zlib/make_vms.com +867 -0
  234. package/deps/zlib/msdos/Makefile.bor +115 -0
  235. package/deps/zlib/msdos/Makefile.dj2 +104 -0
  236. package/deps/zlib/msdos/Makefile.emx +69 -0
  237. package/deps/zlib/msdos/Makefile.msc +112 -0
  238. package/deps/zlib/msdos/Makefile.tc +100 -0
  239. package/deps/zlib/os400/README400 +48 -0
  240. package/deps/zlib/os400/bndsrc +144 -0
  241. package/deps/zlib/os400/make.sh +383 -0
  242. package/deps/zlib/os400/zlibfixed.rpgle +578 -0
  243. package/deps/zlib/os400/zlibfree.rpgle +634 -0
  244. package/deps/zlib/qnx/package.qpg +141 -0
  245. package/deps/zlib/test/CMakeLists.txt +318 -0
  246. package/deps/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -0
  247. package/deps/zlib/test/add_subdirectory_test.cmake.in +28 -0
  248. package/deps/zlib/test/example.c +552 -0
  249. package/deps/zlib/test/find_package_no_components_test.cmake.in +27 -0
  250. package/deps/zlib/test/find_package_test.cmake.in +27 -0
  251. package/deps/zlib/test/find_package_wrong_components_test.cmake.in +27 -0
  252. package/deps/zlib/test/infcover.c +672 -0
  253. package/deps/zlib/test/minigzip.c +592 -0
  254. package/deps/zlib/treebuild.xml +116 -0
  255. package/deps/zlib/trees.c +1119 -0
  256. package/deps/zlib/trees.h +128 -0
  257. package/deps/zlib/uncompr.c +101 -0
  258. package/deps/zlib/watcom/watcom_f.mak +43 -0
  259. package/deps/zlib/watcom/watcom_l.mak +43 -0
  260. package/deps/zlib/win32/DLL_FAQ.txt +381 -0
  261. package/deps/zlib/win32/Makefile.bor +109 -0
  262. package/deps/zlib/win32/Makefile.gcc +177 -0
  263. package/deps/zlib/win32/Makefile.msc +159 -0
  264. package/deps/zlib/win32/README-WIN32.txt +103 -0
  265. package/deps/zlib/win32/VisualC.txt +3 -0
  266. package/deps/zlib/win32/zlib.def +104 -0
  267. package/deps/zlib/win32/zlib1.rc +37 -0
  268. package/deps/zlib/zconf.h.in +551 -0
  269. package/deps/zlib/zlib.3 +149 -0
  270. package/deps/zlib/zlib.3.pdf +0 -0
  271. package/deps/zlib/zlib.h +2057 -0
  272. package/deps/zlib/zlib.map +116 -0
  273. package/deps/zlib/zlib.pc.cmakein +14 -0
  274. package/deps/zlib/zlib.pc.in +14 -0
  275. package/deps/zlib/zlibConfig.cmake.in +18 -0
  276. package/deps/zlib/zutil.c +313 -0
  277. package/deps/zlib/zutil.h +331 -0
  278. package/dist/index.d.ts +266 -0
  279. package/dist/index.js +1146 -0
  280. package/dist/libwz.js +5632 -0
  281. package/dist/libwz.wasm +0 -0
  282. package/include/wz/CRC32.h +182 -0
  283. package/include/wz/PngUtility.h +72 -0
  284. package/include/wz/PortalType.h +124 -0
  285. package/include/wz/Properties/WzBinaryProperty.h +70 -0
  286. package/include/wz/Properties/WzCanvasProperty.h +55 -0
  287. package/include/wz/Properties/WzConvexProperty.h +34 -0
  288. package/include/wz/Properties/WzDoubleProperty.h +32 -0
  289. package/include/wz/Properties/WzFloatProperty.h +30 -0
  290. package/include/wz/Properties/WzIntProperty.h +30 -0
  291. package/include/wz/Properties/WzLongProperty.h +30 -0
  292. package/include/wz/Properties/WzLuaProperty.h +31 -0
  293. package/include/wz/Properties/WzNullProperty.h +15 -0
  294. package/include/wz/Properties/WzPngProperty.h +53 -0
  295. package/include/wz/Properties/WzRawDataProperty.h +46 -0
  296. package/include/wz/Properties/WzShortProperty.h +31 -0
  297. package/include/wz/Properties/WzStringProperty.h +32 -0
  298. package/include/wz/Properties/WzSubProperty.h +35 -0
  299. package/include/wz/Properties/WzUOLProperty.h +44 -0
  300. package/include/wz/Properties/WzVectorProperty.h +40 -0
  301. package/include/wz/Properties/WzVideoProperty.h +43 -0
  302. package/include/wz/Result.h +58 -0
  303. package/include/wz/Util/Defines.h +16 -0
  304. package/include/wz/Util/ListFileParser.h +20 -0
  305. package/include/wz/Util/WzBinaryReader.h +95 -0
  306. package/include/wz/Util/WzBinaryWriter.h +72 -0
  307. package/include/wz/Util/WzBlobDataSource.h +30 -0
  308. package/include/wz/Util/WzDataSource.h +49 -0
  309. package/include/wz/Util/WzKeyGenerator.h +28 -0
  310. package/include/wz/Util/WzMutableKey.h +39 -0
  311. package/include/wz/Util/WzPath.h +37 -0
  312. package/include/wz/Util/WzStream.h +86 -0
  313. package/include/wz/Util/WzTool.h +42 -0
  314. package/include/wz/WzAESConstant.h +17 -0
  315. package/include/wz/WzDirectory.h +97 -0
  316. package/include/wz/WzEnums.h +76 -0
  317. package/include/wz/WzFile.h +99 -0
  318. package/include/wz/WzHeader.h +47 -0
  319. package/include/wz/WzImage.h +97 -0
  320. package/include/wz/WzImageProperty.h +92 -0
  321. package/include/wz/WzObject.h +55 -0
  322. package/include/wz/WzPropertyCollection.h +115 -0
  323. package/include/wz/wz.h +41 -0
  324. package/include/wz/wz_api.h +432 -0
  325. package/package.json +93 -0
  326. package/src/PngUtility.cpp +328 -0
  327. package/src/Properties/WzBinaryProperty.cpp +183 -0
  328. package/src/Properties/WzCanvasProperty.cpp +262 -0
  329. package/src/Properties/WzConvexProperty.cpp +159 -0
  330. package/src/Properties/WzDoubleProperty.cpp +12 -0
  331. package/src/Properties/WzFloatProperty.cpp +17 -0
  332. package/src/Properties/WzIntProperty.cpp +12 -0
  333. package/src/Properties/WzLongProperty.cpp +12 -0
  334. package/src/Properties/WzLuaProperty.cpp +37 -0
  335. package/src/Properties/WzNullProperty.cpp +11 -0
  336. package/src/Properties/WzPngProperty.cpp +637 -0
  337. package/src/Properties/WzRawDataProperty.cpp +116 -0
  338. package/src/Properties/WzShortProperty.cpp +12 -0
  339. package/src/Properties/WzStringProperty.cpp +44 -0
  340. package/src/Properties/WzSubProperty.cpp +129 -0
  341. package/src/Properties/WzUOLProperty.cpp +136 -0
  342. package/src/Properties/WzVectorProperty.cpp +22 -0
  343. package/src/Properties/WzVideoProperty.cpp +115 -0
  344. package/src/Util/ListFileParser.cpp +48 -0
  345. package/src/Util/WzBinaryReader.cpp +368 -0
  346. package/src/Util/WzBinaryWriter.cpp +305 -0
  347. package/src/Util/WzBlobDataSource.cpp +47 -0
  348. package/src/Util/WzDataSource.cpp +61 -0
  349. package/src/Util/WzKeyGenerator.cpp +43 -0
  350. package/src/Util/WzMutableKey.cpp +59 -0
  351. package/src/Util/WzStream.cpp +196 -0
  352. package/src/Util/WzTool.cpp +266 -0
  353. package/src/WzAESConstant.cpp +12 -0
  354. package/src/WzDirectory.cpp +669 -0
  355. package/src/WzEnums.cpp +20 -0
  356. package/src/WzFile.cpp +450 -0
  357. package/src/WzImage.cpp +350 -0
  358. package/src/WzImageProperty.cpp +469 -0
  359. package/src/WzObject.cpp +174 -0
  360. package/src/WzPropertyCollection.cpp +84 -0
  361. package/src/capi/wz_api.cpp +1996 -0
  362. package/src/node/binding.cpp +1776 -0
@@ -0,0 +1,245 @@
1
+ _help_parse: Options affecting listfile parsing
2
+ parse:
3
+ _help_additional_commands:
4
+ - Specify structure for custom cmake functions
5
+ additional_commands:
6
+ foo:
7
+ flags:
8
+ - BAR
9
+ - BAZ
10
+ kwargs:
11
+ HEADERS: '*'
12
+ SOURCES: '*'
13
+ DEPENDS: '*'
14
+ _help_override_spec:
15
+ - Override configurations per-command where available
16
+ override_spec: {}
17
+ _help_vartags:
18
+ - Specify variable tags.
19
+ vartags: []
20
+ _help_proptags:
21
+ - Specify property tags.
22
+ proptags: []
23
+ _help_format: Options affecting formatting.
24
+ format:
25
+ _help_disable:
26
+ - Disable formatting entirely, making cmake-format a no-op
27
+ disable: false
28
+ _help_line_width:
29
+ - How wide to allow formatted cmake files
30
+ line_width: 80
31
+ _help_tab_size:
32
+ - How many spaces to tab for indent
33
+ tab_size: 4
34
+ _help_use_tabchars:
35
+ - If true, lines are indented using tab characters (utf-8
36
+ - 0x09) instead of <tab_size> space characters (utf-8 0x20).
37
+ - In cases where the layout would require a fractional tab
38
+ - character, the behavior of the fractional indentation is
39
+ - governed by <fractional_tab_policy>
40
+ use_tabchars: false
41
+ _help_fractional_tab_policy:
42
+ - If <use_tabchars> is True, then the value of this variable
43
+ - indicates how fractional indentions are handled during
44
+ - whitespace replacement. If set to 'use-space', fractional
45
+ - indentation is left as spaces (utf-8 0x20). If set to
46
+ - '`round-up` fractional indentation is replaced with a single'
47
+ - tab character (utf-8 0x09) effectively shifting the column
48
+ - to the next tabstop
49
+ fractional_tab_policy: use-space
50
+ _help_max_subgroups_hwrap:
51
+ - If an argument group contains more than this many sub-groups
52
+ - (parg or kwarg groups) then force it to a vertical layout.
53
+ max_subgroups_hwrap: 2
54
+ _help_max_pargs_hwrap:
55
+ - If a positional argument group contains more than this many
56
+ - arguments, then force it to a vertical layout.
57
+ max_pargs_hwrap: 6
58
+ _help_max_rows_cmdline:
59
+ - If a cmdline positional group consumes more than this many
60
+ - lines without nesting, then invalidate the layout (and nest)
61
+ max_rows_cmdline: 2
62
+ _help_separate_ctrl_name_with_space:
63
+ - If true, separate flow control names from their parentheses
64
+ - with a space
65
+ separate_ctrl_name_with_space: false
66
+ _help_separate_fn_name_with_space:
67
+ - If true, separate function names from parentheses with a
68
+ - space
69
+ separate_fn_name_with_space: false
70
+ _help_dangle_parens:
71
+ - If a statement is wrapped to more than one line, than dangle
72
+ - the closing parenthesis on its own line.
73
+ dangle_parens: false
74
+ _help_dangle_align:
75
+ - If the trailing parenthesis must be 'dangled' on its on
76
+ - 'line, then align it to this reference: `prefix`: the start'
77
+ - 'of the statement, `prefix-indent`: the start of the'
78
+ - 'statement, plus one indentation level, `child`: align to'
79
+ - the column of the arguments
80
+ dangle_align: prefix
81
+ _help_min_prefix_chars:
82
+ - If the statement spelling length (including space and
83
+ - parenthesis) is smaller than this amount, then force reject
84
+ - nested layouts.
85
+ min_prefix_chars: 4
86
+ _help_max_prefix_chars:
87
+ - If the statement spelling length (including space and
88
+ - parenthesis) is larger than the tab width by more than this
89
+ - amount, then force reject un-nested layouts.
90
+ max_prefix_chars: 10
91
+ _help_max_lines_hwrap:
92
+ - If a candidate layout is wrapped horizontally but it exceeds
93
+ - this many lines, then reject the layout.
94
+ max_lines_hwrap: 2
95
+ _help_line_ending:
96
+ - What style line endings to use in the output.
97
+ line_ending: unix
98
+ _help_command_case:
99
+ - Format command names consistently as 'lower' or 'upper' case
100
+ command_case: canonical
101
+ _help_keyword_case:
102
+ - Format keywords consistently as 'lower' or 'upper' case
103
+ keyword_case: unchanged
104
+ _help_always_wrap:
105
+ - A list of command names which should always be wrapped
106
+ always_wrap: []
107
+ _help_enable_sort:
108
+ - If true, the argument lists which are known to be sortable
109
+ - will be sorted lexicographicall
110
+ enable_sort: true
111
+ _help_autosort:
112
+ - If true, the parsers may infer whether or not an argument
113
+ - list is sortable (without annotation).
114
+ autosort: false
115
+ _help_require_valid_layout:
116
+ - By default, if cmake-format cannot successfully fit
117
+ - everything into the desired linewidth it will apply the
118
+ - last, most aggressive attempt that it made. If this flag is
119
+ - True, however, cmake-format will print error, exit with non-
120
+ - zero status code, and write-out nothing
121
+ require_valid_layout: false
122
+ _help_layout_passes:
123
+ - A dictionary mapping layout nodes to a list of wrap
124
+ - decisions. See the documentation for more information.
125
+ layout_passes: {}
126
+ _help_markup: Options affecting comment reflow and formatting.
127
+ markup:
128
+ _help_bullet_char:
129
+ - What character to use for bulleted lists
130
+ bullet_char: '*'
131
+ _help_enum_char:
132
+ - What character to use as punctuation after numerals in an
133
+ - enumerated list
134
+ enum_char: .
135
+ _help_first_comment_is_literal:
136
+ - If comment markup is enabled, don't reflow the first comment
137
+ - block in each listfile. Use this to preserve formatting of
138
+ - your copyright/license statements.
139
+ first_comment_is_literal: false
140
+ _help_literal_comment_pattern:
141
+ - If comment markup is enabled, don't reflow any comment block
142
+ - which matches this (regex) pattern. Default is `None`
143
+ - (disabled).
144
+ literal_comment_pattern: null
145
+ _help_fence_pattern:
146
+ - Regular expression to match preformat fences in comments
147
+ - default= ``r'^\s*([`~]{3}[`~]*)(.*)$'``
148
+ fence_pattern: ^\s*([`~]{3}[`~]*)(.*)$
149
+ _help_ruler_pattern:
150
+ - Regular expression to match rulers in comments default=
151
+ - '``r''^\s*[^\w\s]{3}.*[^\w\s]{3}$''``'
152
+ ruler_pattern: ^\s*[^\w\s]{3}.*[^\w\s]{3}$
153
+ _help_explicit_trailing_pattern:
154
+ - If a comment line matches starts with this pattern then it
155
+ - is explicitly a trailing comment for the preceding argument.
156
+ - Default is '#<'
157
+ explicit_trailing_pattern: '#<'
158
+ _help_hashruler_min_length:
159
+ - If a comment line starts with at least this many consecutive
160
+ - hash characters, then don't lstrip() them off. This allows
161
+ - for lazy hash rulers where the first hash char is not
162
+ - separated by space
163
+ hashruler_min_length: 10
164
+ _help_canonicalize_hashrulers:
165
+ - If true, then insert a space between the first hash char and
166
+ - remaining hash chars in a hash ruler, and normalize its
167
+ - length to fill the column
168
+ canonicalize_hashrulers: true
169
+ _help_enable_markup:
170
+ - enable comment markup parsing and reflow
171
+ enable_markup: true
172
+ _help_lint: Options affecting the linter
173
+ lint:
174
+ _help_disabled_codes:
175
+ - a list of lint codes to disable
176
+ disabled_codes: []
177
+ _help_function_pattern:
178
+ - regular expression pattern describing valid function names
179
+ function_pattern: '[0-9a-z_]+'
180
+ _help_macro_pattern:
181
+ - regular expression pattern describing valid macro names
182
+ macro_pattern: '[0-9A-Z_]+'
183
+ _help_global_var_pattern:
184
+ - regular expression pattern describing valid names for
185
+ - variables with global (cache) scope
186
+ global_var_pattern: '[A-Z][0-9A-Z_]+'
187
+ _help_internal_var_pattern:
188
+ - regular expression pattern describing valid names for
189
+ - variables with global scope (but internal semantic)
190
+ internal_var_pattern: _[A-Z][0-9A-Z_]+
191
+ _help_local_var_pattern:
192
+ - regular expression pattern describing valid names for
193
+ - variables with local scope
194
+ local_var_pattern: '[a-z][a-z0-9_]+'
195
+ _help_private_var_pattern:
196
+ - regular expression pattern describing valid names for
197
+ - privatedirectory variables
198
+ private_var_pattern: _[0-9a-z_]+
199
+ _help_public_var_pattern:
200
+ - regular expression pattern describing valid names for public
201
+ - directory variables
202
+ public_var_pattern: '[A-Z][0-9A-Z_]+'
203
+ _help_argument_var_pattern:
204
+ - regular expression pattern describing valid names for
205
+ - function/macro arguments and loop variables.
206
+ argument_var_pattern: '[a-z][a-z0-9_]+'
207
+ _help_keyword_pattern:
208
+ - regular expression pattern describing valid names for
209
+ - keywords used in functions or macros
210
+ keyword_pattern: '[A-Z][0-9A-Z_]+'
211
+ _help_max_conditionals_custom_parser:
212
+ - In the heuristic for C0201, how many conditionals to match
213
+ - within a loop in before considering the loop a parser.
214
+ max_conditionals_custom_parser: 2
215
+ _help_min_statement_spacing:
216
+ - Require at least this many newlines between statements
217
+ min_statement_spacing: 1
218
+ _help_max_statement_spacing:
219
+ - Require no more than this many newlines between statements
220
+ max_statement_spacing: 2
221
+ max_returns: 6
222
+ max_branches: 12
223
+ max_arguments: 5
224
+ max_localvars: 15
225
+ max_statements: 50
226
+ _help_encode: Options affecting file encoding
227
+ encode:
228
+ _help_emit_byteorder_mark:
229
+ - If true, emit the unicode byte-order mark (BOM) at the start
230
+ - of the file
231
+ emit_byteorder_mark: false
232
+ _help_input_encoding:
233
+ - Specify the encoding of the input file. Defaults to utf-8
234
+ input_encoding: utf-8
235
+ _help_output_encoding:
236
+ - Specify the encoding of the output file. Defaults to utf-8.
237
+ - Note that cmake only claims to support utf-8 so be careful
238
+ - when using anything else
239
+ output_encoding: utf-8
240
+ _help_misc: Miscellaneous configurations options.
241
+ misc:
242
+ _help_per_command:
243
+ - A dictionary containing any per-command configuration
244
+ - overrides. Currently only `command_case` is supported.
245
+ per_command: {}
@@ -0,0 +1,268 @@
1
+ name: C Standard
2
+
3
+ # Compile with as many C standards as possible.
4
+ # The worflow is setup to fail on any compilation warnings.
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ push:
9
+ pull_request:
10
+
11
+ jobs:
12
+
13
+ main:
14
+ name: ${{ matrix.os.name }} ${{ matrix.compiler }} ${{ matrix.arch.name }} ${{ matrix.std.name }} ${{ matrix.builder }}
15
+ runs-on: ${{ matrix.os.value }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os:
20
+ - name: Linux
21
+ value: ubuntu-latest
22
+
23
+ - name: MacOS
24
+ value: macos-latest
25
+
26
+ - name: Windows
27
+ value: windows-latest
28
+ cmake-opt: -G Ninja
29
+
30
+ - name: Windows ARM64
31
+ value: windows-11-arm
32
+ cmake-opt: -G Ninja
33
+
34
+ compiler:
35
+ - gcc
36
+ - clang
37
+
38
+ arch:
39
+ - name: 64-bit
40
+ tag: amd64
41
+ compiler-opt: -m64
42
+ cmake-opt: -A x64
43
+
44
+ - name: 32-bit
45
+ tag: i386
46
+ compiler-opt: -m32
47
+ cmake-opt: -A Win32
48
+
49
+
50
+ builder:
51
+ - configure
52
+ - cmake
53
+
54
+ std:
55
+ - name: c89
56
+ value: c89
57
+ compiler-opt: -DZLIB_INSECURE
58
+
59
+ - name: gnu89
60
+ value: gnu89
61
+ compiler-opt: -DZLIB_INSECURE
62
+
63
+ - name: c94
64
+ value: iso9899:199409
65
+ compiler-opt: -DZLIB_INSECURE
66
+
67
+ - name: c99
68
+ value: c99
69
+
70
+ - name: gnu99
71
+ value: gnu99
72
+
73
+ - name: c11
74
+ value: c11
75
+
76
+ - name: gnu11
77
+ value: gnu11
78
+
79
+ - name: c17
80
+ value: c17
81
+
82
+ - name: gnu17
83
+ value: gnu17
84
+
85
+ - name: c2x
86
+ value: c2x
87
+
88
+ - name: gnu2x
89
+ value: gnu2x
90
+
91
+ exclude:
92
+ # Don't run 32-bit on MacOS
93
+ - { os: { name: MacOS },
94
+ arch: { tag: i386 } }
95
+
96
+ # Don't run configure on Windows
97
+ - { os: { name: Windows },
98
+ builder: configure }
99
+
100
+ # Don't run configure on Windows ARM64
101
+ - { os: { name: Windows ARM64 },
102
+ builder: configure }
103
+
104
+ # Don't run gcc 32-bit on Windows
105
+ - { os: { name: Windows },
106
+ arch: { tag: i386 } }
107
+
108
+ # Don't run 32 bit on Windows ARM64
109
+ - { os: { name: Windows ARM64 },
110
+ arch: { tag: i386 } }
111
+
112
+ # Don't run gcc on Windows ARM64
113
+ - { os: { name: Windows ARM64 },
114
+ compiler: gcc }
115
+
116
+ steps:
117
+
118
+ - name: Checkout repository
119
+ uses: actions/checkout@v6
120
+ with:
121
+ show-progress: 'false'
122
+
123
+ - name: Install packages (Linux)
124
+ if: runner.os == 'Linux' && matrix.arch.tag == 'i386'
125
+ run: |
126
+ sudo apt-get update
127
+ sudo apt install gcc-multilib libc6-dev-i386-cross
128
+
129
+ - name: Install packages (Windows)
130
+ if: runner.os == 'Windows'
131
+ run: |
132
+ choco install --no-progress ninja
133
+
134
+ - name: Generate project files (configure)
135
+ if: matrix.builder == 'configure'
136
+ run: |
137
+ ./configure
138
+ env:
139
+ CC: ${{ matrix.compiler }}
140
+ CFLAGS: -std=${{ matrix.std.value }} ${{ matrix.std.compiler-opt }} ${{ matrix.arch.compiler-opt }} -Werror -Wall -Wextra
141
+
142
+ - name: Compile source code (configure)
143
+ if: matrix.builder == 'configure'
144
+ run: make -j2
145
+
146
+ - name: Run test cases (configure)
147
+ if: matrix.builder == 'configure'
148
+ run: |
149
+ make test
150
+ # make cover
151
+
152
+ - name: Generate project files (cmake)
153
+ if: matrix.builder == 'cmake'
154
+ run: |
155
+ cmake -S . -B ./build1 -D CMAKE_BUILD_TYPE=Release ${{ matrix.os.cmake-opt }} -DZLIB_BUILD_TESTING=OFF
156
+ env:
157
+ CC: ${{ matrix.compiler }}
158
+ CFLAGS: -std=${{ matrix.std.value }} ${{ matrix.std.compiler-opt }} ${{ matrix.arch.compiler-opt }} -Werror -Wall -Wextra
159
+
160
+ - name: Generate project files with tests (cmake)
161
+ if: matrix.builder == 'cmake'
162
+ run: |
163
+ cmake -S . -B ./build2 -D CMAKE_BUILD_TYPE=Release ${{ matrix.os.cmake-opt }} -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_ENABLE_BZIP2=OFF
164
+ env:
165
+ CC: ${{ matrix.compiler }}
166
+ CFLAGS: -std=${{ matrix.std.value }} ${{ matrix.std.compiler-opt }} ${{ matrix.arch.compiler-opt }} -Wall -Wextra
167
+
168
+ - name: Compile source code (cmake)
169
+ if: matrix.builder == 'cmake'
170
+ run: cmake --build ./build1 --config Release
171
+
172
+ - name: Compile source code with tests (cmake)
173
+ if: matrix.builder == 'cmake'
174
+ run: cmake --build ./build2 --config Release
175
+
176
+ - name: Run test cases (cmake)
177
+ if: matrix.builder == 'cmake'
178
+ run: ctest ./build2 -C Release --output-on-failure --max-width 120
179
+
180
+
181
+ msvc:
182
+ name: ${{ matrix.os.name }} ${{ matrix.compiler }} ${{ matrix.arch.name }} ${{ matrix.std.name }} ${{ matrix.builder }}
183
+ runs-on: ${{ matrix.os.value }}
184
+ strategy:
185
+ fail-fast: false
186
+ matrix:
187
+ os:
188
+ - name: Windows
189
+ value: windows-latest
190
+
191
+ - name: Windows ARM64
192
+ value: windows-11-arm
193
+
194
+ compiler:
195
+ - cl
196
+
197
+ arch:
198
+ - name: 32-bit
199
+ value: -A Win32
200
+
201
+ - name: 64-bit
202
+ value: -A x64
203
+
204
+ - name: ARM64
205
+ value: -A ARM64
206
+
207
+ builder:
208
+ - cmake
209
+
210
+ std:
211
+ - name: default
212
+ value: ""
213
+
214
+ - name: C11
215
+ value: /std:c11
216
+
217
+ - name: C17
218
+ value: /std:c17
219
+
220
+ # not available on the runner yet
221
+ # - name: C20
222
+ # value: /std:c20
223
+
224
+ - name: latest
225
+ value: /std:clatest
226
+
227
+ exclude:
228
+ # Don't run 32-bit on Windows ARM64
229
+ - { os: { name: Windows ARM64 },
230
+ arch: { name: 32-bit } }
231
+
232
+ # Don't run x64 on Windows ARM64
233
+ - { os: { name: Windows ARM64 },
234
+ arch: { name: 64-bit } }
235
+
236
+ # Don't run ARM64 on regular Windows
237
+ - { os: { name: Windows },
238
+ arch: { name: ARM64 } }
239
+
240
+ steps:
241
+
242
+ - name: Checkout repository
243
+ uses: actions/checkout@v6
244
+ with:
245
+ show-progress: 'false'
246
+
247
+ - name: Generate project files (cmake)
248
+ run: |
249
+ cmake -S . -B ./build1 ${{ matrix.arch.value }} -D CMAKE_BUILD_TYPE=Release -DZLIB_BUILD_TESTING=OFF
250
+ env:
251
+ CC: ${{ matrix.compiler }}
252
+ CFLAGS: /WX ${{ matrix.std.value }}
253
+
254
+ - name: Generate project files with tests (cmake)
255
+ run: |
256
+ cmake -S . -B ./build2 ${{ matrix.arch.value }} -D CMAKE_BUILD_TYPE=Release -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_ENABLE_BZIP2=OFF
257
+ env:
258
+ CC: ${{ matrix.compiler }}
259
+ CFLAGS: ${{ matrix.std.value }}
260
+
261
+ - name: Compile source code (cmake)
262
+ run: cmake --build ./build1 --config Release -v
263
+
264
+ - name: Compile source code with tests(cmake)
265
+ run: cmake --build ./build2 --config Release -v
266
+
267
+ - name: Run test cases (cmake)
268
+ run: ctest ./build2 -C Release --output-on-failure --max-width 120
@@ -0,0 +1,147 @@
1
+ name: CMake
2
+ on: [push, pull_request]
3
+ jobs:
4
+ ci-cmake:
5
+ name: ${{ matrix.name }}
6
+ runs-on: ${{ matrix.os }}
7
+ strategy:
8
+ fail-fast: false
9
+ matrix:
10
+ include:
11
+ - name: Ubuntu GCC
12
+ os: ubuntu-latest
13
+ compiler: gcc
14
+ cflags: -Wall -Wextra
15
+ pkgtgt: package package_source
16
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
17
+
18
+ - name: Ubuntu GCC no shared
19
+ os: ubuntu-latest
20
+ compiler: gcc
21
+ cflags: -Wall -Wextra
22
+ pkgtgt: package package_source
23
+ cmake-args: -DZLIB_BUILD_SHARED=OFF -DMINIZIP_ENABLE_BZIP2=ON
24
+
25
+ - name: Ubuntu GCC no static
26
+ os: ubuntu-latest
27
+ compiler: gcc
28
+ cflags: -Wall -Wextra
29
+ pkgtgt: package package_source
30
+ cmake-args: -DZLIB_BUILD_STATIC=OFF -DMINIZIP_ENABLE_BZIP2=ON
31
+
32
+ - name: Ubuntu GCC -O3
33
+ os: ubuntu-latest
34
+ compiler: gcc
35
+ cflags: -O3 -Wall -Wextra
36
+ pkgtgt: package package_source
37
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
38
+
39
+ - name: Ubuntu Clang
40
+ os: ubuntu-latest
41
+ compiler: clang
42
+ cflags: -Wall -Wextra
43
+ pkgtgt: package package_source
44
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
45
+
46
+ - name: Ubuntu Clang Debug
47
+ os: ubuntu-latest
48
+ compiler: clang
49
+ cflags: -Wall -Wextra
50
+ build-config: Debug
51
+ pkgtgt: package package_source
52
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
53
+
54
+ - name: Windows MSVC Win32
55
+ os: windows-latest
56
+ compiler: cl
57
+ cflags: /W3
58
+ cmake-args: -A Win32
59
+ pkgtgt: PACKAGE
60
+
61
+ - name: Windows MSVC Win64
62
+ os: windows-latest
63
+ compiler: cl
64
+ cflags: /W3
65
+ cmake-args: -A x64 -DMINIZIP_ENABLE_BZIP2=OFF
66
+ pkgtgt: PACKAGE
67
+
68
+ - name: Windows MSVC ARM64
69
+ os: windows-11-arm
70
+ compiler: cl
71
+ cflags: /W3
72
+ cmake-args: -A ARM64 -DMINIZIP_ENABLE_BZIP2=OFF
73
+ pkgtgt: PACKAGE
74
+
75
+ - name: Windows GCC
76
+ os: windows-latest
77
+ compiler: gcc
78
+ cflags: -Wall -Wextra
79
+ cmake-args: -G Ninja -DMINIZIP_ENABLE_BZIP2=OFF
80
+ pkgtgt: package
81
+
82
+ - name: macOS Clang
83
+ os: macos-latest
84
+ compiler: clang
85
+ cflags: -Wall -Wextra
86
+ pkgtgt: package
87
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
88
+
89
+ - name: macOS GCC 13
90
+ os: macos-latest
91
+ compiler: gcc-13
92
+ cflags: -Wall -Wextra
93
+ pkgtgt: package
94
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
95
+
96
+ - name: macOS GCC 14
97
+ os: macos-latest
98
+ compiler: gcc-14
99
+ cflags: -Wall -Wextra
100
+ pkgtgt: package
101
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
102
+
103
+ - name: macOS GCC 15
104
+ os: macos-latest
105
+ compiler: gcc-15
106
+ cflags: -Wall -Wextra
107
+ pkgtgt: package
108
+ cmake-args: -DMINIZIP_ENABLE_BZIP2=ON
109
+
110
+ steps:
111
+ - name: Checkout repository
112
+ uses: actions/checkout@v6
113
+
114
+ - name: Install packages (Windows)
115
+ if: runner.os == 'Windows'
116
+ run: |
117
+ choco install --no-progress nsis
118
+
119
+ - name: Install packages (Linux)
120
+ if: runner.os == 'Linux'
121
+ run: |
122
+ sudo apt install libbz2-dev
123
+ - name: Generate project files
124
+ run: cmake -S . -B ../build ${{ matrix.cmake-args }} -D CMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} -DZLIB_BUILD_MINIZIP=ON
125
+ env:
126
+ CC: ${{ matrix.compiler }}
127
+ CFLAGS: ${{ matrix.cflags }}
128
+
129
+ - name: Compile source code
130
+ run: cmake --build ../build --config ${{ matrix.build-config || 'Release' }}
131
+
132
+ - name: Run test cases
133
+ run: ctest -C Release --output-on-failure --max-width 120
134
+ working-directory: ../build
135
+
136
+ - name: create packages
137
+ run: cmake --build ../build --config ${{ matrix.build-config || 'Release' }} -t ${{ matrix.pkgtgt }}
138
+
139
+ - name: Upload build errors
140
+ uses: actions/upload-artifact@v6
141
+ if: failure()
142
+ with:
143
+ name: ${{ matrix.name }} (cmake)
144
+ path: |
145
+ ../build/CMakeFiles/CMakeOutput.log
146
+ ../build/CMakeFiles/CMakeError.log
147
+ retention-days: 7