tinymetabobjloader 2.0.0rc9.dev0__tar.gz → 2.0.0rc14.dev2__tar.gz
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.
- tinymetabobjloader-2.0.0rc14.dev2/.cirrus.yml +30 -0
- tinymetabobjloader-2.0.0rc14.dev2/.clang-format +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/.drone.yml +10 -0
- tinymetabobjloader-2.0.0rc14.dev2/.github/FUNDING.yml +15 -0
- tinymetabobjloader-2.0.0rc14.dev2/.github/ISSUE_TEMPLATE/config.yml +1 -0
- tinymetabobjloader-2.0.0rc14.dev2/.github/ISSUE_TEMPLATE/issue-report.md +28 -0
- tinymetabobjloader-2.0.0rc14.dev2/.github/workflows/cron.yml +22 -0
- tinymetabobjloader-2.0.0rc14.dev2/.github/workflows/python.yml +192 -0
- tinymetabobjloader-2.0.0rc14.dev2/.gitignore +8 -0
- tinymetabobjloader-2.0.0rc14.dev2/.travis.yml +56 -0
- tinymetabobjloader-2.0.0rc14.dev2/BUILD.bazel +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/CMakeLists.txt +221 -0
- tinymetabobjloader-2.0.0rc14.dev2/LICENSE +42 -0
- tinymetabobjloader-2.0.0rc14.dev2/MANIFEST.in +8 -0
- tinymetabobjloader-2.0.0rc14.dev2/MODULE.bazel +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/PKG-INFO +469 -0
- tinymetabobjloader-2.0.0rc14.dev2/README.md +443 -0
- tinymetabobjloader-2.0.0rc14.dev2/appveyor.yml +22 -0
- tinymetabobjloader-2.0.0rc14.dev2/azure-pipelines.yml +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/bootstrap-cmake-linux-with-pyhthon.sh +20 -0
- tinymetabobjloader-2.0.0rc14.dev2/build.ninja +53 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/ClangClCMakeCompileRules.cmake +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/aarch64-linux-gnu.toolchain +14 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/clang-cl-msvc-windows.cmake +327 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/clang-cl-msvc-wsl.cmake +327 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/linux_i386.toolchain.cmake +17 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/llvm-mingw-cross.cmake +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/llvm-mingw-win64.cmake +20 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/mingw64-cross.cmake +20 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/FindASan.cmake +59 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/FindMSan.cmake +57 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/FindSanitizers.cmake +94 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/FindTSan.cmake +65 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/FindUBSan.cmake +46 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/asan-wrapper +55 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake/sanitizers/sanitize-helpers.cmake +177 -0
- tinymetabobjloader-2.0.0rc14.dev2/cmake_uninstall.cmake.in +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/deps/cpplint.py +6323 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/callback_api/Makefile +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/callback_api/main.cc +171 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/obj_sticher/obj_sticher.cc +163 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/obj_sticher/obj_writer.cc +164 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/obj_sticher/obj_writer.h +8 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/obj_sticher/premake4.lua +38 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/skin_weight/Makefile +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/skin_weight/README.md +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/skin_weight/main.cc +103 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/.gitignore +1 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/CMakeLists.txt +29 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/README.md +45 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/premake4.lua +44 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/stb_image.h +7897 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/trackball.cc +292 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/trackball.h +75 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/viewer/viewer.cc +1205 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/voxelize/Makefile +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/voxelize/README.md +5 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/voxelize/main.cc +75 -0
- tinymetabobjloader-2.0.0rc14.dev2/examples/voxelize/voxelizer.h +764 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/README.md +26 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/Allocator.hpp +89 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/ChunkList.hpp +116 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/LICENSE +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/Pool.hpp +48 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/PoolDispatcher.hpp +79 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/lfpAlloc/Utils.hpp +20 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/premake5.lua +94 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/tinyobj_loader_opt.h +1722 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/trackball.cc +292 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/trackball.h +75 -0
- tinymetabobjloader-2.0.0rc14.dev2/experimental/viewer.cc +748 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/README.md +51 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/afl.tar.gz +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/fuzz_ParseFromString.cc +26 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/regression_runner/Makefile +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/regression_runner/README.md +11 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/regressions/clusterfuzz-testcase-minimized-fuzz_ParseFromString-4877060179886080 +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/fuzzer/runner.py +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/images/rungholt.jpg +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/images/sanmugel.png +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/jni/Android.mk +12 -0
- tinymetabobjloader-2.0.0rc14.dev2/jni/Application.mk +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/jni/Makefile +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/jni/README +1 -0
- tinymetabobjloader-2.0.0rc14.dev2/loader_example.cc +437 -0
- tinymetabobjloader-2.0.0rc14.dev2/mapbox/LICENSE +15 -0
- tinymetabobjloader-2.0.0rc14.dev2/mapbox/earcut.hpp +820 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/catmark_torus_creases0.obj +101 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/colorspace-issue-184.mtl +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/colorspace-issue-184.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cornell_box.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cornell_box.obj +145 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cornell_box_multimaterial.obj +146 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube-vertex-w-component.obj +31 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube-vertexcol.obj +31 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube.obj +32 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube_w_BOM.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/cube_w_BOM.obj +32 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/invalid-face-definition.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/invalid-face-definition.obj +18 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/invalid-relative-texture-index.obj +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/invalid-relative-vertex-index.obj +1 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-138.mtl +23 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-138.obj +51 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-140-zero-face-idx.mtl +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-140-zero-face-idx.obj +17 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-161-inconsistent-f.obj +37 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-162-smoothing-group.mtl +23 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-162-smoothing-group.obj +51 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-235-usemtl-then-o.obj +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-235.mtl +11 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-244-mtl-searchpaths.obj +22 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-246-usemtl-whitespace.mtl +4 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-246-usemtl-whitespace.obj +17 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-248-texres-texopt.mtl +25 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-248-texres-texopt.obj +32 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-295-trianguation-failure.obj +38 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-319-002.obj +39 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-319-003.obj +27 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-330.obj +12 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-356-leading-spaces-newmtl.mtl +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-356-leading-spaces-newmtl.obj +2 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-389-comment.obj +44 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-391.mtl +4 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-391.obj +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-92.mtl +6 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-92.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-95-2.mtl +5 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-95-2.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-95.mtl +5 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/issue-95.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/leading-decimal-dot-issue-201.mtl +5 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/leading-decimal-dot-issue-201.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/leading-zero-in-exponent-notation-issue-210.mtl +5 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/leading-zero-in-exponent-notation-issue-210.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/line-prim.obj +16 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/map-bump.mtl +10 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/map-bump.obj +817 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/missing_material_file.obj +145 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/mtl filename with whitespace issue46.mtl +4 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/mtl filename with whitespace issue46.obj +31 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/mtllib-multiple-files-issue-112.mtl +6 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/mtllib-multiple-files-issue-112.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/no_material.obj +133 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/norm-texopt.mtl +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/norm-texopt.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/pbr-mat-ext.mtl +19 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/pbr-mat-ext.obj +10 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/points-prim.obj +15 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/refl.mtl +25 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/refl.obj +32 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/skin-weight.obj +43 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/smoothing-group-two-squares.obj +22 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/smoothing-normal.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/smoothing-normal.obj +35 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/test-nan.obj +145 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/texture-filename-with-whitespace.mtl +28 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/texture-filename-with-whitespace.obj +31 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/texture-options-issue-85.mtl +36 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/texture-options-issue-85.obj +7 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/tr-and-d-issue-43.mtl +13 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/tr-and-d-issue-43.obj +817 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/usemtl-issue-104.obj +30 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/usemtl-issue-68.mtl +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/models/usemtl-issue-68.obj +817 -0
- tinymetabobjloader-2.0.0rc14.dev2/pbr-mtl.md +29 -0
- tinymetabobjloader-2.0.0rc14.dev2/premake4.lua +29 -0
- tinymetabobjloader-2.0.0rc14.dev2/pyproject.toml +55 -0
- tinymetabobjloader-2.0.0rc14.dev2/python/LICENSE +21 -0
- tinymetabobjloader-2.0.0rc14.dev2/python/Makefile +7 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2/python}/README.md +9 -7
- tinymetabobjloader-2.0.0rc14.dev2/python/_version.py +4 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2/python}/bindings.cc +95 -10
- tinymetabobjloader-2.0.0rc14.dev2/python/sample.py +138 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2/python}/tiny_obj_loader.cc +4 -1
- tinymetabobjloader-2.0.0rc14.dev2/setup.py +64 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/LICENSE.acutest.txt +22 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/Makefile +17 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/README.md +37 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/acutest.h +1514 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/assets/issue-244.mtl +11 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/config-msvc.py +52 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/config-posix.py +53 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/issue-177.mtl +24 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/issue-177.obj +31 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/kuroga.py +312 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/README.md +3 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/pyproject.toml +12 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/tinyobjloader_tests/__init__.py +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/tinyobjloader_tests/loader.py +33 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/tinyobjloader_tests/test_loader.py +176 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/python/uv.lock +303 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/tester.cc +1636 -0
- tinymetabobjloader-2.0.0rc14.dev2/tests/vcbuild.bat +4 -0
- tinymetabobjloader-2.0.0rc14.dev2/tiny_obj_loader.cc +2 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2}/tiny_obj_loader.h +682 -266
- tinymetabobjloader-2.0.0rc14.dev2/tinymetabobjloader.egg-info/PKG-INFO +469 -0
- tinymetabobjloader-2.0.0rc14.dev2/tinymetabobjloader.egg-info/SOURCES.txt +204 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2}/tinymetabobjloader.egg-info/top_level.txt +1 -0
- tinymetabobjloader-2.0.0rc14.dev2/tinyobjloader-config.cmake.in +9 -0
- tinymetabobjloader-2.0.0rc14.dev2/tinyobjloader.pc.in +15 -0
- tinymetabobjloader-2.0.0rc14.dev2/tools/windows/premake5.exe +0 -0
- tinymetabobjloader-2.0.0rc14.dev2/vcsetup.bat +1 -0
- tinymetabobjloader-2.0.0rc9.dev0/MANIFEST.in +0 -6
- tinymetabobjloader-2.0.0rc9.dev0/PKG-INFO +0 -107
- tinymetabobjloader-2.0.0rc9.dev0/pyproject.toml +0 -2
- tinymetabobjloader-2.0.0rc9.dev0/setup.py +0 -109
- tinymetabobjloader-2.0.0rc9.dev0/tinymetabobjloader.egg-info/PKG-INFO +0 -107
- tinymetabobjloader-2.0.0rc9.dev0/tinymetabobjloader.egg-info/SOURCES.txt +0 -12
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2}/setup.cfg +0 -0
- {tinymetabobjloader-2.0.0rc9.dev0 → tinymetabobjloader-2.0.0rc14.dev2}/tinymetabobjloader.egg-info/dependency_links.txt +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
build_and_store_wheels: &BUILD_AND_STORE_WHEELS
|
|
2
|
+
install_cibuildwheel_script:
|
|
3
|
+
- python -m pip install cibuildwheel==2.16.2
|
|
4
|
+
run_cibuildwheel_script:
|
|
5
|
+
- cibuildwheel
|
|
6
|
+
wheels_artifacts:
|
|
7
|
+
path: "wheelhouse/*"
|
|
8
|
+
|
|
9
|
+
# Upload only for tagged commit
|
|
10
|
+
only_if: $CIRRUS_TAG != ''
|
|
11
|
+
publish_script:
|
|
12
|
+
- python -m pip install twine
|
|
13
|
+
- python -m twine upload --repository-url https://upload.pypi.org/legacy/ --username __token__ wheelhouse/*.whl
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
linux_aarch64_task:
|
|
17
|
+
name: Build Linux aarch64 wheels.
|
|
18
|
+
compute_engine_instance:
|
|
19
|
+
image_project: cirrus-images
|
|
20
|
+
image: family/docker-builder-arm64
|
|
21
|
+
architecture: arm64
|
|
22
|
+
platform: linux
|
|
23
|
+
cpu: 4
|
|
24
|
+
memory: 4G
|
|
25
|
+
environment:
|
|
26
|
+
TWINE_PASSWORD: ENCRYPTED[ade2037764e68fea251152f7585f3f77cdd748af06dc0f06942c45a8a8770fff19032c985f8dc193229c8adb2c0fecb9]
|
|
27
|
+
|
|
28
|
+
install_pre_requirements_script:
|
|
29
|
+
- apt install -y python3-venv python-is-python3
|
|
30
|
+
<<: *BUILD_AND_STORE_WHEELS
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# These are supported funding model platforms
|
|
2
|
+
|
|
3
|
+
github: syoyo # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
|
4
|
+
patreon: # Replace with a single Patreon username
|
|
5
|
+
open_collective: # Replace with a single Open Collective username
|
|
6
|
+
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
|
8
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
+
liberapay: # Replace with a single Liberapay username
|
|
10
|
+
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
|
12
|
+
polar: # Replace with a single Polar username
|
|
13
|
+
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
|
|
14
|
+
thanks_dev: # Replace with a single thanks.dev username
|
|
15
|
+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Issue report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ''
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the issue**
|
|
11
|
+
A clear and concise description of what the issue is.
|
|
12
|
+
|
|
13
|
+
**To Reproduce**
|
|
14
|
+
Steps to reproduce the behavior:
|
|
15
|
+
1. Compile TinyObjLoader with '...'
|
|
16
|
+
2. Load .obj file '...'
|
|
17
|
+
3. See error
|
|
18
|
+
|
|
19
|
+
Please attach minimal and reproducible files(source codes, .obj/.mtl files, etc)
|
|
20
|
+
|
|
21
|
+
**Expected behavior**
|
|
22
|
+
A clear and concise description of what you expected to happen.
|
|
23
|
+
|
|
24
|
+
**Environment**
|
|
25
|
+
- TinyObjLoader version
|
|
26
|
+
- OS: [e.g. Linux]
|
|
27
|
+
- Compiler [e.g. gcc 7.3]
|
|
28
|
+
- Other environment [e.g. Python version if you use python binding]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: Close inactive issues
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: "30 1 * * *"
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
close-issues:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
issues: write
|
|
11
|
+
pull-requests: write
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/stale@v9
|
|
14
|
+
with:
|
|
15
|
+
days-before-issue-stale: 14
|
|
16
|
+
days-before-issue-close: 14
|
|
17
|
+
stale-issue-label: "stale"
|
|
18
|
+
stale-issue-message: "This issue is stale because it has been open for 14 days with no activity."
|
|
19
|
+
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
|
|
20
|
+
days-before-pr-stale: -1
|
|
21
|
+
days-before-pr-close: -1
|
|
22
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
name: Python
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- release
|
|
8
|
+
tags:
|
|
9
|
+
- v[0-9]*
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check_format:
|
|
13
|
+
name: Check Python code format
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Install uv
|
|
19
|
+
uses: astral-sh/setup-uv@v4
|
|
20
|
+
with:
|
|
21
|
+
version: "latest"
|
|
22
|
+
|
|
23
|
+
- name: Set up Python and install dependencies
|
|
24
|
+
working-directory: tests/python
|
|
25
|
+
run: uv sync --project . --python 3.13
|
|
26
|
+
|
|
27
|
+
- name: Check code format
|
|
28
|
+
working-directory: tests/python
|
|
29
|
+
run: uv run --project . black --check ../..
|
|
30
|
+
|
|
31
|
+
build_wheels_quick:
|
|
32
|
+
name: Build wheels for quick testing
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v4
|
|
36
|
+
with:
|
|
37
|
+
fetch-depth: 0
|
|
38
|
+
fetch-tags: true # Optional, use if you use setuptools_scm
|
|
39
|
+
|
|
40
|
+
- name: Build wheels
|
|
41
|
+
uses: pypa/cibuildwheel@v3.3.1
|
|
42
|
+
env:
|
|
43
|
+
# These are the only wheels we need for the `test_wheels` job. For
|
|
44
|
+
# faster iteration times, we limit the job to only build these wheels.
|
|
45
|
+
CIBW_BUILD: "*manylinux_x86_64"
|
|
46
|
+
|
|
47
|
+
- uses: actions/upload-artifact@v4
|
|
48
|
+
with:
|
|
49
|
+
name: cibw-wheels-quick
|
|
50
|
+
path: ./wheelhouse/*.whl
|
|
51
|
+
|
|
52
|
+
test_wheels:
|
|
53
|
+
name: Test wheels with Python ${{ matrix.python-version }} and NumPy ${{ matrix.numpy-version }}
|
|
54
|
+
needs: [build_wheels_quick]
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
strategy:
|
|
57
|
+
fail-fast: false
|
|
58
|
+
matrix:
|
|
59
|
+
include:
|
|
60
|
+
- python-version: "3.9"
|
|
61
|
+
numpy-version: "1.25.2"
|
|
62
|
+
- python-version: "3.10"
|
|
63
|
+
numpy-version: "1.26.4"
|
|
64
|
+
- python-version: "3.11"
|
|
65
|
+
numpy-version: "1.26.4"
|
|
66
|
+
- python-version: "3.12"
|
|
67
|
+
numpy-version: "1.26.4"
|
|
68
|
+
- python-version: "3.11"
|
|
69
|
+
numpy-version: "2.4.2"
|
|
70
|
+
- python-version: "3.12"
|
|
71
|
+
numpy-version: "2.4.2"
|
|
72
|
+
|
|
73
|
+
steps:
|
|
74
|
+
- uses: actions/checkout@v4
|
|
75
|
+
|
|
76
|
+
- name: Install uv
|
|
77
|
+
uses: astral-sh/setup-uv@v4
|
|
78
|
+
with:
|
|
79
|
+
version: "latest"
|
|
80
|
+
|
|
81
|
+
- name: Download wheel artifacts
|
|
82
|
+
uses: actions/download-artifact@v4
|
|
83
|
+
with:
|
|
84
|
+
pattern: cibw-wheels-quick
|
|
85
|
+
path: dist
|
|
86
|
+
merge-multiple: true
|
|
87
|
+
|
|
88
|
+
- name: Set up Python ${{ matrix.python-version }} and install dependencies
|
|
89
|
+
working-directory: tests/python
|
|
90
|
+
run: uv sync --project . --python ${{ matrix.python-version }}
|
|
91
|
+
|
|
92
|
+
- name: Install NumPy ${{ matrix.numpy-version }}
|
|
93
|
+
working-directory: tests/python
|
|
94
|
+
run: |
|
|
95
|
+
uv pip install --project . --only-binary :all: numpy==${{ matrix.numpy-version }}
|
|
96
|
+
|
|
97
|
+
- name: Install manylinux wheel built for Python ${{ matrix.python-version }}
|
|
98
|
+
working-directory: tests/python
|
|
99
|
+
run: uv pip install --project . ../../dist/*cp$(echo ${{ matrix.python-version }} | tr -d .)*.whl
|
|
100
|
+
|
|
101
|
+
- name: Run tests
|
|
102
|
+
working-directory: tests/python
|
|
103
|
+
run: uv run --project . pytest
|
|
104
|
+
|
|
105
|
+
build_wheels_main:
|
|
106
|
+
name: Build remaining wheels on ${{ matrix.os }}
|
|
107
|
+
runs-on: ${{ matrix.os }}
|
|
108
|
+
strategy:
|
|
109
|
+
matrix:
|
|
110
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
111
|
+
|
|
112
|
+
steps:
|
|
113
|
+
- uses: actions/checkout@v4
|
|
114
|
+
with:
|
|
115
|
+
fetch-depth: 0
|
|
116
|
+
fetch-tags: true # Optional, use if you use setuptools_scm
|
|
117
|
+
|
|
118
|
+
- name: Build wheels
|
|
119
|
+
uses: pypa/cibuildwheel@v3.3.1
|
|
120
|
+
env:
|
|
121
|
+
CIBW_ARCHS_WINDOWS: "AMD64"
|
|
122
|
+
# The quick build has already taken care of manylinux.
|
|
123
|
+
CIBW_SKIP: "*-manylinux_x86_64"
|
|
124
|
+
|
|
125
|
+
- uses: actions/upload-artifact@v4
|
|
126
|
+
with:
|
|
127
|
+
name: cibw-wheels-main-${{ matrix.os }}-${{ strategy.job-index }}
|
|
128
|
+
path: ./wheelhouse/*.whl
|
|
129
|
+
|
|
130
|
+
# It looks cibuildwheels did not clean build folder(CMake), and it results to Windows arm64 build failure(trying to reuse x86 build of .obj)
|
|
131
|
+
# So supply separated build job for Windows ARM64 build
|
|
132
|
+
# TODO: clean build folder using CIBW_BEFORE_ALL?
|
|
133
|
+
build_wheels_win_arm64:
|
|
134
|
+
name: Build ARM64 wheels on Windows
|
|
135
|
+
runs-on: windows-latest
|
|
136
|
+
steps:
|
|
137
|
+
- uses: actions/checkout@v4
|
|
138
|
+
with:
|
|
139
|
+
fetch-depth: 0
|
|
140
|
+
fetch-tags: true # Optional, use if you use setuptools_scm
|
|
141
|
+
|
|
142
|
+
- name: Build wheels
|
|
143
|
+
uses: pypa/cibuildwheel@v3.3.1
|
|
144
|
+
env:
|
|
145
|
+
CIBW_ARCHS_WINDOWS: "ARM64"
|
|
146
|
+
|
|
147
|
+
- uses: actions/upload-artifact@v4
|
|
148
|
+
with:
|
|
149
|
+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
|
|
150
|
+
path: ./wheelhouse/*.whl
|
|
151
|
+
|
|
152
|
+
make_sdist:
|
|
153
|
+
name: Make SDist
|
|
154
|
+
runs-on: ubuntu-latest
|
|
155
|
+
steps:
|
|
156
|
+
- uses: actions/checkout@v4
|
|
157
|
+
with:
|
|
158
|
+
fetch-depth: 0 # Optional, use if you use setuptools_scm
|
|
159
|
+
fetch-tags: true # Optional, use if you use setuptools_scm
|
|
160
|
+
|
|
161
|
+
- name: Build SDist
|
|
162
|
+
run: pipx run build --sdist
|
|
163
|
+
|
|
164
|
+
- uses: actions/upload-artifact@v4
|
|
165
|
+
with:
|
|
166
|
+
name: cibw-sdist
|
|
167
|
+
path: dist/*.tar.gz
|
|
168
|
+
|
|
169
|
+
upload_all:
|
|
170
|
+
needs: [build_wheels_quick, build_wheels_main, build_wheels_win_arm64, make_sdist]
|
|
171
|
+
runs-on: ubuntu-latest
|
|
172
|
+
environment: release
|
|
173
|
+
permissions:
|
|
174
|
+
# IMPORTANT: this permission is mandatory for trusted publishing
|
|
175
|
+
id-token: write
|
|
176
|
+
# Upload to PyPI on every tag starting with 'v'.
|
|
177
|
+
# TODO: Make it work only using Github `environment` feature.
|
|
178
|
+
if: github.ref_type == 'tag'
|
|
179
|
+
steps:
|
|
180
|
+
- uses: actions/download-artifact@v4
|
|
181
|
+
with:
|
|
182
|
+
pattern: cibw-*
|
|
183
|
+
path: dist
|
|
184
|
+
merge-multiple: true
|
|
185
|
+
|
|
186
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
187
|
+
with:
|
|
188
|
+
# Use Trusted Publisher feature:
|
|
189
|
+
# https://docs.pypi.org/trusted-publishers/
|
|
190
|
+
# Avoid race condition when using multiple CIs
|
|
191
|
+
skip-existing: true
|
|
192
|
+
verbose: true
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
language: cpp
|
|
2
|
+
sudo: required
|
|
3
|
+
matrix:
|
|
4
|
+
include:
|
|
5
|
+
- addons: &1
|
|
6
|
+
apt:
|
|
7
|
+
sources:
|
|
8
|
+
- george-edison55-precise-backports
|
|
9
|
+
- ubuntu-toolchain-r-test
|
|
10
|
+
- llvm-toolchain-precise-3.7
|
|
11
|
+
packages:
|
|
12
|
+
- cmake
|
|
13
|
+
- cmake-data
|
|
14
|
+
- ninja-build
|
|
15
|
+
- g++-4.9
|
|
16
|
+
- clang-3.7
|
|
17
|
+
compiler: clang
|
|
18
|
+
env: DEPLOY_BUILD=1 COMPILER_VERSION=3.7 BUILD_TYPE=Debug
|
|
19
|
+
- addons: *1
|
|
20
|
+
compiler: clang
|
|
21
|
+
env: COMPILER_VERSION=3.7 BUILD_TYPE=Release
|
|
22
|
+
- addons: &2
|
|
23
|
+
apt:
|
|
24
|
+
sources:
|
|
25
|
+
- george-edison55-precise-backports
|
|
26
|
+
- ubuntu-toolchain-r-test
|
|
27
|
+
packages:
|
|
28
|
+
- cmake
|
|
29
|
+
- cmake-data
|
|
30
|
+
- ninja-build
|
|
31
|
+
- g++-4.9
|
|
32
|
+
compiler: gcc
|
|
33
|
+
env: COMPILER_VERSION=4.9 BUILD_TYPE=Debug
|
|
34
|
+
- addons: *2
|
|
35
|
+
compiler: gcc
|
|
36
|
+
env: COMPILER_VERSION=4.9 BUILD_TYPE=Release
|
|
37
|
+
- addons: *1
|
|
38
|
+
compiler: clang
|
|
39
|
+
env: COMPILER_VERSION=3.7 BUILD_TYPE=Debug
|
|
40
|
+
before_install:
|
|
41
|
+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade; fi
|
|
42
|
+
- if [ -n "$REPORT_COVERAGE" ]; then sudo apt-get update python; fi
|
|
43
|
+
- if [ -n "$REPORT_COVERAGE" ]; then sudo apt-get install python-dev libffi-dev libssl-dev; fi
|
|
44
|
+
- if [ -n "$REPORT_COVERAGE" ]; then sudo pip install --upgrade pip; fi
|
|
45
|
+
- if [ -n "$REPORT_COVERAGE" ]; then CXX=g++ pip install --user requests[security]; fi
|
|
46
|
+
- if [ -n "$REPORT_COVERAGE" ]; then CXX=g++ pip install --user cpp-coveralls; fi
|
|
47
|
+
script:
|
|
48
|
+
- cd tests
|
|
49
|
+
- make check
|
|
50
|
+
- if [ -n "$REPORT_COVERAGE" ]; then coveralls -b . -r .. -e examples -e tools -e
|
|
51
|
+
jni -e python -e images -E ".*CompilerId.*" -E ".*feature_tests.*" ; fi
|
|
52
|
+
- cd ..
|
|
53
|
+
- rm -rf dist
|
|
54
|
+
- mkdir dist
|
|
55
|
+
- cp tiny_obj_loader.h dist/
|
|
56
|
+
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
#Tiny Object Loader Cmake configuration file.
|
|
2
|
+
#This configures the Cmake system with multiple properties, depending
|
|
3
|
+
#on the platform and configuration it is set to build in.
|
|
4
|
+
cmake_minimum_required(VERSION 3.16)
|
|
5
|
+
project(tinyobjloader CXX)
|
|
6
|
+
set(TINYOBJLOADER_SOVERSION 2)
|
|
7
|
+
set(TINYOBJLOADER_VERSION 2.0.0-rc.13)
|
|
8
|
+
set(PY_TARGET "pytinyobjloader")
|
|
9
|
+
|
|
10
|
+
#optional double precision support
|
|
11
|
+
option(TINYOBJLOADER_USE_DOUBLE "Build library with double precision instead of single (float)" OFF)
|
|
12
|
+
option(TINYOBJLOADER_WITH_PYTHON "Build Python module(for developer). Use pyproject.toml/setup.py to build Python module for end-users" OFF)
|
|
13
|
+
option(TINYOBJLOADER_PREFER_LOCAL_PYTHON_INSTALLATION
|
|
14
|
+
"Prefer locally-installed Python interpreter than system or conda/brew installed Python. Please specify your Python interpreter with `Python3_EXECUTABLE` cmake option if you enable this option."
|
|
15
|
+
OFF)
|
|
16
|
+
|
|
17
|
+
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
|
18
|
+
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/sanitizers)
|
|
19
|
+
find_package(Sanitizers) # Address sanitizer (-DSANITIZE_ADDRESS=ON)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
if(TINYOBJLOADER_USE_DOUBLE)
|
|
23
|
+
set(LIBRARY_NAME ${PROJECT_NAME}_double)
|
|
24
|
+
else()
|
|
25
|
+
set(LIBRARY_NAME ${PROJECT_NAME})
|
|
26
|
+
endif()
|
|
27
|
+
|
|
28
|
+
#Folder Shortcuts
|
|
29
|
+
set(TINYOBJLOADEREXAMPLES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples)
|
|
30
|
+
|
|
31
|
+
set(tinyobjloader-Source
|
|
32
|
+
${CMAKE_CURRENT_SOURCE_DIR}/tiny_obj_loader.h
|
|
33
|
+
${CMAKE_CURRENT_SOURCE_DIR}/tiny_obj_loader.cc
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
set(tinyobjloader-Example-Source
|
|
37
|
+
${CMAKE_CURRENT_SOURCE_DIR}/loader_example.cc
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
set(tinyobjloader-examples-objsticher
|
|
41
|
+
${TINYOBJLOADEREXAMPLES_DIR}/obj_sticher/obj_writer.h
|
|
42
|
+
${TINYOBJLOADEREXAMPLES_DIR}/obj_sticher/obj_writer.cc
|
|
43
|
+
${TINYOBJLOADEREXAMPLES_DIR}/obj_sticher/obj_sticher.cc
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
#Install destinations
|
|
47
|
+
include(GNUInstallDirs)
|
|
48
|
+
|
|
49
|
+
set(TINYOBJLOADER_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake)
|
|
50
|
+
set(TINYOBJLOADER_DOC_DIR ${CMAKE_INSTALL_DOCDIR})
|
|
51
|
+
set(TINYOBJLOADER_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
|
52
|
+
set(TINYOBJLOADER_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR})
|
|
53
|
+
set(TINYOBJLOADER_PKGCONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
54
|
+
set(TINYOBJLOADER_RUNTIME_DIR ${CMAKE_INSTALL_BINDIR})
|
|
55
|
+
|
|
56
|
+
option(TINYOBJLOADER_BUILD_TEST_LOADER "Build Example Loader Application" OFF)
|
|
57
|
+
|
|
58
|
+
set(CMAKE_CXX_STANDARD 11)
|
|
59
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
60
|
+
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
61
|
+
|
|
62
|
+
# Build standalone .so for Python binding(for developer)
|
|
63
|
+
if (TINYOBJLOADER_WITH_PYTHON)
|
|
64
|
+
|
|
65
|
+
if(TINYOBJLOADER_PREFER_LOCAL_PYTHON_INSTALLATION)
|
|
66
|
+
#message(STATUS "Local Python")
|
|
67
|
+
set(Python3_FIND_FRAMEWORK NEVER) # Do not search framework python
|
|
68
|
+
set(Python3_FIND_STRATEGY LOCATION)
|
|
69
|
+
set(Python3_FIND_REGISTRY NEVER) # Windows only
|
|
70
|
+
else()
|
|
71
|
+
set(Python3_FIND_FRAMEWORK LAST
|
|
72
|
+
)# Prefer Brew/Conda to Apple framework python
|
|
73
|
+
endif()
|
|
74
|
+
|
|
75
|
+
find_package(
|
|
76
|
+
Python3
|
|
77
|
+
COMPONENTS Interpreter Development
|
|
78
|
+
REQUIRED)
|
|
79
|
+
|
|
80
|
+
find_package(pybind11 CONFIG REQUIRED)
|
|
81
|
+
|
|
82
|
+
endif()
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
add_library(${LIBRARY_NAME} ${tinyobjloader-Source})
|
|
87
|
+
add_sanitizers(${LIBRARY_NAME})
|
|
88
|
+
|
|
89
|
+
if(BUILD_SHARED_LIBS)
|
|
90
|
+
set_target_properties(${LIBRARY_NAME} PROPERTIES
|
|
91
|
+
SOVERSION ${TINYOBJLOADER_SOVERSION}
|
|
92
|
+
WINDOWS_EXPORT_ALL_SYMBOLS ON
|
|
93
|
+
)
|
|
94
|
+
endif()
|
|
95
|
+
|
|
96
|
+
if(TINYOBJLOADER_USE_DOUBLE)
|
|
97
|
+
target_compile_definitions(${LIBRARY_NAME} PUBLIC TINYOBJLOADER_USE_DOUBLE)
|
|
98
|
+
endif()
|
|
99
|
+
|
|
100
|
+
set_target_properties(${LIBRARY_NAME} PROPERTIES VERSION ${TINYOBJLOADER_VERSION})
|
|
101
|
+
|
|
102
|
+
target_include_directories(${LIBRARY_NAME} INTERFACE
|
|
103
|
+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
104
|
+
$<INSTALL_INTERFACE:${TINYOBJLOADER_INCLUDE_DIR}>
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
export(TARGETS ${LIBRARY_NAME} FILE ${PROJECT_NAME}-targets.cmake)
|
|
108
|
+
|
|
109
|
+
if(TINYOBJLOADER_BUILD_TEST_LOADER)
|
|
110
|
+
add_executable(test_loader ${tinyobjloader-Example-Source})
|
|
111
|
+
target_link_libraries(test_loader ${LIBRARY_NAME})
|
|
112
|
+
endif()
|
|
113
|
+
|
|
114
|
+
option(TINYOBJLOADER_BUILD_OBJ_STICHER "Build OBJ Sticher Application" OFF)
|
|
115
|
+
if(TINYOBJLOADER_BUILD_OBJ_STICHER)
|
|
116
|
+
add_executable(obj_sticher ${tinyobjloader-examples-objsticher})
|
|
117
|
+
target_link_libraries(obj_sticher ${LIBRARY_NAME})
|
|
118
|
+
|
|
119
|
+
install(TARGETS
|
|
120
|
+
obj_sticher
|
|
121
|
+
DESTINATION
|
|
122
|
+
${TINYOBJLOADER_RUNTIME_DIR}
|
|
123
|
+
)
|
|
124
|
+
endif()
|
|
125
|
+
|
|
126
|
+
if (TINYOBJLOADER_WITH_PYTHON)
|
|
127
|
+
# pybind11 method:
|
|
128
|
+
pybind11_add_module(${PY_TARGET} ${CMAKE_SOURCE_DIR}/python/bindings.cc ${CMAKE_SOURCE_DIR}/python/tiny_obj_loader.cc)
|
|
129
|
+
|
|
130
|
+
add_sanitizers(${PY_TARGET})
|
|
131
|
+
set_target_properties(${PY_TARGET} PROPERTIES OUTPUT_NAME "tinyobjloader")
|
|
132
|
+
|
|
133
|
+
# copy .so to jdepp/
|
|
134
|
+
add_custom_command(
|
|
135
|
+
TARGET ${PY_TARGET}
|
|
136
|
+
POST_BUILD
|
|
137
|
+
COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:${PY_TARGET}>"
|
|
138
|
+
"${CMAKE_SOURCE_DIR}/python/$<TARGET_FILE_NAME:${PY_TARGET}>"
|
|
139
|
+
COMMENT "copying tinyobjloader native python module file to python/"
|
|
140
|
+
VERBATIM)
|
|
141
|
+
|
|
142
|
+
endif()
|
|
143
|
+
|
|
144
|
+
#Write CMake package config files
|
|
145
|
+
include(CMakePackageConfigHelpers)
|
|
146
|
+
|
|
147
|
+
configure_package_config_file(
|
|
148
|
+
${PROJECT_NAME}-config.cmake.in
|
|
149
|
+
${PROJECT_NAME}-config.cmake
|
|
150
|
+
INSTALL_DESTINATION
|
|
151
|
+
${TINYOBJLOADER_CMAKE_DIR}
|
|
152
|
+
PATH_VARS
|
|
153
|
+
TINYOBJLOADER_INCLUDE_DIR
|
|
154
|
+
TINYOBJLOADER_LIBRARY_DIR
|
|
155
|
+
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake
|
|
159
|
+
VERSION
|
|
160
|
+
${TINYOBJLOADER_VERSION}
|
|
161
|
+
COMPATIBILITY
|
|
162
|
+
SameMajorVersion
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
#pkg-config file
|
|
166
|
+
configure_file(${PROJECT_NAME}.pc.in ${LIBRARY_NAME}.pc @ONLY)
|
|
167
|
+
|
|
168
|
+
if(DEFINED ENV{LIB_FUZZING_ENGINE})
|
|
169
|
+
add_executable(fuzz_ParseFromString fuzzer/fuzz_ParseFromString.cc)
|
|
170
|
+
target_link_libraries(fuzz_ParseFromString ${LIBRARY_NAME} $ENV{LIB_FUZZING_ENGINE})
|
|
171
|
+
endif()
|
|
172
|
+
|
|
173
|
+
#Installation
|
|
174
|
+
install(TARGETS
|
|
175
|
+
${LIBRARY_NAME}
|
|
176
|
+
EXPORT ${PROJECT_NAME}-targets
|
|
177
|
+
DESTINATION
|
|
178
|
+
${TINYOBJLOADER_LIBRARY_DIR}
|
|
179
|
+
PUBLIC_HEADER DESTINATION
|
|
180
|
+
${TINYOBJLOADER_INCLUDE_DIR}
|
|
181
|
+
RUNTIME DESTINATION
|
|
182
|
+
${TINYOBJLOADER_RUNTIME_DIR}
|
|
183
|
+
)
|
|
184
|
+
install(EXPORT
|
|
185
|
+
${PROJECT_NAME}-targets
|
|
186
|
+
NAMESPACE
|
|
187
|
+
tinyobjloader::
|
|
188
|
+
DESTINATION
|
|
189
|
+
${TINYOBJLOADER_CMAKE_DIR}
|
|
190
|
+
)
|
|
191
|
+
install(FILES
|
|
192
|
+
tiny_obj_loader.h
|
|
193
|
+
DESTINATION
|
|
194
|
+
${TINYOBJLOADER_INCLUDE_DIR}
|
|
195
|
+
)
|
|
196
|
+
install(FILES
|
|
197
|
+
LICENSE
|
|
198
|
+
DESTINATION
|
|
199
|
+
${TINYOBJLOADER_DOC_DIR}
|
|
200
|
+
)
|
|
201
|
+
install(FILES
|
|
202
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
|
|
203
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
|
|
204
|
+
DESTINATION
|
|
205
|
+
${TINYOBJLOADER_CMAKE_DIR}
|
|
206
|
+
)
|
|
207
|
+
install(FILES
|
|
208
|
+
"${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME}.pc"
|
|
209
|
+
DESTINATION
|
|
210
|
+
${TINYOBJLOADER_PKGCONFIG_DIR}
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
if(NOT TARGET uninstall)
|
|
214
|
+
configure_file(
|
|
215
|
+
${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in
|
|
216
|
+
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
|
|
217
|
+
|
|
218
|
+
add_custom_target(
|
|
219
|
+
uninstall COMMAND ${CMAKE_COMMAND} -P
|
|
220
|
+
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
221
|
+
endif()
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2012-2019 Syoyo Fujita and many contributors.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
22
|
+
|
|
23
|
+
----------------------------------
|
|
24
|
+
|
|
25
|
+
mapbox/earcut.hpp
|
|
26
|
+
|
|
27
|
+
ISC License
|
|
28
|
+
|
|
29
|
+
Copyright (c) 2015, Mapbox
|
|
30
|
+
|
|
31
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose
|
|
32
|
+
with or without fee is hereby granted, provided that the above copyright notice
|
|
33
|
+
and this permission notice appear in all copies.
|
|
34
|
+
|
|
35
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
36
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
37
|
+
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
38
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
|
39
|
+
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
40
|
+
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
|
41
|
+
THIS SOFTWARE.
|
|
42
|
+
|