ernie-renderer 0.2.0.dev7__tar.gz → 0.2.0.dev16__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.
Potentially problematic release.
This version of ernie-renderer might be problematic. Click here for more details.
- ernie_renderer-0.2.0.dev16/.gitattributes +15 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.github/workflows/ci.yml +49 -17
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.pre-commit-config.yaml +3 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/CMakeLists.txt +27 -8
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/CMakePresets.json +7 -8
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/Dockerfile +4 -1
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/PKG-INFO +2 -2
- ernie_renderer-0.2.0.dev16/cmake/ErnieConfig.cmake.in +26 -0
- ernie_renderer-0.2.0.dev16/cmake/ErnieFetch.cmake +41 -0
- ernie_renderer-0.2.0.dev16/cmake/ErnieInstall.cmake +123 -0
- ernie_renderer-0.2.0.dev16/cmake/ErniePackaging.cmake +57 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/ErnieTesting.cmake +4 -0
- ernie_renderer-0.2.0.dev16/cmake/ernie.pc.in +10 -0
- ernie_renderer-0.2.0.dev16/cmake/third_party/bc7enc.cmake +26 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/dlpack.cmake +2 -6
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/glm.cmake +3 -9
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/googletest.cmake +3 -6
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/json.cmake +1 -3
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/nanobind.cmake +2 -4
- ernie_renderer-0.2.0.dev16/cmake/third_party/openexr.cmake +71 -0
- ernie_renderer-0.2.0.dev16/cmake/third_party/stb.cmake +28 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/tracy.cmake +2 -6
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/volk.cmake +2 -6
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/cmake/third_party/vulkan_headers.cmake +3 -6
- ernie_renderer-0.2.0.dev16/ernie/CMakeLists.txt +70 -0
- ernie_renderer-0.2.0.dev16/ernie/app/CMakeLists.txt +5 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/app/main.cpp +1 -1
- ernie_renderer-0.2.0.dev16/ernie/device/CMakeLists.txt +3 -0
- ernie_renderer-0.2.0.dev16/ernie/io/CMakeLists.txt +22 -0
- ernie_renderer-0.2.0.dev16/ernie/io/ies.cpp +229 -0
- ernie_renderer-0.2.0.dev16/ernie/io/ies.h +121 -0
- ernie_renderer-0.2.0.dev16/ernie/io/image.cpp +312 -0
- ernie_renderer-0.2.0.dev16/ernie/io/image.h +146 -0
- ernie_renderer-0.2.0.dev16/ernie/io/nanovdb.cpp +651 -0
- ernie_renderer-0.2.0.dev16/ernie/io/nanovdb.h +176 -0
- ernie_renderer-0.2.0.dev16/ernie/io/raster.cpp +1352 -0
- ernie_renderer-0.2.0.dev16/ernie/io/raster.h +597 -0
- ernie_renderer-0.2.0.dev16/ernie/io/texture.cpp +1478 -0
- ernie_renderer-0.2.0.dev16/ernie/io/texture.h +412 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/CMakeLists.txt +2 -2
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/cloud.cpp +5 -5
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/cloud.h +1 -1
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/regolith.cpp +2 -2
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/scattering.cpp +1 -1
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/spectrum.cpp +2 -2
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/python/CMakeLists.txt +6 -2
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/python/module.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/CMakeLists.txt +10 -7
- ernie_renderer-0.2.0.dev16/ernie/util/bytes.h +78 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/disk_cache.cpp +1 -1
- ernie_renderer-0.2.0.dev7/ernie/core/mapped_file.cpp → ernie_renderer-0.2.0.dev16/ernie/util/file.cpp +39 -8
- ernie_renderer-0.2.0.dev16/ernie/util/file.h +57 -0
- ernie_renderer-0.2.0.dev16/ernie/util/glm.h +19 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/log.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/log.h +6 -4
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/math.h +16 -3
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/noise.cpp +2 -2
- ernie_renderer-0.2.0.dev7/ernie/core/profile_report.cpp → ernie_renderer-0.2.0.dev16/ernie/util/profiler.cpp +186 -3
- ernie_renderer-0.2.0.dev16/ernie/util/profiler.h +264 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/tensor.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/tensor.h +8 -5
- ernie_renderer-0.2.0.dev16/ernie/util/text.h +100 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/version.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/version.h +6 -4
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/worker_pool.h +1 -1
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/pyproject.toml +7 -5
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/CMakeLists.txt +29 -18
- ernie_renderer-0.2.0.dev16/tests/consumer/CMakeLists.txt +34 -0
- ernie_renderer-0.2.0.dev16/tests/consumer/main.cpp +20 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/exr/README.md +5 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/exr/make_exr.py +110 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/exr/rgba_half_window.exr +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/exr/y_half_zips.exr +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ies/README.md +4 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ies/downlight_quadrant.ies +14 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ies/floodlight_type_b.ies +16 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ies/lamp.tilt +4 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/images/grey16.png +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ktx2/README.md +13 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/README.md +8 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/float_raw.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/volumes/cube.nvdb +0 -0
- ernie_renderer-0.2.0.dev16/tests/fixtures/volumes/make_nvdb.py +38 -0
- ernie_renderer-0.2.0.dev16/tests/io/ies_test.cpp +223 -0
- ernie_renderer-0.2.0.dev16/tests/io/image_test.cpp +310 -0
- ernie_renderer-0.2.0.dev16/tests/io/nanovdb_test.cpp +190 -0
- ernie_renderer-0.2.0.dev16/tests/io/raster_test.cpp +501 -0
- ernie_renderer-0.2.0.dev16/tests/io/texture_test.cpp +755 -0
- ernie_renderer-0.2.0.dev16/tests/util/bytes_test.cpp +59 -0
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/disk_cache_test.cpp +1 -1
- ernie_renderer-0.2.0.dev16/tests/util/file_test.cpp +74 -0
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/linear_algebra_test.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/log_test.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/math_test.cpp +12 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/noise_test.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/parallel_test.cpp +1 -1
- ernie_renderer-0.2.0.dev7/ernie/test/core/profile_report_test.cpp → ernie_renderer-0.2.0.dev16/tests/util/profiler_test.cpp +57 -6
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/random_test.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/tensor_test.cpp +1 -1
- ernie_renderer-0.2.0.dev16/tests/util/text_test.cpp +42 -0
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/version_test.cpp +1 -1
- {ernie_renderer-0.2.0.dev7/ernie/test/core → ernie_renderer-0.2.0.dev16/tests/util}/worker_pool_test.cpp +1 -1
- ernie_renderer-0.2.0.dev16/third_party/CMakeLists.txt +20 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/LICENSE +201 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/LICENSES/Apache-2.0.txt +208 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/LICENSES/BSD-3-clause.txt +96 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/LICENSES/MIT.txt +47 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/NOTICE +15 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/README.md +3 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu.h +821 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_astc_cfgs.inl +648 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_astc_hdr_core.h +211 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_astc_helpers.h +5335 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_containers.h +4354 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_containers_impl.h +818 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_dds_transcoder.inl +1372 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_etc1_mods.inl +258 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_file_headers.h +264 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_idct.h +1446 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder.cpp +45962 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder.h +1786 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_internal.h +4044 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +49 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +494 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +494 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +481 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_transcoder_uastc.h +289 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_xbc7_decoder.h +1467 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +1515 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/zstd/LICENSE +30 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/zstd/zstd.h +3198 -0
- ernie_renderer-0.2.0.dev16/third_party/basisu/zstd/zstd_errors.h +107 -0
- ernie_renderer-0.2.0.dev16/third_party/nanovdb/LICENSE +176 -0
- ernie_renderer-0.2.0.dev16/third_party/nanovdb/PNanoVDB.h +3590 -0
- ernie_renderer-0.2.0.dev7/.gitattributes +0 -2
- ernie_renderer-0.2.0.dev7/cmake/ErniePackaging.cmake +0 -38
- ernie_renderer-0.2.0.dev7/ernie/CMakeLists.txt +0 -21
- ernie_renderer-0.2.0.dev7/ernie/app/CMakeLists.txt +0 -5
- ernie_renderer-0.2.0.dev7/ernie/core/mapped_file.h +0 -39
- ernie_renderer-0.2.0.dev7/ernie/core/profile.h +0 -45
- ernie_renderer-0.2.0.dev7/ernie/core/profile_report.h +0 -110
- ernie_renderer-0.2.0.dev7/ernie/core/profiler.cpp +0 -189
- ernie_renderer-0.2.0.dev7/ernie/core/profiler.h +0 -125
- ernie_renderer-0.2.0.dev7/ernie/device/CMakeLists.txt +0 -3
- ernie_renderer-0.2.0.dev7/ernie/io/CMakeLists.txt +0 -3
- ernie_renderer-0.2.0.dev7/ernie/test/core/mapped_file_test.cpp +0 -41
- ernie_renderer-0.2.0.dev7/ernie/test/core/profiler_test.cpp +0 -62
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/README.md +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/device/vulkan_devices.cpp +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/device/vulkan_devices.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/render/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/noise.h +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/core → ernie_renderer-0.2.0.dev16/ernie/util}/random.h +0 -0
- {ernie_renderer-0.2.0.dev7 → ernie_renderer-0.2.0.dev16}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev7/ernie/test → ernie_renderer-0.2.0.dev16/tests}/python/test_package.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
* text=auto eol=lf
|
|
2
|
+
*.sh text eol=lf
|
|
3
|
+
|
|
4
|
+
# Binary formats, never normalised or diffed as text whatever their bytes look like.
|
|
5
|
+
*.dds binary
|
|
6
|
+
*.exr binary
|
|
7
|
+
*.img binary
|
|
8
|
+
*.jpeg binary
|
|
9
|
+
*.jpg binary
|
|
10
|
+
*.ktx2 binary
|
|
11
|
+
*.nvdb binary
|
|
12
|
+
*.png binary
|
|
13
|
+
*.tif binary
|
|
14
|
+
*.tiff binary
|
|
15
|
+
*.vdb binary
|
|
@@ -80,13 +80,12 @@ jobs:
|
|
|
80
80
|
# MSVC on the path for the Ninja generator.
|
|
81
81
|
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
|
82
82
|
if: runner.os == 'Windows'
|
|
83
|
-
# Fetched dependencies' sources, keyed on their pins
|
|
83
|
+
# Fetched dependencies' sources (ERNIE_DEPS_DIR), keyed on their pins; they are built in the
|
|
84
|
+
# build tree, so compiled objects are not cached.
|
|
84
85
|
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
85
86
|
with:
|
|
86
|
-
path:
|
|
87
|
-
|
|
88
|
-
.deps/*-subbuild
|
|
89
|
-
key: deps-${{ runner.os }}-${{ hashFiles('cmake/third_party/**') }}
|
|
87
|
+
path: .deps
|
|
88
|
+
key: deps-${{ runner.os }}-${{ hashFiles('cmake/ErnieFetch.cmake', 'cmake/third_party/**') }}
|
|
90
89
|
- name: Configure
|
|
91
90
|
shell: bash
|
|
92
91
|
run: >
|
|
@@ -96,6 +95,18 @@ jobs:
|
|
|
96
95
|
-DERNIE_TEST_PYTHON=python
|
|
97
96
|
- name: Build
|
|
98
97
|
run: cmake --build --preset ci --parallel 4
|
|
98
|
+
# The installed library used as end users use it: its headers compile alone and a program
|
|
99
|
+
# links and runs against it (QA-072). Windows finds ernie.dll on the PATH.
|
|
100
|
+
- name: Install and build a consumer
|
|
101
|
+
shell: bash
|
|
102
|
+
run: |
|
|
103
|
+
prefix="$RUNNER_TEMP/ernie"
|
|
104
|
+
cmake --install build/ci --prefix "$prefix" --component runtime
|
|
105
|
+
cmake --install build/ci --prefix "$prefix" --component dev
|
|
106
|
+
cmake -S tests/consumer -B build/consumer -G Ninja -DCMAKE_BUILD_TYPE=Release \
|
|
107
|
+
"-DCMAKE_PREFIX_PATH=$prefix"
|
|
108
|
+
cmake --build build/consumer
|
|
109
|
+
PATH="$prefix/bin:$PATH" ctest --test-dir build/consumer --output-on-failure
|
|
99
110
|
# The build tree without objects, for this platform's test job; tar keeps file modes.
|
|
100
111
|
- name: Pack the build tree
|
|
101
112
|
shell: bash
|
|
@@ -171,10 +182,8 @@ jobs:
|
|
|
171
182
|
- run: python -m pip install nanobind ninja pytest gcovr
|
|
172
183
|
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
173
184
|
with:
|
|
174
|
-
path:
|
|
175
|
-
|
|
176
|
-
.deps/*-subbuild
|
|
177
|
-
key: deps-${{ runner.os }}-${{ hashFiles('cmake/third_party/**') }}
|
|
185
|
+
path: .deps
|
|
186
|
+
key: deps-${{ runner.os }}-${{ hashFiles('cmake/ErnieFetch.cmake', 'cmake/third_party/**') }}
|
|
178
187
|
- name: Install lavapipe
|
|
179
188
|
run: |
|
|
180
189
|
sudo apt-get update
|
|
@@ -194,7 +203,7 @@ jobs:
|
|
|
194
203
|
- name: Report
|
|
195
204
|
run: |
|
|
196
205
|
mkdir -p coverage
|
|
197
|
-
gcovr --root . --filter 'ernie/' --exclude '
|
|
206
|
+
gcovr --root . --filter 'ernie/' --exclude '.*_table\.h' \
|
|
198
207
|
--object-directory build/coverage \
|
|
199
208
|
--html-details coverage/index.html --json-summary coverage/summary.json --print-summary
|
|
200
209
|
python .github/scripts/coverage_badge.py coverage
|
|
@@ -223,9 +232,13 @@ jobs:
|
|
|
223
232
|
|
|
224
233
|
# The project site on GitHub Pages, from main: the docs, with the coverage report and its badge
|
|
225
234
|
# under coverage/.
|
|
235
|
+
# The site follows main whenever its docs build, so a failing test elsewhere never takes it down;
|
|
236
|
+
# the coverage report is included when the coverage job passed.
|
|
226
237
|
pages:
|
|
227
|
-
needs: [
|
|
228
|
-
if:
|
|
238
|
+
needs: [docs, coverage]
|
|
239
|
+
if: >
|
|
240
|
+
always() && github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
241
|
+
&& needs.docs.result == 'success'
|
|
229
242
|
runs-on: ubuntu-24.04
|
|
230
243
|
timeout-minutes: 10
|
|
231
244
|
permissions:
|
|
@@ -240,6 +253,7 @@ jobs:
|
|
|
240
253
|
name: docs
|
|
241
254
|
path: site
|
|
242
255
|
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
256
|
+
if: needs.coverage.result == 'success'
|
|
243
257
|
with:
|
|
244
258
|
name: coverage
|
|
245
259
|
path: site/coverage
|
|
@@ -250,18 +264,23 @@ jobs:
|
|
|
250
264
|
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1
|
|
251
265
|
|
|
252
266
|
wheel:
|
|
253
|
-
name: wheel (${{ matrix.platform }})
|
|
267
|
+
name: wheel (${{ matrix.platform }}, ${{ matrix.python }})
|
|
254
268
|
needs: version
|
|
255
269
|
runs-on: ${{ matrix.runner }}
|
|
256
270
|
timeout-minutes: 45
|
|
257
271
|
strategy:
|
|
258
272
|
fail-fast: false
|
|
259
273
|
matrix:
|
|
274
|
+
# cp312 is the stable-ABI wheel for every CPython from 3.12.
|
|
275
|
+
python: [cp310, cp311, cp312]
|
|
276
|
+
platform: [linux-x86_64, linux-aarch64, windows-amd64, macos-arm64]
|
|
260
277
|
include:
|
|
261
278
|
- { platform: linux-x86_64, runner: ubuntu-24.04 }
|
|
262
279
|
- { platform: linux-aarch64, runner: ubuntu-24.04-arm }
|
|
263
280
|
- { platform: windows-amd64, runner: windows-2025 }
|
|
264
281
|
- { platform: macos-arm64, runner: macos-15 }
|
|
282
|
+
env:
|
|
283
|
+
CIBW_BUILD: ${{ matrix.python }}-*
|
|
265
284
|
steps:
|
|
266
285
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
267
286
|
- name: Version
|
|
@@ -276,7 +295,7 @@ jobs:
|
|
|
276
295
|
output-dir: wheelhouse
|
|
277
296
|
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
278
297
|
with:
|
|
279
|
-
name: wheel-${{ matrix.platform }}
|
|
298
|
+
name: wheel-${{ matrix.platform }}-${{ matrix.python }}
|
|
280
299
|
path: wheelhouse/*.whl
|
|
281
300
|
|
|
282
301
|
# The sdist, then a wheel built from it and imported, as pip does for platforms without wheels.
|
|
@@ -327,11 +346,16 @@ jobs:
|
|
|
327
346
|
run: |
|
|
328
347
|
dnf install -y -q rpm-build
|
|
329
348
|
command -v ninja >/dev/null || pipx install -q ninja
|
|
349
|
+
# One build; each format installs the library where its distributions look for it, as the
|
|
350
|
+
# build image (RHEL's lib64) is not where Debian and Ubuntu look.
|
|
330
351
|
- name: Build
|
|
331
352
|
run: |
|
|
332
353
|
cmake --preset package
|
|
333
354
|
cmake --build --preset package --parallel 4
|
|
334
|
-
cd build/package
|
|
355
|
+
cd build/package
|
|
356
|
+
cmake "-DCMAKE_INSTALL_LIBDIR=lib/$(uname -m)-linux-gnu" . && cpack -G DEB
|
|
357
|
+
cmake -DCMAKE_INSTALL_LIBDIR=lib64 . && cpack -G RPM
|
|
358
|
+
cmake -DCMAKE_INSTALL_LIBDIR=lib . && cpack -G TGZ
|
|
335
359
|
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
336
360
|
with:
|
|
337
361
|
name: packages-linux-${{ matrix.arch }}
|
|
@@ -353,6 +377,8 @@ jobs:
|
|
|
353
377
|
image: ["ubuntu:22.04", "ubuntu:24.04", "debian:12", "rockylinux/rockylinux:9"]
|
|
354
378
|
container: ${{ matrix.image }}
|
|
355
379
|
steps:
|
|
380
|
+
# The consumer project; checked out first, as checkout clears the workspace.
|
|
381
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
356
382
|
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
357
383
|
with:
|
|
358
384
|
name: packages-linux-${{ matrix.arch }}
|
|
@@ -360,10 +386,16 @@ jobs:
|
|
|
360
386
|
if: ${{ !startsWith(matrix.image, 'rockylinux') }}
|
|
361
387
|
run: |
|
|
362
388
|
apt-get update
|
|
363
|
-
apt-get install -y --no-install-recommends ./*.deb mesa-vulkan-drivers
|
|
389
|
+
apt-get install -y --no-install-recommends ./*.deb mesa-vulkan-drivers cmake g++ make
|
|
364
390
|
- name: Install
|
|
365
391
|
if: ${{ startsWith(matrix.image, 'rockylinux') }}
|
|
366
|
-
run: dnf install -y ./*.rpm
|
|
392
|
+
run: dnf install -y ./*.rpm cmake gcc-c++ make
|
|
393
|
+
# The -dev package used as end users use it, with the distribution's own compiler and CMake.
|
|
394
|
+
- name: Build a consumer
|
|
395
|
+
run: |
|
|
396
|
+
cmake -S tests/consumer -B /tmp/consumer -DCMAKE_BUILD_TYPE=Release
|
|
397
|
+
cmake --build /tmp/consumer
|
|
398
|
+
ctest --test-dir /tmp/consumer --output-on-failure
|
|
367
399
|
# Rocky 9 has no lavapipe for aarch64, so there the program is only run, not given a device.
|
|
368
400
|
- name: Install lavapipe
|
|
369
401
|
if: ${{ startsWith(matrix.image, 'rockylinux') && matrix.arch == 'x86_64' }}
|
|
@@ -10,11 +10,12 @@ project(
|
|
|
10
10
|
VERSION 0.2.0
|
|
11
11
|
DESCRIPTION
|
|
12
12
|
"Efficient Renderer for Natural and Interplanetary Environments: a spectral Vulkan ray tracer"
|
|
13
|
+
HOMEPAGE_URL "https://github.com/alexmaietta/ernie"
|
|
13
14
|
LANGUAGES C CXX
|
|
14
15
|
)
|
|
15
16
|
|
|
16
17
|
# Pre-release suffix such as .dev12, written by CI.
|
|
17
|
-
set(ERNIE_VERSION_SUFFIX ".
|
|
18
|
+
set(ERNIE_VERSION_SUFFIX ".dev16" CACHE STRING "Pre-release suffix of Ernie's version")
|
|
18
19
|
set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
|
|
19
20
|
|
|
20
21
|
option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
|
|
@@ -24,6 +25,10 @@ option(ERNIE_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF)
|
|
|
24
25
|
option(ERNIE_ASSERTS "Keep assertions in optimised builds" OFF)
|
|
25
26
|
option(ERNIE_TRACY "Send profiling zones to the Tracy profiler too" OFF)
|
|
26
27
|
option(ERNIE_COVERAGE "Instrument Ernie for code coverage (GCC or Clang)" OFF)
|
|
28
|
+
option(ERNIE_INSTALL "Install libernie for C++ consumers" ${PROJECT_IS_TOP_LEVEL})
|
|
29
|
+
|
|
30
|
+
set(CMAKE_INSTALL_DOCDIR "share/doc/ernie" CACHE PATH "Documentation and licences")
|
|
31
|
+
include(GNUInstallDirs)
|
|
27
32
|
|
|
28
33
|
get_property(ernie_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
29
34
|
if(PROJECT_IS_TOP_LEVEL AND NOT ernie_multi_config AND NOT CMAKE_BUILD_TYPE)
|
|
@@ -36,18 +41,31 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
36
41
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
37
42
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
|
38
43
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
|
|
45
|
+
# Every object goes into the shared library too, and only its public API leaves it: symbols are
|
|
46
|
+
# hidden unless marked ERNIE_API, including those of the dependencies built here.
|
|
47
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
48
|
+
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
|
49
|
+
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
|
50
|
+
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
|
42
51
|
|
|
52
|
+
include(cmake/ErnieFetch.cmake)
|
|
43
53
|
include(cmake/third_party/glm.cmake)
|
|
44
54
|
include(cmake/third_party/dlpack.cmake)
|
|
45
55
|
include(cmake/third_party/json.cmake)
|
|
56
|
+
include(cmake/third_party/openexr.cmake)
|
|
57
|
+
include(cmake/third_party/bc7enc.cmake)
|
|
58
|
+
include(cmake/third_party/stb.cmake)
|
|
46
59
|
include(cmake/third_party/tracy.cmake)
|
|
47
60
|
include(cmake/third_party/vulkan_headers.cmake)
|
|
48
61
|
include(cmake/third_party/volk.cmake)
|
|
62
|
+
add_subdirectory(third_party)
|
|
49
63
|
|
|
50
64
|
add_library(ernie_build_options INTERFACE)
|
|
65
|
+
# All of Ernie's own code is built as the shared library's (ernie_EXPORTS), so ERNIE_API exports
|
|
66
|
+
# there and is harmless in the static library. glm's configuration stays inside Ernie: it changes
|
|
67
|
+
# no layout, but consumers' own glm calls must not see it.
|
|
68
|
+
target_compile_definitions(ernie_build_options INTERFACE ernie_EXPORTS GLM_FORCE_DEPTH_ZERO_TO_ONE)
|
|
51
69
|
if(MSVC)
|
|
52
70
|
target_compile_options(ernie_build_options INTERFACE /W4 /permissive- /Zc:__cplusplus /utf-8)
|
|
53
71
|
# The CRT's "unsafe function" deprecations (getenv, fopen) would fail warnings-as-errors builds.
|
|
@@ -79,17 +97,18 @@ if(ERNIE_ASSERTS)
|
|
|
79
97
|
)
|
|
80
98
|
endif()
|
|
81
99
|
if(ERNIE_COVERAGE)
|
|
82
|
-
|
|
83
|
-
# them.
|
|
84
|
-
target_compile_options(ernie_build_options INTERFACE --coverage -fprofile-update=atomic -O0 -g)
|
|
100
|
+
target_compile_options(ernie_build_options INTERFACE --coverage -fprofile-update=atomic -Og -g)
|
|
85
101
|
target_link_options(ernie_build_options INTERFACE --coverage)
|
|
86
102
|
endif()
|
|
87
103
|
|
|
88
104
|
add_subdirectory(ernie)
|
|
105
|
+
if(ERNIE_INSTALL)
|
|
106
|
+
include(cmake/ErnieInstall.cmake)
|
|
107
|
+
endif()
|
|
89
108
|
|
|
90
109
|
if(ERNIE_BUILD_TESTS)
|
|
91
110
|
enable_testing()
|
|
92
|
-
add_subdirectory(
|
|
111
|
+
add_subdirectory(tests)
|
|
93
112
|
endif()
|
|
94
113
|
|
|
95
114
|
if(PROJECT_IS_TOP_LEVEL AND NOT SKBUILD)
|
|
@@ -28,8 +28,7 @@
|
|
|
28
28
|
"cacheVariables": {
|
|
29
29
|
"CMAKE_BUILD_TYPE": "Release",
|
|
30
30
|
"ERNIE_ASSERTS": "ON",
|
|
31
|
-
"ERNIE_WARNINGS_AS_ERRORS": "ON"
|
|
32
|
-
"FETCHCONTENT_BASE_DIR": "${sourceDir}/.deps"
|
|
31
|
+
"ERNIE_WARNINGS_AS_ERRORS": "ON"
|
|
33
32
|
}
|
|
34
33
|
},
|
|
35
34
|
{
|
|
@@ -41,8 +40,7 @@
|
|
|
41
40
|
"cacheVariables": {
|
|
42
41
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
43
42
|
"ERNIE_COVERAGE": "ON",
|
|
44
|
-
"ERNIE_WARNINGS_AS_ERRORS": "ON"
|
|
45
|
-
"FETCHCONTENT_BASE_DIR": "${sourceDir}/.deps"
|
|
43
|
+
"ERNIE_WARNINGS_AS_ERRORS": "ON"
|
|
46
44
|
}
|
|
47
45
|
},
|
|
48
46
|
{
|
|
@@ -56,8 +54,7 @@
|
|
|
56
54
|
"CMAKE_INSTALL_PREFIX": "/usr",
|
|
57
55
|
"ERNIE_BUILD_APP": "ON",
|
|
58
56
|
"ERNIE_BUILD_TESTS": "OFF",
|
|
59
|
-
"ERNIE_BUILD_PYTHON": "OFF"
|
|
60
|
-
"FETCHCONTENT_BASE_DIR": "${sourceDir}/.deps"
|
|
57
|
+
"ERNIE_BUILD_PYTHON": "OFF"
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
60
|
],
|
|
@@ -68,11 +65,13 @@
|
|
|
68
65
|
},
|
|
69
66
|
{
|
|
70
67
|
"name": "ci",
|
|
71
|
-
"configurePreset": "ci"
|
|
68
|
+
"configurePreset": "ci",
|
|
69
|
+
"nativeToolOptions": ["-k", "0"]
|
|
72
70
|
},
|
|
73
71
|
{
|
|
74
72
|
"name": "coverage",
|
|
75
|
-
"configurePreset": "coverage"
|
|
73
|
+
"configurePreset": "coverage",
|
|
74
|
+
"nativeToolOptions": ["-k", "0"]
|
|
76
75
|
},
|
|
77
76
|
{
|
|
78
77
|
"name": "package",
|
|
@@ -8,7 +8,8 @@ WORKDIR /src
|
|
|
8
8
|
COPY . .
|
|
9
9
|
RUN cmake -S . -B /build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/ernie \
|
|
10
10
|
&& cmake --build /build \
|
|
11
|
-
&& cmake --install /build --component app
|
|
11
|
+
&& cmake --install /build --component app \
|
|
12
|
+
&& cmake --install /build --component runtime
|
|
12
13
|
|
|
13
14
|
FROM ubuntu:24.04
|
|
14
15
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
@@ -16,6 +17,8 @@ RUN apt-get update \
|
|
|
16
17
|
&& apt-get install -y --no-install-recommends libvulkan1 mesa-vulkan-drivers \
|
|
17
18
|
&& rm -rf /var/lib/apt/lists/*
|
|
18
19
|
COPY --from=build /opt/ernie/bin/ernie /usr/local/bin/ernie
|
|
20
|
+
# Data and the licences of everything the program carries.
|
|
21
|
+
COPY --from=build /opt/ernie/share /usr/local/share
|
|
19
22
|
ENV NVIDIA_DRIVER_CAPABILITIES=graphics,compute,utility
|
|
20
23
|
WORKDIR /work
|
|
21
24
|
ENTRYPOINT ["ernie"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ernie-renderer
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev16
|
|
4
4
|
Summary: Efficient Renderer for Natural and Interplanetary Environments: a physically based, spectral Vulkan ray tracer
|
|
5
5
|
Author: Alex Maietta
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -8,7 +8,7 @@ License-File: LICENSE
|
|
|
8
8
|
Project-URL: Homepage, https://github.com/alexmaietta/ernie
|
|
9
9
|
Project-URL: Repository, https://github.com/alexmaietta/ernie
|
|
10
10
|
Project-URL: Issues, https://github.com/alexmaietta/ernie/issues
|
|
11
|
-
Requires-Python: >=3.
|
|
11
|
+
Requires-Python: >=3.10
|
|
12
12
|
Provides-Extra: test
|
|
13
13
|
Requires-Dist: pytest>=8; extra == "test"
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
# find_package(Ernie): the shared library and its public headers, as Ernie::ernie.
|
|
3
|
+
@PACKAGE_INIT@
|
|
4
|
+
|
|
5
|
+
include("${CMAKE_CURRENT_LIST_DIR}/ErnieTargets.cmake")
|
|
6
|
+
|
|
7
|
+
# Public headers use glm: the consumer's own when it has one, else the copy installed with Ernie.
|
|
8
|
+
# Either way one glm reaches each translation unit; ernie/util/glm.h checks its layout.
|
|
9
|
+
find_package(glm CONFIG QUIET)
|
|
10
|
+
if(TARGET glm::glm)
|
|
11
|
+
target_link_libraries(Ernie::ernie INTERFACE glm::glm)
|
|
12
|
+
else()
|
|
13
|
+
set_property(
|
|
14
|
+
TARGET Ernie::ernie
|
|
15
|
+
APPEND
|
|
16
|
+
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_ERNIE_THIRD_PARTY_INCLUDEDIR@/glm"
|
|
17
|
+
)
|
|
18
|
+
endif()
|
|
19
|
+
# DLPack, a single versioned C header, always comes from Ernie.
|
|
20
|
+
set_property(
|
|
21
|
+
TARGET Ernie::ernie
|
|
22
|
+
APPEND
|
|
23
|
+
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "@PACKAGE_ERNIE_THIRD_PARTY_INCLUDEDIR@/dlpack"
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
check_required_components(Ernie)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
include_guard(GLOBAL)
|
|
3
|
+
include(FetchContent)
|
|
4
|
+
|
|
5
|
+
set(ERNIE_DEPS_DIR
|
|
6
|
+
"${PROJECT_SOURCE_DIR}/.deps"
|
|
7
|
+
CACHE PATH
|
|
8
|
+
"Where fetched dependency sources are kept"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
function(ernie_fetch name)
|
|
12
|
+
# The FetchContent_Declare arguments recipes use, declared so others are rejected and gersemi
|
|
13
|
+
# formats calls by keyword.
|
|
14
|
+
cmake_parse_arguments(
|
|
15
|
+
ARG
|
|
16
|
+
""
|
|
17
|
+
"URL;GIT_REPOSITORY;GIT_TAG;GIT_SHALLOW;SOURCE_SUBDIR"
|
|
18
|
+
"GIT_SUBMODULES"
|
|
19
|
+
${ARGN}
|
|
20
|
+
)
|
|
21
|
+
if(ARG_UNPARSED_ARGUMENTS)
|
|
22
|
+
message(FATAL_ERROR "ernie_fetch(${name}): unexpected ${ARG_UNPARSED_ARGUMENTS}")
|
|
23
|
+
endif()
|
|
24
|
+
string(TOLOWER "${name}" lower)
|
|
25
|
+
string(TOUPPER "${name}" upper)
|
|
26
|
+
set(source "${ERNIE_DEPS_DIR}/${lower}-src")
|
|
27
|
+
set(stamp "${source}/.ernie-fetched")
|
|
28
|
+
if(EXISTS "${stamp}")
|
|
29
|
+
file(READ "${stamp}" fetched)
|
|
30
|
+
if(fetched STREQUAL "${ARGN}")
|
|
31
|
+
set(FETCHCONTENT_SOURCE_DIR_${upper} "${source}")
|
|
32
|
+
else()
|
|
33
|
+
file(REMOVE_RECURSE "${source}")
|
|
34
|
+
endif()
|
|
35
|
+
endif()
|
|
36
|
+
FetchContent_Declare(${name} ${ARGN} SOURCE_DIR "${source}")
|
|
37
|
+
FetchContent_MakeAvailable(${name})
|
|
38
|
+
file(WRITE "${stamp}" "${ARGN}")
|
|
39
|
+
set(${lower}_SOURCE_DIR "${${lower}_SOURCE_DIR}" PARENT_SCOPE)
|
|
40
|
+
set(${lower}_BINARY_DIR "${${lower}_BINARY_DIR}" PARENT_SCOPE)
|
|
41
|
+
endfunction()
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
include(CMakePackageConfigHelpers)
|
|
3
|
+
|
|
4
|
+
set(ERNIE_THIRD_PARTY_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/ernie/third_party")
|
|
5
|
+
set(ernie_cmake_dir "${CMAKE_INSTALL_LIBDIR}/cmake/Ernie")
|
|
6
|
+
set(ernie_doc_dir "${CMAKE_INSTALL_DOCDIR}")
|
|
7
|
+
|
|
8
|
+
install(
|
|
9
|
+
TARGETS ernie
|
|
10
|
+
EXPORT ErnieTargets
|
|
11
|
+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT runtime
|
|
12
|
+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime NAMELINK_COMPONENT dev
|
|
13
|
+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT dev
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
set(ernie_public_headers
|
|
17
|
+
util/glm.h
|
|
18
|
+
util/log.h
|
|
19
|
+
util/file.h
|
|
20
|
+
util/profiler.h
|
|
21
|
+
util/tensor.h
|
|
22
|
+
util/version.h
|
|
23
|
+
io/ies.h
|
|
24
|
+
io/image.h
|
|
25
|
+
io/raster.h
|
|
26
|
+
io/texture.h
|
|
27
|
+
)
|
|
28
|
+
foreach(header ${ernie_public_headers})
|
|
29
|
+
get_filename_component(directory "${header}" DIRECTORY)
|
|
30
|
+
install(
|
|
31
|
+
FILES "${PROJECT_SOURCE_DIR}/ernie/${header}"
|
|
32
|
+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ernie/${directory}"
|
|
33
|
+
COMPONENT dev
|
|
34
|
+
)
|
|
35
|
+
endforeach()
|
|
36
|
+
install(
|
|
37
|
+
FILES "${PROJECT_BINARY_DIR}/include/ernie/export.h"
|
|
38
|
+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ernie"
|
|
39
|
+
COMPONENT dev
|
|
40
|
+
)
|
|
41
|
+
install(
|
|
42
|
+
DIRECTORY "${glm_SOURCE_DIR}/glm"
|
|
43
|
+
DESTINATION "${ERNIE_THIRD_PARTY_INCLUDEDIR}/glm"
|
|
44
|
+
COMPONENT dev
|
|
45
|
+
FILES_MATCHING
|
|
46
|
+
PATTERN "*.hpp"
|
|
47
|
+
PATTERN "*.inl"
|
|
48
|
+
PATTERN "*.h"
|
|
49
|
+
)
|
|
50
|
+
install(
|
|
51
|
+
FILES "${dlpack_SOURCE_DIR}/include/dlpack/dlpack.h"
|
|
52
|
+
DESTINATION "${ERNIE_THIRD_PARTY_INCLUDEDIR}/dlpack/dlpack"
|
|
53
|
+
COMPONENT dev
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
install(EXPORT ErnieTargets NAMESPACE Ernie:: DESTINATION "${ernie_cmake_dir}" COMPONENT dev)
|
|
57
|
+
configure_package_config_file(
|
|
58
|
+
"${PROJECT_SOURCE_DIR}/cmake/ErnieConfig.cmake.in"
|
|
59
|
+
"${PROJECT_BINARY_DIR}/ErnieConfig.cmake"
|
|
60
|
+
INSTALL_DESTINATION "${ernie_cmake_dir}"
|
|
61
|
+
PATH_VARS ERNIE_THIRD_PARTY_INCLUDEDIR
|
|
62
|
+
)
|
|
63
|
+
# 0.x releases keep compatibility within a minor series.
|
|
64
|
+
write_basic_package_version_file(
|
|
65
|
+
"${PROJECT_BINARY_DIR}/ErnieConfigVersion.cmake"
|
|
66
|
+
COMPATIBILITY SameMinorVersion
|
|
67
|
+
)
|
|
68
|
+
install(
|
|
69
|
+
FILES "${PROJECT_BINARY_DIR}/ErnieConfig.cmake" "${PROJECT_BINARY_DIR}/ErnieConfigVersion.cmake"
|
|
70
|
+
DESTINATION "${ernie_cmake_dir}"
|
|
71
|
+
COMPONENT dev
|
|
72
|
+
)
|
|
73
|
+
# Relocatable: paths are relative to the .pc file, so an unpacked archive works anywhere.
|
|
74
|
+
file(RELATIVE_PATH ernie_pc_to_prefix "/prefix/${CMAKE_INSTALL_LIBDIR}/pkgconfig" "/prefix")
|
|
75
|
+
configure_file("${PROJECT_SOURCE_DIR}/cmake/ernie.pc.in" "${PROJECT_BINARY_DIR}/ernie.pc" @ONLY)
|
|
76
|
+
install(
|
|
77
|
+
FILES "${PROJECT_BINARY_DIR}/ernie.pc"
|
|
78
|
+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
|
|
79
|
+
COMPONENT dev
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Ernie's licence and those of what the library and its headers carry.
|
|
83
|
+
install(FILES "${PROJECT_SOURCE_DIR}/LICENSE" DESTINATION "${ernie_doc_dir}" COMPONENT runtime)
|
|
84
|
+
set(ernie_notices
|
|
85
|
+
"basisu|${PROJECT_SOURCE_DIR}/third_party/basisu/LICENSE"
|
|
86
|
+
"basisu|${PROJECT_SOURCE_DIR}/third_party/basisu/NOTICE"
|
|
87
|
+
"bc7enc_rdo|${bc7enc_SOURCE_DIR}/LICENSE"
|
|
88
|
+
"dlpack|${dlpack_SOURCE_DIR}/LICENSE"
|
|
89
|
+
"glm|${glm_SOURCE_DIR}/copying.txt"
|
|
90
|
+
"imath|${imath_SOURCE_DIR}/LICENSE.md"
|
|
91
|
+
"libdeflate|${openexr_SOURCE_DIR}/external/deflate/COPYING"
|
|
92
|
+
"nanovdb|${PROJECT_SOURCE_DIR}/third_party/nanovdb/LICENSE"
|
|
93
|
+
"nlohmann_json|${nlohmann_json_SOURCE_DIR}/LICENSE.MIT"
|
|
94
|
+
"openexr|${openexr_SOURCE_DIR}/LICENSE.md"
|
|
95
|
+
"openjph|${openexr_SOURCE_DIR}/external/OpenJPH/LICENSE"
|
|
96
|
+
"stb|${stb_SOURCE_DIR}/LICENSE"
|
|
97
|
+
"volk|${volk_SOURCE_DIR}/LICENSE.md"
|
|
98
|
+
"vulkan_headers|${vulkan_headers_SOURCE_DIR}/LICENSE.md"
|
|
99
|
+
"zstd|${openexr_SOURCE_DIR}/external/zstd/LICENSE"
|
|
100
|
+
)
|
|
101
|
+
# A Debian machine-readable copyright file: Ernie's licence, and where each bundled one is.
|
|
102
|
+
file(READ "${PROJECT_SOURCE_DIR}/LICENSE" ernie_license)
|
|
103
|
+
string(REGEX REPLACE "\n" "\n " ernie_license " ${ernie_license}")
|
|
104
|
+
set(ernie_copyright
|
|
105
|
+
"Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n"
|
|
106
|
+
"Upstream-Name: Ernie\nSource: ${PROJECT_HOMEPAGE_URL}\n\n"
|
|
107
|
+
"Files: *\nCopyright: Alex Maietta\nLicense: BSD-3-Clause\n${ernie_license}\n"
|
|
108
|
+
)
|
|
109
|
+
foreach(notice ${ernie_notices})
|
|
110
|
+
string(REPLACE "|" ";" parts "${notice}")
|
|
111
|
+
list(GET parts 0 name)
|
|
112
|
+
list(GET parts 1 file)
|
|
113
|
+
get_filename_component(file_name "${file}" NAME)
|
|
114
|
+
install(FILES "${file}" DESTINATION "${ernie_doc_dir}/third_party/${name}" COMPONENT runtime)
|
|
115
|
+
list(
|
|
116
|
+
APPEND ernie_copyright
|
|
117
|
+
"\nFiles: bundled/${name}/*\nCopyright: see the licence\n"
|
|
118
|
+
"License: see /usr/${ernie_doc_dir}/third_party/${name}/${file_name}\n"
|
|
119
|
+
)
|
|
120
|
+
endforeach()
|
|
121
|
+
list(JOIN ernie_copyright "" ernie_copyright)
|
|
122
|
+
file(WRITE "${PROJECT_BINARY_DIR}/copyright" "${ernie_copyright}")
|
|
123
|
+
install(FILES "${PROJECT_BINARY_DIR}/copyright" DESTINATION "${ernie_doc_dir}" COMPONENT runtime)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
# DEB and RPM packages per install component, and one TGZ of everything, through CPack:
|
|
3
|
+
# runtime libernie0 / ernie-libs libernie, share/ernie data, licences and notices
|
|
4
|
+
# app ernie / ernie the ernie program, depending on the runtime package
|
|
5
|
+
# dev libernie-dev / ernie-devel headers, the CMake package and pkg-config file
|
|
6
|
+
|
|
7
|
+
set(CPACK_PACKAGE_NAME ernie)
|
|
8
|
+
set(CPACK_PACKAGE_VERSION "${ERNIE_VERSION}")
|
|
9
|
+
set(CPACK_PACKAGE_VENDOR "Alex Maietta")
|
|
10
|
+
set(CPACK_PACKAGE_CONTACT "Alex Maietta <maiettaalex@gmail.com>")
|
|
11
|
+
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
|
|
12
|
+
set(CPACK_PACKAGE_HOMEPAGE_URL "${PROJECT_HOMEPAGE_URL}")
|
|
13
|
+
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
|
14
|
+
set(CPACK_PACKAGE_DIRECTORY "${PROJECT_BINARY_DIR}/packages")
|
|
15
|
+
# Archives named for their architecture, so x86_64 and aarch64 tarballs can sit side by side.
|
|
16
|
+
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
17
|
+
|
|
18
|
+
set(CPACK_COMPONENTS_ALL runtime app dev)
|
|
19
|
+
set(CPACK_COMPONENT_APP_DEPENDS runtime)
|
|
20
|
+
set(CPACK_COMPONENT_DEV_DEPENDS runtime)
|
|
21
|
+
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
|
22
|
+
set(CPACK_ARCHIVE_COMPONENT_INSTALL OFF)
|
|
23
|
+
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
|
24
|
+
set(CPACK_RPM_COMPONENT_INSTALL ON)
|
|
25
|
+
|
|
26
|
+
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
|
27
|
+
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
|
|
28
|
+
# Set here, as CPack otherwise asks dpkg, which the manylinux build image lacks.
|
|
29
|
+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$")
|
|
30
|
+
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64)
|
|
31
|
+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)$")
|
|
32
|
+
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE arm64)
|
|
33
|
+
endif()
|
|
34
|
+
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME libernie0)
|
|
35
|
+
set(CPACK_DEBIAN_APP_PACKAGE_NAME ernie)
|
|
36
|
+
set(CPACK_DEBIAN_DEV_PACKAGE_NAME libernie-dev)
|
|
37
|
+
# Built on manylinux_2_34 (glibc 2.34, GCC 11's libstdc++), so these are the floors. The library
|
|
38
|
+
# loads the Vulkan loader at run time, a dependency the linker cannot see.
|
|
39
|
+
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "libc6 (>= 2.34), libstdc++6 (>= 11), libvulkan1")
|
|
40
|
+
set(CPACK_DEBIAN_RUNTIME_PACKAGE_RECOMMENDS "mesa-vulkan-drivers")
|
|
41
|
+
set(CPACK_DEBIAN_RUNTIME_PACKAGE_SECTION libs)
|
|
42
|
+
set(CPACK_DEBIAN_APP_PACKAGE_DEPENDS "libc6 (>= 2.34), libstdc++6 (>= 11), libvulkan1")
|
|
43
|
+
set(CPACK_DEBIAN_APP_PACKAGE_SECTION graphics)
|
|
44
|
+
set(CPACK_DEBIAN_DEV_PACKAGE_SECTION libdevel)
|
|
45
|
+
|
|
46
|
+
set(CPACK_RPM_FILE_NAME RPM-DEFAULT)
|
|
47
|
+
set(CPACK_RPM_PACKAGE_LICENSE "BSD-3-Clause")
|
|
48
|
+
set(CPACK_RPM_RUNTIME_PACKAGE_NAME ernie-libs)
|
|
49
|
+
set(CPACK_RPM_APP_PACKAGE_NAME ernie)
|
|
50
|
+
set(CPACK_RPM_DEV_PACKAGE_NAME ernie-devel)
|
|
51
|
+
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "vulkan-loader")
|
|
52
|
+
set(CPACK_RPM_APP_PACKAGE_REQUIRES "vulkan-loader")
|
|
53
|
+
set(CPACK_RPM_RUNTIME_PACKAGE_GROUP "System Environment/Libraries")
|
|
54
|
+
set(CPACK_RPM_APP_PACKAGE_GROUP "Applications/Graphics")
|
|
55
|
+
set(CPACK_RPM_DEV_PACKAGE_GROUP "Development/Libraries")
|
|
56
|
+
|
|
57
|
+
include(CPack)
|
|
@@ -25,6 +25,10 @@ function(ernie_add_test_suite name)
|
|
|
25
25
|
set(target ernie_tests_${name})
|
|
26
26
|
add_executable(${target} ${ARG_SOURCES})
|
|
27
27
|
target_link_libraries(${target} PRIVATE ${ARG_LIBRARIES} GTest::gtest_main ernie_build_options)
|
|
28
|
+
target_compile_definitions(
|
|
29
|
+
${target}
|
|
30
|
+
PRIVATE ERNIE_TEST_FIXTURES="${PROJECT_SOURCE_DIR}/tests/fixtures"
|
|
31
|
+
)
|
|
28
32
|
gtest_discover_tests(
|
|
29
33
|
${target}
|
|
30
34
|
TEST_PREFIX "ernie.${name}."
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
prefix=${pcfiledir}/@ernie_pc_to_prefix@
|
|
2
|
+
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
3
|
+
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
4
|
+
|
|
5
|
+
Name: Ernie
|
|
6
|
+
Description: @PROJECT_DESCRIPTION@
|
|
7
|
+
Version: @ERNIE_VERSION@
|
|
8
|
+
URL: @PROJECT_HOMEPAGE_URL@
|
|
9
|
+
Cflags: -I${includedir} -I${includedir}/ernie/third_party/glm -I${includedir}/ernie/third_party/dlpack
|
|
10
|
+
Libs: -L${libdir} -lernie
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
# bc7enc_rdo has no releases, so a commit is pinned.
|
|
3
|
+
set(ERNIE_DEP_VERSION_bc7enc
|
|
4
|
+
b9438627eef73a1157e84201b6fa6eb2ffd6d9f0
|
|
5
|
+
CACHE STRING
|
|
6
|
+
"Commit of bc7enc_rdo to fetch"
|
|
7
|
+
)
|
|
8
|
+
mark_as_advanced(ERNIE_DEP_VERSION_bc7enc)
|
|
9
|
+
|
|
10
|
+
ernie_fetch(
|
|
11
|
+
bc7enc
|
|
12
|
+
URL https://github.com/richgel999/bc7enc_rdo/archive/${ERNIE_DEP_VERSION_bc7enc}.tar.gz
|
|
13
|
+
SOURCE_SUBDIR no-build
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
# bc7enc_rdo (MIT or public domain): its BC7 encoder (bc7enc), BC1 to BC5 encoders and decoders
|
|
17
|
+
# (rgbcx) and BC7 decoder (bc7decomp), for baking and decoding textures.
|
|
18
|
+
add_library(
|
|
19
|
+
ernie_bc7enc
|
|
20
|
+
STATIC
|
|
21
|
+
"${bc7enc_SOURCE_DIR}/bc7enc.cpp"
|
|
22
|
+
"${bc7enc_SOURCE_DIR}/rgbcx.cpp"
|
|
23
|
+
"${bc7enc_SOURCE_DIR}/bc7decomp.cpp"
|
|
24
|
+
)
|
|
25
|
+
target_include_directories(ernie_bc7enc SYSTEM PUBLIC "${bc7enc_SOURCE_DIR}")
|
|
26
|
+
set_target_properties(ernie_bc7enc PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
set(ERNIE_DEP_VERSION_dlpack v1.3 CACHE STRING "Tag of DLPack to fetch")
|
|
3
3
|
mark_as_advanced(ERNIE_DEP_VERSION_dlpack)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
FetchContent_Declare(
|
|
5
|
+
ernie_fetch(
|
|
7
6
|
dlpack
|
|
8
|
-
|
|
9
|
-
GIT_TAG ${ERNIE_DEP_VERSION_dlpack}
|
|
10
|
-
GIT_SHALLOW TRUE
|
|
7
|
+
URL https://github.com/dmlc/dlpack/archive/refs/tags/${ERNIE_DEP_VERSION_dlpack}.tar.gz
|
|
11
8
|
SOURCE_SUBDIR no-build
|
|
12
9
|
)
|
|
13
|
-
FetchContent_MakeAvailable(dlpack)
|
|
14
10
|
|
|
15
11
|
# The tensor exchange header, nothing to build.
|
|
16
12
|
add_library(ernie_dlpack INTERFACE)
|