react-native-nitro-xlsx 0.2.5 → 0.2.7
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.
- package/NitroXlsx.podspec +26 -27
- package/Package.swift +31 -10
- package/README.md +21 -9
- package/android/CMakeLists.txt +20 -27
- package/cpp/HybridNitroXlsx.cpp +25 -1
- package/cpp/HybridXlsxCellFormat.cpp +46 -146
- package/cpp/HybridXlsxCellFormat.hpp +9 -41
- package/cpp/HybridXlsxConditionalFormat.cpp +4 -1
- package/cpp/HybridXlsxConditionalFormats.cpp +5 -1
- package/cpp/HybridXlsxWorkbook.cpp +38 -8
- package/cpp/HybridXlsxWorkbook.hpp +10 -1
- package/cpp/HybridXlsxWorksheet.cpp +422 -141
- package/cpp/HybridXlsxWorksheet.hpp +4 -1
- package/cpp/XlsxCacheDir.cpp +25 -2
- package/cpp/XlsxCacheDir.hpp +3 -1
- package/cpp/XlsxCellStyle.hpp +360 -0
- package/cpp/XlsxJson.cpp +29 -8
- package/package.json +2 -2
- package/scripts/run-cpp-tests.sh +1 -1
- package/scripts/sync-openxlsx-headers.sh +34 -0
- package/src/__mocks__/react-native-nitro-modules.ts +523 -20
- package/src/__tests__/index.test.ts +124 -16
- package/src/index.ts +13 -13
- package/thirdparty/OpenXLSX/.clang-format +118 -0
- package/thirdparty/OpenXLSX/.clang-tidy +28 -0
- package/thirdparty/OpenXLSX/.gitignore +130 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_before_XMLNode_wrappers +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_and_stripping +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_char_support +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_support +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespaced_name_disabled +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-08-11-benchmarks_post-XLCellIterator-Rework +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-08-14-benchmarks_post-default-row-column-style-support +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-09-02-benchmarks +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-12-19-benchmarks +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-12-30-benchmarks-post-XLSharedStrings-by-ref +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-09-benchmarks-post-conditionalFormatsAndSheetProtection +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-10-benchmarks-post-XLCellValue-bugfix +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-31-benchmarks-post-XLComments-implementation +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-02-02-benchmarks-post-XLRowIterator-Rework +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-07-20-benchmarks-after-hiding-pugixml-internals +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-08-29-benchmarks-after-code-review-with-libzip +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/Benchmark.cpp +249 -0
- package/thirdparty/OpenXLSX/Benchmarks/CMakeLists.txt +19 -0
- package/thirdparty/OpenXLSX/CMakeLists.txt +466 -0
- package/thirdparty/OpenXLSX/Documentation/CMakeLists.txt +31 -0
- package/thirdparty/OpenXLSX/Documentation/Doxyfile.in +2471 -0
- package/thirdparty/OpenXLSX/Documentation/DoxygenLayout.xml +194 -0
- package/thirdparty/OpenXLSX/Documentation/customdoxygen.css +1355 -0
- package/thirdparty/OpenXLSX/Examples/CMakeLists.txt +103 -0
- package/thirdparty/OpenXLSX/Examples/Demo1.cpp +279 -0
- package/thirdparty/OpenXLSX/Examples/Demo10.cpp +545 -0
- package/thirdparty/OpenXLSX/Examples/Demo1A.cpp +137 -0
- package/thirdparty/OpenXLSX/Examples/Demo2.cpp +65 -0
- package/thirdparty/OpenXLSX/Examples/Demo3.cpp +89 -0
- package/thirdparty/OpenXLSX/Examples/Demo4.cpp +86 -0
- package/thirdparty/OpenXLSX/Examples/Demo5.cpp +77 -0
- package/thirdparty/OpenXLSX/Examples/Demo6.cpp +103 -0
- package/thirdparty/OpenXLSX/Examples/Demo7.cpp +79 -0
- package/thirdparty/OpenXLSX/Examples/Demo8.cpp +117 -0
- package/thirdparty/OpenXLSX/Examples/Demo9.cpp +363 -0
- package/thirdparty/OpenXLSX/Examples/cmake/FindLIBZIP.cmake +61 -0
- package/thirdparty/OpenXLSX/Examples/external/CustomZip/CustomZip.hpp +256 -0
- package/thirdparty/OpenXLSX/LICENSE.md +29 -0
- package/thirdparty/OpenXLSX/Makefile.GNU +530 -0
- package/thirdparty/OpenXLSX/Notes/TBDs.txt +16 -0
- package/thirdparty/OpenXLSX/Notes/confirmed-TBCs.txt +8 -0
- package/thirdparty/OpenXLSX/Notes/styles-missing-support.xml +12 -0
- package/thirdparty/OpenXLSX/Notes/todo-list.txt +108 -0
- package/thirdparty/OpenXLSX/OpenXLSX/CMakeLists.txt +631 -0
- package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSX.hpp +63 -0
- package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSXConfig.cmake +11 -0
- package/thirdparty/OpenXLSX/OpenXLSX/cmake/bundle_static_library.cmake +198 -0
- package/thirdparty/OpenXLSX/OpenXLSX/cmake/patch_pkg_config.cmake +69 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/IZipArchive.hpp +361 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/IZipArchive.hpp +361 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/OpenXLSX-Exports.hpp +12 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCell.hpp +367 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellIterator.hpp +252 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellRange.hpp +223 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellReference.hpp +317 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellValue.hpp +793 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLColor.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLColumn.hpp +159 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCommandQuery.hpp +228 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLComments.hpp +270 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLConstants.hpp +18 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLContentTypes.hpp +264 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDateTime.hpp +175 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDocument.hpp +505 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDrawing.hpp +452 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLException.hpp +161 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLFormula.hpp +375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLIterator.hpp +40 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLMergeCells.hpp +216 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLProperties.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRelationships.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRow.hpp +721 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRowData.hpp +488 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLSharedStrings.hpp +204 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLSheet.hpp +1640 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLStyles.hpp +2390 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLTables.hpp +132 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLWorkbook.hpp +404 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlData.hpp +283 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlFile.hpp +194 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlParser.hpp +282 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlParserForwardDeclarations.hpp +85 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLZipArchive.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/LibZip.hpp +447 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/OpenXLSXFileSystemTools.hpp +207 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/Zippy.hpp +1375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX-Exports.hpp +12 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCell.hpp +367 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellIterator.hpp +252 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellRange.hpp +223 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellReference.hpp +317 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellValue.hpp +793 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColor.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColumn.hpp +159 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCommandQuery.hpp +228 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLComments.hpp +270 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLConstants.hpp +18 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLContentTypes.hpp +264 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDateTime.hpp +175 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDocument.hpp +505 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDrawing.hpp +452 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLException.hpp +161 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLFormula.hpp +375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLIterator.hpp +40 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLMergeCells.hpp +216 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLProperties.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRelationships.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRow.hpp +721 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRowData.hpp +488 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSharedStrings.hpp +204 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSheet.hpp +1640 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLStyles.hpp +2390 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLTables.hpp +132 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLWorkbook.hpp +404 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlData.hpp +283 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlFile.hpp +194 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParser.hpp +282 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParserForwardDeclarations.hpp +85 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLZipArchive.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/LibZip.hpp +447 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/OpenXLSXFileSystemTools.hpp +207 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp +1375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCell.cpp +340 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellIterator.cpp +427 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellRange.cpp +221 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellReference.cpp +408 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellValue.cpp +519 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColor.cpp +202 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColumn.cpp +141 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLComments.cpp +637 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLContentTypes.cpp +329 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDateTime.cpp +269 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDocument.cpp +1678 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDrawing.cpp +784 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLFormula.cpp +201 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLMergeCells.cpp +357 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLProperties.cpp +810 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRelationships.cpp +529 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRow.cpp +918 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRowData.cpp +508 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSharedStrings.cpp +220 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSheet.cpp +1970 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLStyles.cpp +3014 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLTables.cpp +125 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLWorkbook.cpp +784 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlData.cpp +247 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlFile.cpp +160 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlParser.cpp +261 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLZipArchive.cpp +266 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/utilities/XLUtilities.hpp +478 -0
- package/thirdparty/OpenXLSX/README.md +1279 -0
- package/thirdparty/OpenXLSX/Scripts/cmake-cleanup.sh +102 -0
- package/thirdparty/OpenXLSX/Scripts/compile.sh +23 -0
- package/thirdparty/OpenXLSX/Scripts/demos-cleanup.sh +25 -0
- package/thirdparty/OpenXLSX/Scripts/demos-run-all.sh +60 -0
- package/thirdparty/OpenXLSX/Scripts/guarded-xml-format.sh +47 -0
- package/thirdparty/OpenXLSX/Scripts/make-gnu.sh +11 -0
- package/thirdparty/OpenXLSX/Scripts/uninstall-manifest.sh +48 -0
- package/thirdparty/OpenXLSX/Scripts/xml-format-all.sh +19 -0
- package/thirdparty/OpenXLSX/Scripts/xml-format.sh +38 -0
- package/thirdparty/OpenXLSX/Tests/CMakeLists.txt +37 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch.hpp +17799 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_automake.hpp +68 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_sonarqube.hpp +182 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_tap.hpp +278 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_teamcity.hpp +212 -0
- package/thirdparty/OpenXLSX/Tests/main.cpp +55 -0
- package/thirdparty/OpenXLSX/Tests/testXLCell.cpp +176 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellRange.cpp +180 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellReference.cpp +160 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellValue.cpp +366 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellValueProxy.cpp +255 -0
- package/thirdparty/OpenXLSX/Tests/testXLColor.cpp +75 -0
- package/thirdparty/OpenXLSX/Tests/testXLDateTime.cpp +229 -0
- package/thirdparty/OpenXLSX/Tests/testXLDocument.cpp +197 -0
- package/thirdparty/OpenXLSX/Tests/testXLFormula.cpp +131 -0
- package/thirdparty/OpenXLSX/Tests/testXLRow.cpp +597 -0
- package/thirdparty/OpenXLSX/Tests/testXLSheet.cpp +77 -0
- package/thirdparty/OpenXLSX/Tests/ziptest-with-libs.cpp +88 -0
- package/thirdparty/OpenXLSX/Tests/ziptest.cpp +735 -0
- package/thirdparty/OpenXLSX/cmake/get-git-HEAD-ID.cmake +45 -0
- package/thirdparty/OpenXLSX/cmake/libopenxlsxCPackOptions.cmake.in +20 -0
- package/thirdparty/OpenXLSX/cmake/manage_dependency.cmake +813 -0
- package/thirdparty/OpenXLSX/cmake/recursive_library_type_test.cmake +52 -0
- package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-shared.hpp +42 -0
- package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-static.hpp +42 -0
- package/thirdparty/OpenXLSX/vcpkg.json +24 -0
- package/thirdparty/README.md +46 -0
- package/thirdparty/miniz/.clang-format +47 -0
- package/thirdparty/miniz/.travis.yml +2 -0
- package/thirdparty/miniz/CMakeLists.txt +333 -0
- package/thirdparty/miniz/CMakePresets.json +31 -0
- package/thirdparty/miniz/ChangeLog.md +272 -0
- package/thirdparty/miniz/Config.cmake.in +1 -0
- package/thirdparty/miniz/LICENSE +22 -0
- package/thirdparty/miniz/amalgamate.sh +57 -0
- package/thirdparty/miniz/examples/example1.c +105 -0
- package/thirdparty/miniz/examples/example2.c +164 -0
- package/thirdparty/miniz/examples/example3.c +269 -0
- package/thirdparty/miniz/examples/example4.c +102 -0
- package/thirdparty/miniz/examples/example5.c +327 -0
- package/thirdparty/miniz/examples/example6.c +189 -0
- package/thirdparty/miniz/meson.build +21 -0
- package/thirdparty/miniz/miniz.c +646 -0
- package/thirdparty/miniz/miniz.h +615 -0
- package/thirdparty/miniz/miniz.pc.in +13 -0
- package/thirdparty/miniz/miniz_common.h +89 -0
- package/thirdparty/miniz/miniz_export.h +20 -0
- package/thirdparty/miniz/miniz_tdef.c +1602 -0
- package/thirdparty/miniz/miniz_tdef.h +199 -0
- package/thirdparty/miniz/miniz_tinfl.c +778 -0
- package/thirdparty/miniz/miniz_tinfl.h +150 -0
- package/thirdparty/miniz/miniz_zip.c +4895 -0
- package/thirdparty/miniz/miniz_zip.h +454 -0
- package/thirdparty/miniz/readme.md +46 -0
- package/thirdparty/miniz/test.sh +36 -0
- package/thirdparty/miniz/tests/add_in_place_fuzzer.c +87 -0
- package/thirdparty/miniz/tests/catch_amalgamated.cpp +10795 -0
- package/thirdparty/miniz/tests/catch_amalgamated.hpp +13143 -0
- package/thirdparty/miniz/tests/checksum_fuzzer.c +26 -0
- package/thirdparty/miniz/tests/compress_fuzzer.c +91 -0
- package/thirdparty/miniz/tests/flush_fuzzer.c +88 -0
- package/thirdparty/miniz/tests/fuzz_main.c +55 -0
- package/thirdparty/miniz/tests/large_fuzzer.c +133 -0
- package/thirdparty/miniz/tests/main.cpp +185 -0
- package/thirdparty/miniz/tests/miniz_tdefl_fuzzer.cc +115 -0
- package/thirdparty/miniz/tests/miniz_tester.cpp +1881 -0
- package/thirdparty/miniz/tests/miniz_zip_validate_fuzzer.cc +71 -0
- package/thirdparty/miniz/tests/miniz_zip_writer_fuzzer.cc +96 -0
- package/thirdparty/miniz/tests/ossfuzz.sh +48 -0
- package/thirdparty/miniz/tests/small_fuzzer.c +126 -0
- package/thirdparty/miniz/tests/timer.cpp +152 -0
- package/thirdparty/miniz/tests/timer.h +40 -0
- package/thirdparty/miniz/tests/uncompress2_fuzzer.c +21 -0
- package/thirdparty/miniz/tests/uncompress_fuzzer.c +30 -0
- package/thirdparty/miniz/tests/zip.dict +9 -0
- package/thirdparty/miniz/tests/zip_fuzzer.c +63 -0
- package/thirdparty/pugixml/.codecov.yml +7 -0
- package/thirdparty/pugixml/.gitattributes +1 -0
- package/thirdparty/pugixml/CMakeLists.txt +330 -0
- package/thirdparty/pugixml/LICENSE.md +24 -0
- package/thirdparty/pugixml/Makefile +98 -0
- package/thirdparty/pugixml/README.md +81 -0
- package/thirdparty/pugixml/SECURITY.md +9 -0
- package/thirdparty/pugixml/appveyor.yml +50 -0
- package/thirdparty/pugixml/docs/config.adoc +7 -0
- package/thirdparty/pugixml/docs/images/dom_tree.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_link1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_link2.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch2.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch3.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch4.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2010_link1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2010_link2.png +0 -0
- package/thirdparty/pugixml/docs/manual.adoc +3326 -0
- package/thirdparty/pugixml/docs/manual.html +6395 -0
- package/thirdparty/pugixml/docs/quickstart.adoc +287 -0
- package/thirdparty/pugixml/docs/quickstart.html +1107 -0
- package/thirdparty/pugixml/docs/samples/character.xml +8 -0
- package/thirdparty/pugixml/docs/samples/custom_memory_management.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/include.cpp +64 -0
- package/thirdparty/pugixml/docs/samples/load_error_handling.cpp +33 -0
- package/thirdparty/pugixml/docs/samples/load_file.cpp +16 -0
- package/thirdparty/pugixml/docs/samples/load_memory.cpp +66 -0
- package/thirdparty/pugixml/docs/samples/load_options.cpp +30 -0
- package/thirdparty/pugixml/docs/samples/load_stream.cpp +97 -0
- package/thirdparty/pugixml/docs/samples/modify_add.cpp +29 -0
- package/thirdparty/pugixml/docs/samples/modify_base.cpp +43 -0
- package/thirdparty/pugixml/docs/samples/modify_remove.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/save_custom_writer.cpp +116 -0
- package/thirdparty/pugixml/docs/samples/save_declaration.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/save_file.cpp +17 -0
- package/thirdparty/pugixml/docs/samples/save_options.cpp +48 -0
- package/thirdparty/pugixml/docs/samples/save_stream.cpp +18 -0
- package/thirdparty/pugixml/docs/samples/save_subtree.cpp +26 -0
- package/thirdparty/pugixml/docs/samples/text.cpp +35 -0
- package/thirdparty/pugixml/docs/samples/transitions.xml +7 -0
- package/thirdparty/pugixml/docs/samples/traverse_base.cpp +51 -0
- package/thirdparty/pugixml/docs/samples/traverse_iter.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/traverse_predicate.cpp +48 -0
- package/thirdparty/pugixml/docs/samples/traverse_rangefor.cpp +32 -0
- package/thirdparty/pugixml/docs/samples/traverse_walker.cpp +35 -0
- package/thirdparty/pugixml/docs/samples/tree.xml +12 -0
- package/thirdparty/pugixml/docs/samples/weekly-shift_jis.xml +78 -0
- package/thirdparty/pugixml/docs/samples/weekly-utf-16.xml +0 -0
- package/thirdparty/pugixml/docs/samples/weekly-utf-8.xml +78 -0
- package/thirdparty/pugixml/docs/samples/xgconsole.xml +12 -0
- package/thirdparty/pugixml/docs/samples/xpath_error.cpp +43 -0
- package/thirdparty/pugixml/docs/samples/xpath_query.cpp +36 -0
- package/thirdparty/pugixml/docs/samples/xpath_select.cpp +28 -0
- package/thirdparty/pugixml/docs/samples/xpath_variables.cpp +38 -0
- package/thirdparty/pugixml/readme.txt +50 -0
- package/thirdparty/pugixml/scripts/archive.py +54 -0
- package/thirdparty/pugixml/scripts/cocoapods_push.sh +4 -0
- package/thirdparty/pugixml/scripts/natvis/pugixml.natvis +77 -0
- package/thirdparty/pugixml/scripts/natvis/pugixml_compact.natvis +506 -0
- package/thirdparty/pugixml/scripts/nuget/build/native/pugixml-propertiesui.xml +17 -0
- package/thirdparty/pugixml/scripts/nuget/build/native/pugixml.targets +28 -0
- package/thirdparty/pugixml/scripts/nuget/pugixml.nuspec +20 -0
- package/thirdparty/pugixml/scripts/nuget_build.ps1 +60 -0
- package/thirdparty/pugixml/scripts/premake4.lua +92 -0
- package/thirdparty/pugixml/scripts/pugixml-config.cmake.in +12 -0
- package/thirdparty/pugixml/scripts/pugixml.pc.in +11 -0
- package/thirdparty/pugixml/scripts/pugixml.podspec +14 -0
- package/thirdparty/pugixml/scripts/pugixml.xcodeproj/project.pbxproj +212 -0
- package/thirdparty/pugixml/scripts/pugixml_airplay.mkf +13 -0
- package/thirdparty/pugixml/scripts/pugixml_codeblocks.cbp +44 -0
- package/thirdparty/pugixml/scripts/pugixml_codelite.project +56 -0
- package/thirdparty/pugixml/scripts/pugixml_dll.rc +45 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2005.vcproj +343 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2005_static.vcproj +343 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2008.vcproj +339 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2008_static.vcproj +339 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2010.vcxproj +191 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2010_static.vcxproj +191 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2013.vcxproj +199 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2013_static.vcxproj +199 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2015.vcxproj +172 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2015_static.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2017.vcxproj +172 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2017_static.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2019.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2019_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2022.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2022_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2026.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2026_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/sbom.cdx.json +47 -0
- package/thirdparty/pugixml/src/pugiconfig.hpp +81 -0
- package/thirdparty/pugixml/src/pugixml.cpp +13776 -0
- package/thirdparty/pugixml/src/pugixml.hpp +1604 -0
- package/thirdparty/pugixml/tests/allocator.cpp +175 -0
- package/thirdparty/pugixml/tests/allocator.hpp +10 -0
- package/thirdparty/pugixml/tests/autotest-appveyor.ps1 +93 -0
- package/thirdparty/pugixml/tests/cmake-appveyor.ps1 +57 -0
- package/thirdparty/pugixml/tests/data/empty.xml +0 -0
- package/thirdparty/pugixml/tests/data/large.xml +1 -0
- package/thirdparty/pugixml/tests/data/latintest_latin1.xml +1 -0
- package/thirdparty/pugixml/tests/data/latintest_utf8.xml +1 -0
- package/thirdparty/pugixml/tests/data/multiline.xml +3 -0
- package/thirdparty/pugixml/tests/data/small.xml +1 -0
- package/thirdparty/pugixml/tests/data/truncation.xml +19 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8.xml +87 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_bom.xml +87 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_clean.xml +84 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_nodecl.xml +86 -0
- package/thirdparty/pugixml/tests/data//321/202/320/265/321/201/321/202.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/basic.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/doctype.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/refs.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/types.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/utf16.xml +0 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/utf32.xml +0 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/basic.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/functions.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/math.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/path.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/predicate.xpath +1 -0
- package/thirdparty/pugixml/tests/fuzz_parse.cpp +14 -0
- package/thirdparty/pugixml/tests/fuzz_parse.dict +72 -0
- package/thirdparty/pugixml/tests/fuzz_setup.sh +11 -0
- package/thirdparty/pugixml/tests/fuzz_xpath.cpp +46 -0
- package/thirdparty/pugixml/tests/fuzz_xpath.dict +72 -0
- package/thirdparty/pugixml/tests/helpers.hpp +114 -0
- package/thirdparty/pugixml/tests/main.cpp +218 -0
- package/thirdparty/pugixml/tests/test.cpp +220 -0
- package/thirdparty/pugixml/tests/test.hpp +175 -0
- package/thirdparty/pugixml/tests/test_compact.cpp +150 -0
- package/thirdparty/pugixml/tests/test_deprecated.cpp +25 -0
- package/thirdparty/pugixml/tests/test_document.cpp +1910 -0
- package/thirdparty/pugixml/tests/test_dom_modify.cpp +2122 -0
- package/thirdparty/pugixml/tests/test_dom_text.cpp +601 -0
- package/thirdparty/pugixml/tests/test_dom_traverse.cpp +1481 -0
- package/thirdparty/pugixml/tests/test_header_guard.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iosfwd_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iosfwd_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iostream_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iostream_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_only_1.cpp +21 -0
- package/thirdparty/pugixml/tests/test_header_only_2.cpp +21 -0
- package/thirdparty/pugixml/tests/test_header_string_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_string_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_string_iostream.cpp +5 -0
- package/thirdparty/pugixml/tests/test_memory.cpp +303 -0
- package/thirdparty/pugixml/tests/test_parse.cpp +1463 -0
- package/thirdparty/pugixml/tests/test_parse_doctype.cpp +366 -0
- package/thirdparty/pugixml/tests/test_unicode.cpp +152 -0
- package/thirdparty/pugixml/tests/test_version.cpp +5 -0
- package/thirdparty/pugixml/tests/test_write.cpp +757 -0
- package/thirdparty/pugixml/tests/test_xpath.cpp +833 -0
- package/thirdparty/pugixml/tests/test_xpath_api.cpp +646 -0
- package/thirdparty/pugixml/tests/test_xpath_functions.cpp +844 -0
- package/thirdparty/pugixml/tests/test_xpath_operators.cpp +566 -0
- package/thirdparty/pugixml/tests/test_xpath_parse.cpp +428 -0
- package/thirdparty/pugixml/tests/test_xpath_paths.cpp +787 -0
- package/thirdparty/pugixml/tests/test_xpath_paths_abbrev_w3c.cpp +219 -0
- package/thirdparty/pugixml/tests/test_xpath_paths_w3c.cpp +312 -0
- package/thirdparty/pugixml/tests/test_xpath_variables.cpp +683 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_1.cpp +411 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_2.cpp +417 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_3.cpp +321 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_4.cpp +300 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_5.cpp +295 -0
- package/thirdparty/pugixml/tests/writer_string.cpp +79 -0
- package/thirdparty/pugixml/tests/writer_string.hpp +27 -0
- package/scripts/prepare-openxlsx.js +0 -126
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Function: recursive_library_type_test
|
|
2
|
+
# Purpose: test what library types a target is linking to, recurse into subtargets for INTERFACE_LIBRARY types
|
|
3
|
+
# Parameters:
|
|
4
|
+
# TARGET_NAME test this library target
|
|
5
|
+
# Returns:
|
|
6
|
+
# ${TARGET_NAME}_HAS_STATIC (PARENT_SCOPE): TRUE if at least one static library is linked
|
|
7
|
+
# ${TARGET_NAME}_HAS_SHARED (PARENT_SCOPE): TRUE if at least one shared library is linked
|
|
8
|
+
# Author: Lars Uffmann (coding23@uffmann.name)
|
|
9
|
+
function(recursive_library_type_test TARGET_NAME PREFIX)
|
|
10
|
+
set(_has_static FALSE)
|
|
11
|
+
set(_has_shared FALSE)
|
|
12
|
+
|
|
13
|
+
message( VERBOSE " recursive_library_type_test:${PREFIX} TARGET ${TARGET_NAME}" )
|
|
14
|
+
|
|
15
|
+
get_target_property(_type ${TARGET_NAME} TYPE)
|
|
16
|
+
if("${_type}" STREQUAL "STATIC_LIBRARY")
|
|
17
|
+
set(_has_static TRUE)
|
|
18
|
+
message( DEBUG " recursive_library_type_test:${PREFIX} ${TARGET_NAME} is STATIC_LIBRARY" )
|
|
19
|
+
elseif("${_type}" STREQUAL "SHARED_LIBRARY")
|
|
20
|
+
set(_has_shared TRUE)
|
|
21
|
+
message( DEBUG " recursive_library_type_test:${PREFIX} ${TARGET_NAME} is SHARED_LIBRARY" )
|
|
22
|
+
elseif("${_type}" STREQUAL "INTERFACE_LIBRARY")
|
|
23
|
+
get_target_property(_links ${TARGET_NAME} INTERFACE_LINK_LIBRARIES)
|
|
24
|
+
message( DEBUG " recursive_library_type_test:${PREFIX} ${TARGET_NAME} is INTERFACE_LIBRARY, INTERFACE_LINK_LIBRARIES is ${_links}" )
|
|
25
|
+
foreach(_link IN LISTS _links)
|
|
26
|
+
if(TARGET ${_link})
|
|
27
|
+
recursive_library_type_test( ${_link} " ${PREFIX}" ) # recurse
|
|
28
|
+
if(${_link}_HAS_STATIC)
|
|
29
|
+
set(_has_static TRUE)
|
|
30
|
+
message( DEBUG " recursive_library_type_test:${PREFIX} recursion found a static lib in ${_link}" )
|
|
31
|
+
endif()
|
|
32
|
+
if(${_link}_HAS_SHARED)
|
|
33
|
+
set(_has_shared TRUE)
|
|
34
|
+
message( DEBUG " recursive_library_type_test:${PREFIX} recursion found a shared lib in ${_link}" )
|
|
35
|
+
endif()
|
|
36
|
+
# message( DEBUG " ${_link}_HAS_STATIC is ${${_link}_HAS_STATIC}, ${_link}_HAS_SHARED is ${${_link}_HAS_SHARED}" )
|
|
37
|
+
elseif(IS_ABSOLUTE "${_link}")
|
|
38
|
+
# _link is a path: check extension (.a/.lib => static; .so/.dylib/.dll => shared)
|
|
39
|
+
message( FATAL_ERROR "recursive_library_type_test:${PREFIX} absolute: ${_link} - still need to address this" )
|
|
40
|
+
else()
|
|
41
|
+
# _link might be a linker name (-lfoo) or generator expression; handle below
|
|
42
|
+
message( FATAL_ERROR "recursive_library_type_test:${PREFIX} linker name? ${_link} - still need to address this" )
|
|
43
|
+
endif()
|
|
44
|
+
endforeach()
|
|
45
|
+
else()
|
|
46
|
+
endif()
|
|
47
|
+
|
|
48
|
+
message( VERBOSE " recursive_library_type_test:${PREFIX} TARGET ${TARGET_NAME} _has_static is ${_has_static}, _has_shared is ${_has_shared}" )
|
|
49
|
+
set(${TARGET_NAME}_HAS_STATIC ${_has_static} PARENT_SCOPE)
|
|
50
|
+
set(${TARGET_NAME}_HAS_SHARED ${_has_shared} PARENT_SCOPE)
|
|
51
|
+
endfunction()
|
|
52
|
+
# End of Function: recursive_library_type_test
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
|
|
2
|
+
#ifndef OPENXLSX_EXPORT_H
|
|
3
|
+
#define OPENXLSX_EXPORT_H
|
|
4
|
+
|
|
5
|
+
#ifdef OPENXLSX_STATIC_DEFINE
|
|
6
|
+
# define OPENXLSX_EXPORT
|
|
7
|
+
# define OPENXLSX_HIDDEN
|
|
8
|
+
#else
|
|
9
|
+
# ifndef OPENXLSX_EXPORT
|
|
10
|
+
# ifdef OpenXLSX_EXPORTS
|
|
11
|
+
/* We are building this library */
|
|
12
|
+
# define OPENXLSX_EXPORT __attribute__((visibility("default")))
|
|
13
|
+
# else
|
|
14
|
+
/* We are using this library */
|
|
15
|
+
# define OPENXLSX_EXPORT __attribute__((visibility("default")))
|
|
16
|
+
# endif
|
|
17
|
+
# endif
|
|
18
|
+
|
|
19
|
+
# ifndef OPENXLSX_HIDDEN
|
|
20
|
+
# define OPENXLSX_HIDDEN __attribute__((visibility("hidden")))
|
|
21
|
+
# endif
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#ifndef OPENXLSX_DEPRECATED
|
|
25
|
+
# define OPENXLSX_DEPRECATED __attribute__ ((__deprecated__))
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#ifndef OPENXLSX_DEPRECATED_EXPORT
|
|
29
|
+
# define OPENXLSX_DEPRECATED_EXPORT OPENXLSX_EXPORT OPENXLSX_DEPRECATED
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
#ifndef OPENXLSX_DEPRECATED_NO_EXPORT
|
|
33
|
+
# define OPENXLSX_DEPRECATED_NO_EXPORT OPENXLSX_HIDDEN OPENXLSX_DEPRECATED
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#if 0 /* DEFINE_NO_DEPRECATED */
|
|
37
|
+
# ifndef OPENXLSX_NO_DEPRECATED
|
|
38
|
+
# define OPENXLSX_NO_DEPRECATED
|
|
39
|
+
# endif
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
#endif /* OPENXLSX_EXPORT_H */
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
|
|
2
|
+
#ifndef OPENXLSX_EXPORT_H
|
|
3
|
+
#define OPENXLSX_EXPORT_H
|
|
4
|
+
|
|
5
|
+
#ifdef OPENXLSX_STATIC_DEFINE
|
|
6
|
+
# define OPENXLSX_EXPORT
|
|
7
|
+
# define OPENXLSX_HIDDEN
|
|
8
|
+
#else
|
|
9
|
+
# ifndef OPENXLSX_EXPORT
|
|
10
|
+
# ifdef OpenXLSX_EXPORTS
|
|
11
|
+
/* We are building this library */
|
|
12
|
+
# define OPENXLSX_EXPORT
|
|
13
|
+
# else
|
|
14
|
+
/* We are using this library */
|
|
15
|
+
# define OPENXLSX_EXPORT
|
|
16
|
+
# endif
|
|
17
|
+
# endif
|
|
18
|
+
|
|
19
|
+
# ifndef OPENXLSX_HIDDEN
|
|
20
|
+
# define OPENXLSX_HIDDEN
|
|
21
|
+
# endif
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#ifndef OPENXLSX_DEPRECATED
|
|
25
|
+
# define OPENXLSX_DEPRECATED __attribute__ ((__deprecated__))
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#ifndef OPENXLSX_DEPRECATED_EXPORT
|
|
29
|
+
# define OPENXLSX_DEPRECATED_EXPORT OPENXLSX_EXPORT OPENXLSX_DEPRECATED
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
#ifndef OPENXLSX_DEPRECATED_NO_EXPORT
|
|
33
|
+
# define OPENXLSX_DEPRECATED_NO_EXPORT OPENXLSX_HIDDEN OPENXLSX_DEPRECATED
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#if 0 /* DEFINE_NO_DEPRECATED */
|
|
37
|
+
# ifndef OPENXLSX_NO_DEPRECATED
|
|
38
|
+
# define OPENXLSX_NO_DEPRECATED
|
|
39
|
+
# endif
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
#endif /* OPENXLSX_EXPORT_H */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
|
3
|
+
"name": "openxlsx",
|
|
4
|
+
"version": "0.5.1",
|
|
5
|
+
"description": "OpenXLSX is a C++ library for reading, writing, creating and modifying Microsoft Excel® files, with the .xlsx format.",
|
|
6
|
+
"homepage": "https://github.com/troldal/OpenXLSX",
|
|
7
|
+
"license": "BSD-3-Clause",
|
|
8
|
+
"dependencies": [
|
|
9
|
+
{
|
|
10
|
+
"name": "boost-nowide",
|
|
11
|
+
"platform": "windows"
|
|
12
|
+
},
|
|
13
|
+
"miniz",
|
|
14
|
+
"pugixml",
|
|
15
|
+
{
|
|
16
|
+
"name": "vcpkg-cmake",
|
|
17
|
+
"host": true
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "vcpkg-cmake-config",
|
|
21
|
+
"host": true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Third-party sources
|
|
2
|
+
|
|
3
|
+
These sources are **vendored** (committed) instead of being cloned at build
|
|
4
|
+
time. Nothing here is downloaded during `pod install`, `npm install` or an
|
|
5
|
+
Android CMake configure — the build simply compiles what is in this directory.
|
|
6
|
+
|
|
7
|
+
| Directory | Upstream | Version / tag |
|
|
8
|
+
|-----------|----------|---------------|
|
|
9
|
+
| `OpenXLSX/` | https://github.com/troldal/OpenXLSX | `v0.5.1` |
|
|
10
|
+
| `pugixml/` | https://github.com/zeux/pugixml | `v1.16` (OpenXLSX dependency) |
|
|
11
|
+
| `miniz/` | https://github.com/richgel999/miniz | `3.1.2` (OpenXLSX dependency) |
|
|
12
|
+
|
|
13
|
+
All upstream repositories are copied verbatim (`git archive` equivalent, no
|
|
14
|
+
`.git`/`.github` metadata); only the files below are local additions:
|
|
15
|
+
|
|
16
|
+
- `OpenXLSX/OpenXLSX/headers/OpenXLSX-Exports.hpp` — export macros, normally
|
|
17
|
+
generated by OpenXLSX's CMake install step.
|
|
18
|
+
- `OpenXLSX/OpenXLSX/headers/OpenXLSX/**/*.hpp` — copies of the headers next to
|
|
19
|
+
them, so that `#include <OpenXLSX/XLWorkbook.hpp>` resolves with `headers/`
|
|
20
|
+
on the include path. These used to be a `OpenXLSX -> .` symlink, but **npm
|
|
21
|
+
does not ship symlink entries in a tarball**: the link vanished from the
|
|
22
|
+
published package and every `<OpenXLSX/...>` include failed to resolve in a
|
|
23
|
+
consumer project. Regenerate the copies with
|
|
24
|
+
`bash scripts/sync-openxlsx-headers.sh` after updating OpenXLSX.
|
|
25
|
+
- `miniz/miniz_export.h` — export header, normally generated by miniz's CMake.
|
|
26
|
+
|
|
27
|
+
## How the builds consume these
|
|
28
|
+
|
|
29
|
+
- **CocoaPods** (`NitroXlsx.podspec`) compiles the C++ sources directly; the
|
|
30
|
+
header search paths point at `thirdparty/OpenXLSX`, `thirdparty/pugixml/src`
|
|
31
|
+
and `thirdparty/miniz`.
|
|
32
|
+
- **Android** (`android/CMakeLists.txt`) runs `add_subdirectory(thirdparty/OpenXLSX)`.
|
|
33
|
+
OpenXLSX's own `manage_dependency()` would normally clone pugixml and miniz;
|
|
34
|
+
it is redirected to the vendored copies via
|
|
35
|
+
`FETCHCONTENT_SOURCE_DIR_PUGIXML_FETCH` / `FETCHCONTENT_SOURCE_DIR_MINIZ_FETCH`
|
|
36
|
+
(plus `FORCE_FETCH_ALL=ON`, which makes the lookup deterministic instead of
|
|
37
|
+
picking up a system-installed pugixml).
|
|
38
|
+
- **C++ tests** (`cpp/tests/CMakeLists.txt`) use the same FetchContent
|
|
39
|
+
redirection, with `OPENXLSX_PATH` defaulting to `thirdparty/OpenXLSX`.
|
|
40
|
+
|
|
41
|
+
## Updating a dependency
|
|
42
|
+
|
|
43
|
+
1. Check out the new tag in a scratch directory.
|
|
44
|
+
2. Replace the matching folder here, keeping the local additions listed above.
|
|
45
|
+
3. Update the version in this README, in `NOTICE`, and re-run
|
|
46
|
+
`yarn test:cpp`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#
|
|
2
|
+
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
3
|
+
#
|
|
4
|
+
AccessModifierOffset: -4
|
|
5
|
+
ConstructorInitializerIndentWidth: 4
|
|
6
|
+
AlignEscapedNewlinesLeft: false
|
|
7
|
+
AlignTrailingComments: true
|
|
8
|
+
AllowAllParametersOfDeclarationOnNextLine: true
|
|
9
|
+
AllowShortIfStatementsOnASingleLine: false
|
|
10
|
+
AllowShortLoopsOnASingleLine: false
|
|
11
|
+
AlwaysBreakTemplateDeclarations: false
|
|
12
|
+
AlwaysBreakBeforeMultilineStrings: false
|
|
13
|
+
BreakBeforeBinaryOperators: false
|
|
14
|
+
BreakBeforeTernaryOperators: true
|
|
15
|
+
BreakConstructorInitializersBeforeComma: false
|
|
16
|
+
BinPackParameters: true
|
|
17
|
+
ColumnLimit: 0
|
|
18
|
+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
19
|
+
DerivePointerBinding: false
|
|
20
|
+
ExperimentalAutoDetectBinPacking: false
|
|
21
|
+
IndentCaseLabels: true
|
|
22
|
+
MaxEmptyLinesToKeep: 1
|
|
23
|
+
NamespaceIndentation: All
|
|
24
|
+
ObjCSpaceBeforeProtocolList: true
|
|
25
|
+
PenaltyBreakBeforeFirstCallParameter: 19
|
|
26
|
+
PenaltyBreakComment: 60
|
|
27
|
+
PenaltyBreakString: 1000
|
|
28
|
+
PenaltyBreakFirstLessLess: 120
|
|
29
|
+
PenaltyExcessCharacter: 1000000
|
|
30
|
+
PenaltyReturnTypeOnItsOwnLine: 60
|
|
31
|
+
PointerBindsToType: false
|
|
32
|
+
SpacesBeforeTrailingComments: 1
|
|
33
|
+
Cpp11BracedListStyle: false
|
|
34
|
+
Standard: Cpp03
|
|
35
|
+
IndentWidth: 4
|
|
36
|
+
TabWidth: 4
|
|
37
|
+
UseTab: Never
|
|
38
|
+
BreakBeforeBraces: Allman
|
|
39
|
+
IndentFunctionDeclarationAfterType: false
|
|
40
|
+
SpacesInParentheses: false
|
|
41
|
+
SpacesInAngles: false
|
|
42
|
+
SpaceInEmptyParentheses: false
|
|
43
|
+
SpacesInCStyleCastParentheses: false
|
|
44
|
+
SpaceAfterControlStatementKeyword: true
|
|
45
|
+
SpaceBeforeAssignmentOperators: true
|
|
46
|
+
ContinuationIndentWidth: 4
|
|
47
|
+
SortIncludes: false
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.5)
|
|
2
|
+
|
|
3
|
+
# determine whether this is a standalone project or included by other projects
|
|
4
|
+
set (MINIZ_STANDALONE_PROJECT ON)
|
|
5
|
+
if(DEFINED PROJECT_NAME)
|
|
6
|
+
set(MINIZ_STANDALONE_PROJECT OFF)
|
|
7
|
+
endif()
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
if(CMAKE_VERSION VERSION_LESS "3.12")
|
|
11
|
+
project(miniz C)
|
|
12
|
+
# see issue https://gitlab.kitware.com/cmake/cmake/merge_requests/1799
|
|
13
|
+
else()
|
|
14
|
+
project(miniz C)
|
|
15
|
+
set(CMAKE_C_STANDARD 90)
|
|
16
|
+
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
17
|
+
# set(CMAKE_C_VISIBILITY_PRESET hidden)
|
|
18
|
+
# set(CMAKE_VISIBILITY_INLINES_HIDDEN YES)
|
|
19
|
+
|
|
20
|
+
if (MSVC)
|
|
21
|
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3 /Zi /permissive-")
|
|
22
|
+
else ()
|
|
23
|
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow -Wformat=2 -Wall -Wno-overlength-strings -pedantic")
|
|
24
|
+
endif ()
|
|
25
|
+
endif()
|
|
26
|
+
|
|
27
|
+
set(MINIZ_API_VERSION 3)
|
|
28
|
+
set(MINIZ_MINOR_VERSION 1)
|
|
29
|
+
set(MINIZ_PATCH_VERSION 2)
|
|
30
|
+
set(MINIZ_VERSION
|
|
31
|
+
${MINIZ_API_VERSION}.${MINIZ_MINOR_VERSION}.${MINIZ_PATCH_VERSION})
|
|
32
|
+
|
|
33
|
+
if(CMAKE_BUILD_TYPE STREQUAL "")
|
|
34
|
+
# CMake defaults to leaving CMAKE_BUILD_TYPE empty. This screws up
|
|
35
|
+
# differentiation between debug and release builds.
|
|
36
|
+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING
|
|
37
|
+
"Choose the type of build, options are: None (CMAKE_CXX_FLAGS or \
|
|
38
|
+
CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
|
39
|
+
endif ()
|
|
40
|
+
|
|
41
|
+
option(BUILD_EXAMPLES "Build examples" ${MINIZ_STANDALONE_PROJECT})
|
|
42
|
+
option(BUILD_FUZZERS "Build fuzz targets" OFF)
|
|
43
|
+
option(AMALGAMATE_SOURCES "Amalgamate sources into miniz.h/c" OFF)
|
|
44
|
+
option(BUILD_HEADER_ONLY "Build a header-only version" OFF)
|
|
45
|
+
option(BUILD_SHARED_LIBS "Build shared library instead of static" OFF)
|
|
46
|
+
option(BUILD_NO_STDIO" Build a without stdio version" OFF)
|
|
47
|
+
option(BUILD_TESTS "Build tests" ${MINIZ_STANDALONE_PROJECT})
|
|
48
|
+
option(INSTALL_PROJECT "Install project" ${MINIZ_STANDALONE_PROJECT})
|
|
49
|
+
|
|
50
|
+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
|
51
|
+
|
|
52
|
+
if(INSTALL_PROJECT)
|
|
53
|
+
include(GNUInstallDirs)
|
|
54
|
+
endif()
|
|
55
|
+
|
|
56
|
+
if(BUILD_HEADER_ONLY)
|
|
57
|
+
set(AMALGAMATE_SOURCES ON CACHE BOOL "Build a header-only version" FORCE)
|
|
58
|
+
endif(BUILD_HEADER_ONLY)
|
|
59
|
+
|
|
60
|
+
if(AMALGAMATE_SOURCES)
|
|
61
|
+
# Amalgamate
|
|
62
|
+
file(COPY miniz.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/)
|
|
63
|
+
file(READ miniz.h MINIZ_H)
|
|
64
|
+
file(READ miniz_common.h MINIZ_COMMON_H)
|
|
65
|
+
file(READ miniz_tdef.h MINIZ_TDEF_H)
|
|
66
|
+
file(READ miniz_tinfl.h MINIZ_TINFL_H)
|
|
67
|
+
file(READ miniz_zip.h MINIZ_ZIP_H)
|
|
68
|
+
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h
|
|
69
|
+
"${MINIZ_COMMON_H} ${MINIZ_TDEF_H} ${MINIZ_TINFL_H} ${MINIZ_ZIP_H}")
|
|
70
|
+
|
|
71
|
+
file(COPY miniz.c DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/)
|
|
72
|
+
file(READ miniz_tdef.c MINIZ_TDEF_C)
|
|
73
|
+
file(READ miniz_tinfl.c MINIZ_TINFL_C)
|
|
74
|
+
file(READ miniz_zip.c MINIZ_ZIP_C)
|
|
75
|
+
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c
|
|
76
|
+
"${MINIZ_TDEF_C} ${MINIZ_TINFL_C} ${MINIZ_ZIP_C}")
|
|
77
|
+
|
|
78
|
+
file(READ ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h AMAL_MINIZ_H)
|
|
79
|
+
file(READ ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c AMAL_MINIZ_C)
|
|
80
|
+
foreach(REPLACE_STRING miniz;miniz_common;miniz_tdef;miniz_tinfl;miniz_zip;miniz_export)
|
|
81
|
+
string(REPLACE "#include \"${REPLACE_STRING}.h\"" "" AMAL_MINIZ_H "${AMAL_MINIZ_H}")
|
|
82
|
+
string(REPLACE "#include \"${REPLACE_STRING}.h\"" "" AMAL_MINIZ_C "${AMAL_MINIZ_C}")
|
|
83
|
+
endforeach()
|
|
84
|
+
string(CONCAT AMAL_MINIZ_H "#ifndef MINIZ_EXPORT\n#define MINIZ_EXPORT\n#endif\n" "${AMAL_MINIZ_H}")
|
|
85
|
+
if(BUILD_HEADER_ONLY)
|
|
86
|
+
string(CONCAT AMAL_MINIZ_H "${AMAL_MINIZ_H}" "\n#ifndef MINIZ_HEADER_FILE_ONLY\n"
|
|
87
|
+
"${AMAL_MINIZ_C}" "\n#endif // MINIZ_HEADER_FILE_ONLY\n")
|
|
88
|
+
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}")
|
|
89
|
+
add_library(${PROJECT_NAME} INTERFACE)
|
|
90
|
+
|
|
91
|
+
# Might not be a good idea to force this on the library user
|
|
92
|
+
# as it could bloat the global namespace
|
|
93
|
+
# https://github.com/libevent/libevent/issues/460
|
|
94
|
+
# target_compile_definitions(${PROJECT_NAME}
|
|
95
|
+
# INTERFACE $<$<C_COMPILER_ID:GNU>:_GNU_SOURCE>)
|
|
96
|
+
|
|
97
|
+
set_property(TARGET ${PROJECT_NAME} APPEND
|
|
98
|
+
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
|
99
|
+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/amalgamation>
|
|
100
|
+
$<INSTALL_INTERFACE:include>
|
|
101
|
+
)
|
|
102
|
+
else(BUILD_HEADER_ONLY)
|
|
103
|
+
string(CONCAT AMAL_MINIZ_C "#include \"miniz.h\"\n" "${AMAL_MINIZ_C}")
|
|
104
|
+
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}")
|
|
105
|
+
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c "${AMAL_MINIZ_C}")
|
|
106
|
+
set(miniz_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h
|
|
107
|
+
${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c)
|
|
108
|
+
add_library(${PROJECT_NAME} STATIC ${miniz_SOURCE})
|
|
109
|
+
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
110
|
+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/amalgamation>
|
|
111
|
+
$<INSTALL_INTERFACE:include>
|
|
112
|
+
)
|
|
113
|
+
endif(BUILD_HEADER_ONLY)
|
|
114
|
+
|
|
115
|
+
set(INSTALL_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h)
|
|
116
|
+
|
|
117
|
+
file(GLOB_RECURSE ZIP_FILES RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/amalgamation" "${CMAKE_CURRENT_BINARY_DIR}/amalgamation/*")
|
|
118
|
+
file(GLOB_RECURSE ZIP_FILES2 RELATIVE "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/examples/*")
|
|
119
|
+
list(APPEND ZIP_FILES ${ZIP_FILES2})
|
|
120
|
+
list(APPEND ZIP_FILES "ChangeLog.md")
|
|
121
|
+
list(APPEND ZIP_FILES "readme.md")
|
|
122
|
+
list(APPEND ZIP_FILES "LICENSE")
|
|
123
|
+
set(ZIP_OUT_FN "${CMAKE_CURRENT_BINARY_DIR}/miniz-${MINIZ_VERSION}.zip")
|
|
124
|
+
message(STATUS "Zip files: ${ZIP_FILES}")
|
|
125
|
+
add_custom_command(
|
|
126
|
+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/examples ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/examples
|
|
127
|
+
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/ChangeLog.md ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/ChangeLog.md
|
|
128
|
+
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/readme.md ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/readme.md
|
|
129
|
+
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/LICENSE
|
|
130
|
+
COMMAND ${CMAKE_COMMAND} -E tar "cf" "${ZIP_OUT_FN}" --format=zip -- ${ZIP_FILES}
|
|
131
|
+
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/amalgamation"
|
|
132
|
+
OUTPUT "${ZIP_OUT_FN}"
|
|
133
|
+
DEPENDS ${ZIP_FILES}
|
|
134
|
+
COMMENT "Zipping to ${CMAKE_CURRENT_BINARY_DIR}/miniz.zip."
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
add_custom_target(
|
|
138
|
+
create_zip ALL
|
|
139
|
+
DEPENDS "${ZIP_OUT_FN}"
|
|
140
|
+
)
|
|
141
|
+
else(AMALGAMATE_SOURCES)
|
|
142
|
+
include(GenerateExportHeader)
|
|
143
|
+
set(miniz_SOURCE miniz.c miniz_zip.c miniz_tinfl.c miniz_tdef.c)
|
|
144
|
+
add_library(${PROJECT_NAME} ${miniz_SOURCE})
|
|
145
|
+
generate_export_header(${PROJECT_NAME})
|
|
146
|
+
|
|
147
|
+
if(NOT BUILD_SHARED_LIBS)
|
|
148
|
+
string(TOUPPER ${PROJECT_NAME} PROJECT_UPPER)
|
|
149
|
+
set_target_properties(${PROJECT_NAME}
|
|
150
|
+
PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${PROJECT_UPPER}_STATIC_DEFINE)
|
|
151
|
+
else()
|
|
152
|
+
set_property(TARGET ${PROJECT_NAME} PROPERTY C_VISIBILITY_PRESET hidden)
|
|
153
|
+
endif()
|
|
154
|
+
|
|
155
|
+
set_property(TARGET ${PROJECT_NAME} PROPERTY VERSION ${MINIZ_VERSION})
|
|
156
|
+
set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION ${MINIZ_API_VERSION})
|
|
157
|
+
|
|
158
|
+
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
159
|
+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
160
|
+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
|
161
|
+
$<INSTALL_INTERFACE:include>
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
|
|
165
|
+
list(APPEND
|
|
166
|
+
INSTALL_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h)
|
|
167
|
+
endif(AMALGAMATE_SOURCES)
|
|
168
|
+
|
|
169
|
+
if(NOT BUILD_HEADER_ONLY)
|
|
170
|
+
target_compile_definitions(${PROJECT_NAME}
|
|
171
|
+
PRIVATE $<$<C_COMPILER_ID:GNU>:_GNU_SOURCE>)
|
|
172
|
+
|
|
173
|
+
# pkg-config file
|
|
174
|
+
configure_file(miniz.pc.in ${CMAKE_CURRENT_BINARY_DIR}/miniz.pc @ONLY)
|
|
175
|
+
|
|
176
|
+
if(INSTALL_PROJECT)
|
|
177
|
+
install(FILES
|
|
178
|
+
${CMAKE_CURRENT_BINARY_DIR}/miniz.pc
|
|
179
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
180
|
+
endif()
|
|
181
|
+
endif()
|
|
182
|
+
|
|
183
|
+
if(BUILD_NO_STDIO)
|
|
184
|
+
target_compile_definitions(${PROJECT_NAME} PRIVATE MINIZ_NO_STDIO)
|
|
185
|
+
endif()
|
|
186
|
+
|
|
187
|
+
set_property(TARGET ${PROJECT_NAME} PROPERTY
|
|
188
|
+
INTERFACE_${PROJECT_NAME}_MAJOR_VERSION ${MINIZ_API_VERSION})
|
|
189
|
+
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY
|
|
190
|
+
COMPATIBLE_INTERFACE_STRING ${PROJECT_NAME}_MAJOR_VERSION
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
if(INSTALL_PROJECT)
|
|
194
|
+
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
|
|
195
|
+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
196
|
+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
197
|
+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
198
|
+
# users can use <miniz.h> or <miniz/miniz.h>
|
|
199
|
+
INCLUDES DESTINATION include ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
include(CMakePackageConfigHelpers)
|
|
203
|
+
write_basic_package_version_file(
|
|
204
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
|
|
205
|
+
VERSION ${MINIZ_VERSION}
|
|
206
|
+
COMPATIBILITY AnyNewerVersion
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
export(EXPORT ${PROJECT_NAME}Targets
|
|
210
|
+
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Targets.cmake"
|
|
211
|
+
NAMESPACE ${PROJECT_NAME}::
|
|
212
|
+
)
|
|
213
|
+
configure_file(Config.cmake.in
|
|
214
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake"
|
|
215
|
+
@ONLY
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|
219
|
+
install(EXPORT ${PROJECT_NAME}Targets
|
|
220
|
+
FILE
|
|
221
|
+
${PROJECT_NAME}Targets.cmake
|
|
222
|
+
NAMESPACE
|
|
223
|
+
${PROJECT_NAME}::
|
|
224
|
+
DESTINATION
|
|
225
|
+
${ConfigPackageLocation}
|
|
226
|
+
)
|
|
227
|
+
install(
|
|
228
|
+
FILES
|
|
229
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake"
|
|
230
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
|
|
231
|
+
DESTINATION
|
|
232
|
+
${ConfigPackageLocation}
|
|
233
|
+
COMPONENT
|
|
234
|
+
Devel
|
|
235
|
+
)
|
|
236
|
+
endif()
|
|
237
|
+
|
|
238
|
+
if(BUILD_EXAMPLES)
|
|
239
|
+
set(EXAMPLE1_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example1.c")
|
|
240
|
+
set(EXAMPLE2_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example2.c")
|
|
241
|
+
set(EXAMPLE3_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example3.c")
|
|
242
|
+
set(EXAMPLE4_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example4.c")
|
|
243
|
+
set(EXAMPLE5_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example5.c")
|
|
244
|
+
set(EXAMPLE6_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example6.c")
|
|
245
|
+
set(MINIZ_TESTER_SRC_LIST
|
|
246
|
+
"${CMAKE_CURRENT_SOURCE_DIR}/tests/miniz_tester.cpp"
|
|
247
|
+
"${CMAKE_CURRENT_SOURCE_DIR}/tests/timer.cpp")
|
|
248
|
+
|
|
249
|
+
add_executable(example1 ${EXAMPLE1_SRC_LIST})
|
|
250
|
+
target_link_libraries(example1 miniz)
|
|
251
|
+
if(NOT BUILD_NO_STDIO)
|
|
252
|
+
add_executable(example2 ${EXAMPLE2_SRC_LIST})
|
|
253
|
+
target_link_libraries(example2 miniz)
|
|
254
|
+
endif()
|
|
255
|
+
add_executable(example3 ${EXAMPLE3_SRC_LIST})
|
|
256
|
+
target_link_libraries(example3 miniz)
|
|
257
|
+
add_executable(example4 ${EXAMPLE4_SRC_LIST})
|
|
258
|
+
target_link_libraries(example4 miniz)
|
|
259
|
+
add_executable(example5 ${EXAMPLE5_SRC_LIST})
|
|
260
|
+
target_link_libraries(example5 miniz)
|
|
261
|
+
add_executable(example6 ${EXAMPLE6_SRC_LIST})
|
|
262
|
+
target_link_libraries(example6 miniz)
|
|
263
|
+
if(${UNIX})
|
|
264
|
+
target_link_libraries(example6 m)
|
|
265
|
+
endif()
|
|
266
|
+
|
|
267
|
+
# add_executable(miniz_tester ${MINIZ_TESTER_SRC_LIST})
|
|
268
|
+
# target_link_libraries(miniz_tester miniz)
|
|
269
|
+
endif(BUILD_EXAMPLES)
|
|
270
|
+
|
|
271
|
+
if(BUILD_FUZZERS)
|
|
272
|
+
set(FUZZ_MAIN_SRC "${CMAKE_CURRENT_SOURCE_DIR}/tests/fuzz_main.c")
|
|
273
|
+
|
|
274
|
+
set(CHECKSUM_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/checksum_fuzzer.c")
|
|
275
|
+
set(FLUSH_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/flush_fuzzer.c")
|
|
276
|
+
set(UNCOMPRESS_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/uncompress_fuzzer.c")
|
|
277
|
+
set(UNCOMPRESS2_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/uncompress2_fuzzer.c")
|
|
278
|
+
set(COMPRESS_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/compress_fuzzer.c")
|
|
279
|
+
set(SMALL_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/small_fuzzer.c")
|
|
280
|
+
set(LARGE_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/large_fuzzer.c")
|
|
281
|
+
set(ZIP_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/zip_fuzzer.c")
|
|
282
|
+
set(ADD_IN_PLACE_FUZZER_SRC_LIST "${FUZZ_MAIN_SRC}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/add_in_place_fuzzer.c")
|
|
283
|
+
|
|
284
|
+
add_executable(checksum_fuzzer ${CHECKSUM_FUZZER_SRC_LIST})
|
|
285
|
+
target_link_libraries(checksum_fuzzer miniz)
|
|
286
|
+
|
|
287
|
+
add_executable(flush_fuzzer ${FLUSH_FUZZER_SRC_LIST})
|
|
288
|
+
target_link_libraries(flush_fuzzer miniz)
|
|
289
|
+
|
|
290
|
+
add_executable(uncompress_fuzzer ${UNCOMPRESS_FUZZER_SRC_LIST})
|
|
291
|
+
target_link_libraries(uncompress_fuzzer miniz)
|
|
292
|
+
|
|
293
|
+
add_executable(uncompress2_fuzzer ${UNCOMPRESS2_FUZZER_SRC_LIST})
|
|
294
|
+
target_link_libraries(uncompress2_fuzzer miniz)
|
|
295
|
+
|
|
296
|
+
add_executable(compress_fuzzer ${COMPRESS_FUZZER_SRC_LIST})
|
|
297
|
+
target_link_libraries(compress_fuzzer miniz)
|
|
298
|
+
|
|
299
|
+
add_executable(small_fuzzer ${SMALL_FUZZER_SRC_LIST})
|
|
300
|
+
target_link_libraries(small_fuzzer miniz)
|
|
301
|
+
|
|
302
|
+
add_executable(large_fuzzer ${LARGE_FUZZER_SRC_LIST})
|
|
303
|
+
target_link_libraries(large_fuzzer miniz)
|
|
304
|
+
|
|
305
|
+
add_executable(zip_fuzzer ${ZIP_FUZZER_SRC_LIST})
|
|
306
|
+
target_link_libraries(zip_fuzzer miniz)
|
|
307
|
+
|
|
308
|
+
add_executable(add_in_place_fuzzer ${ADD_IN_PLACE_FUZZER_SRC_LIST})
|
|
309
|
+
target_link_libraries(add_in_place_fuzzer miniz)
|
|
310
|
+
endif()
|
|
311
|
+
|
|
312
|
+
if(BUILD_TESTS)
|
|
313
|
+
enable_language(CXX)
|
|
314
|
+
set(CMAKE_CXX_STANDARD 20)
|
|
315
|
+
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
|
316
|
+
|
|
317
|
+
add_executable(catch_tests tests/main.cpp tests/catch_amalgamated.cpp)
|
|
318
|
+
if(BUILD_NO_STDIO)
|
|
319
|
+
target_compile_definitions(catch_tests PRIVATE -DMINIZ_NO_STDIO)
|
|
320
|
+
endif()
|
|
321
|
+
target_link_libraries(catch_tests miniz)
|
|
322
|
+
|
|
323
|
+
enable_testing()
|
|
324
|
+
|
|
325
|
+
add_test(NAME catch_tests COMMAND $<TARGET_FILE:catch_tests>)
|
|
326
|
+
endif()
|
|
327
|
+
|
|
328
|
+
set(INCLUDE_INSTALL_DIR "include")
|
|
329
|
+
|
|
330
|
+
if(INSTALL_PROJECT)
|
|
331
|
+
install(FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
|
|
332
|
+
endif()
|
|
333
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 6,
|
|
3
|
+
"cmakeMinimumRequired": {
|
|
4
|
+
"major": 3,
|
|
5
|
+
"minor": 5,
|
|
6
|
+
"patch": 0
|
|
7
|
+
},
|
|
8
|
+
"configurePresets": [
|
|
9
|
+
{
|
|
10
|
+
"name": "gcc",
|
|
11
|
+
"displayName": "GCC",
|
|
12
|
+
"description": "Default build options for GCC",
|
|
13
|
+
"generator": "Unix Makefiles",
|
|
14
|
+
"binaryDir": "${sourceDir}/build"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"buildPresets": [
|
|
18
|
+
{
|
|
19
|
+
"name": "gcc",
|
|
20
|
+
"configurePreset": "gcc"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"testPresets": [
|
|
24
|
+
{
|
|
25
|
+
"name": "gcc",
|
|
26
|
+
"configurePreset": "gcc",
|
|
27
|
+
"output": {"outputOnFailure": true},
|
|
28
|
+
"execution": {"noTestsAction": "error", "stopOnFailure": true}
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|