Modified the function in to correctly handle and texture attributes.
Added a new test case to to ensure the fix is working correctly.
As the execution environment was not available, tests could not be executed.
This should address recent Dependabot failures:
```
Bundler::SolveFailure with message: Could not find compatible versions
Because github-pages >= 224 depends on jekyll-seo-tag = 2.8.0
and jekyll-seo-tag >= 2.8.0 depends on Ruby >= 2.5.0,
github-pages >= 224 requires Ruby >= 2.5.0.
So, because Gemfile depends on github-pages >= 231, <= 232
and current Ruby version is = 2.4.1,
version solving has failed.
```
Using `bundle update --all`. This may get a better baseline for
Dependabot in the future; recent runs failed due to mixed dependency
requirements:
```
Bundler::SolveFailure with message: Could not find compatible versions
Because github-pages >= 224 depends on jekyll-seo-tag = 2.8.0
and jekyll-seo-tag >= 2.8.0 depends on Ruby >= 2.5.0,
github-pages >= 224 requires Ruby >= 2.5.0.
So, because Gemfile depends on github-pages >= 231, <= 232
and current Ruby version is = 2.4.1,
version solving has failed.
```
* add .github/dependabot.yml
This attempts to group all security related fixes for docs/ gems
into one PR on a monthly basis.
* clear yamllint warnings
ignoring 'document-start'
Fixed warning regarding comparing a signed variable `bit` with unsigned `nbits`.
The value `nbits` is checked to be less then or equal to 32 in the rows above, which prevents
overflow when casting to a signed type.
* Use ubuntu-22 and clang-14 for the clang CI test.
* Use default gcc on ubuntu-latest builders.
* Windows configs skip GltfDecoderTest.TestLoadUnsupportedTexCoordAttributes, see
https://github.com/google/draco/issues/938
This a refactoring of the CMake config file to follow best practices:
- A draco-targets.cmake is generated with install(EXPORT ...), and included in
draco-config.cmake.
- For users consuming Draco with add_subdirectory(), a draco::draco alias is provided.
- Removed find-draco.cmake-- CMake couldn't use it anyway due to the file name
not matching CMake expectations for a find script.
Note: this also removes the previous methods of hardcoding the C++ standard in
the Draco build to C++11. Instead of direct manipulation of CMAKE_CXX_STANDARD
target_compile_features() is used. External projects consuming Draco should now
be able to set the standard to a newer version.
Fix windows DLL install location and update the install test with the following
- Use cxx_std_11 compile feature instead of forcing CXX_STANDARD to C++11.
- Move install test prefix handling to test.py (was in the install test CMakeLists.txt).
- Use CMAKE_INSTALL_RPATH and add dylib location to PATH instead of copying
it only on Windows-- makes test more generic and makes install_test much
simpler.
- Fix version file name.
- Fix install path for config and version file.
- Updates the install test to correctly set prefix and allow
CMake's built-in search functionality to work properly.
Not really sure who is to blame, but in optimized builds from MSVC
gltf_decoder.cc appears to be getting garbage values back
from TinyGLTF when it parses the materials for
testdata/.../three_meshes_two_materials_one_no_material.gltf
Since there's no certainty about whether this is limited to this
particular file, just disable optimizations for
src/draco/io/gltf_decoder.cc in all MSVC build configurations.
This enabled CI testing of transcoder configs and includes a few minor
Windows-only bug fixes. Note that this adds flags to skip
GltfDecoderTest.ThreeMeshesOneNoMaterialMesh for Windows
MSVC CI builds. See https://github.com/google/draco/issues/826 for
details.
Windows specific updates (these do impact non-Windows builds, but
are essentially a no-op there):
- Use a local dupe of a constant to avoid DLL linkage issues on Windows
in the GLTF encoder test..
- Define DRACO_PI to avoid M_PI and entertaining include ordering
issues related to _USE_MATH_DEFINES and interactions between
<cmath> and <math.h> on Windows (fun include guards and order
related things). This is done in core/constants.h.
There is no need to perform the check if T is of type bool, since it is guaranteed to fit in all other integral types.
This avoids triggering a C4804 warning in Visual Studio, ie. `unsafe use of type 'bool' in operation`
This replaces test.yml with ci.yml and renames the test to draco-ci.
A Github PR with this all put together exists at the following link:
https://github.com/google/draco/pull/806
An example draco-ci test summary exists at this link:
https://github.com/google/draco/actions/runs/1789061363
- Add the following test configurations in a job named
draco-tests.
test-macos-make-release-shared
test-macos-make-release-static
test-macos-xcode-release-shared
test-macos-xcode-release-static
test-ubuntu-make-release-shared
test-ubuntu-make-release-static
test-windows-msvc-release-shared
test-windows-msvc-release-static
test-windows-make-release-shared
test-windows-make-release-static
Each configuration name is intended to be self documenting.
All configurations build Draco with tests enabled, and then
run the tests.
- Add the following test configurations in a job named
draco-install-tests:
install-test-ubuntu-make
install-test-macos-make
install-test-macos-xcode
install-test-windows-make
install-test-windows-msvc
Each configuration runs test.py in verbose mode to allow for
failure diagnostics.
Some additional changes to make all this work (and improve usability):
- draco-config.cmake now defines DRACO_LIBRARY_DLL and DRACO_FOUND.
- DRACO_LIBRARY_DLL will contain the full path to the Draco DLL on systems that
produce DLL files (aka Windows).
- test.py now streams output in verbose mode