608 Commits

Author SHA1 Message Date
Tom Finegan
398ffe8cfe Force LF EoLs in .obj files via .gitattributes. 2022-07-06 17:31:18 -07:00
Tom Finegan
08dd4c0b1b Disable autocrlf for .obj files. 2022-07-06 16:26:40 -07:00
Tom Finegan
8f824f8eec Fix regression in tools/install_test/test.py 2022-07-06 15:29:40 -07:00
Tom Finegan
7d1967a714 Remove unreleased test. 2022-07-06 15:09:26 -07:00
Tom Finegan
c0c58343f8 Add missing vector include to instance_array.h 2022-07-06 14:42:40 -07:00
Tom Finegan
a6b6ed80c5 Draco v1.5.3 release. 2022-07-06 14:29:21 -07:00
dependabot[bot]
cfa05470fe
Bump nokogiri from 1.13.4 to 1.13.6 in /docs (#891)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.4 to 1.13.6.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.4...v1.13.6)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 10:56:43 -07:00
Niklas Hambüchen
ee2c2578a1
Make README comment about disabling WASM even more excruciatingly clear. (#843) 2022-04-18 18:08:45 -07:00
SpaceIm
7109fbee87
cmake: Support modernized import of Draco via draco::draco
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.
2022-04-13 11:00:01 -07:00
dependabot[bot]
575e6ec2e8
Bump nokogiri from 1.13.3 to 1.13.4 in /docs (#842)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.3...v1.13.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 10:48:23 -07:00
SpaceIm
a737103f52
CMake: install draco.dll in bin folder (#838)
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.
2022-04-08 17:06:49 -07:00
Tom Finegan
60af0ba480
Correct the install location for CMake configuration files. (#839)
- 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.
2022-04-08 14:21:24 -07:00
Raymond Hulha
befe2d8809
Add binary STL support. (#802)
Includes support for binary STL and some basic tests.
2022-03-25 14:14:33 -07:00
Tom Finegan
7d62f1f26f
Disable optimizations for gltf_decoder.cc in MSVC builds. (#829)
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.
2022-03-10 17:51:38 -08:00
Tom Finegan
34c693fe78
Add transcoder testing to Draco's Github CI tests. (#821)
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.
2022-03-03 10:08:03 -08:00
dependabot[bot]
4d78a070c1
Bump nokogiri from 1.13.1 to 1.13.3 in /docs (#822)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.1 to 1.13.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.1...v1.13.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 09:59:05 -08:00
Björn Blissing
43ada9a7f1
Avoid comparing bool using the < and > operator (#817)
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`
2022-02-25 20:46:51 -08:00
Tom Finegan
bd1e8de7dd
Draco v1.5.2 release. (#818) 1.5.2 2022-02-17 14:06:05 -08:00
Tom Finegan
9522c22a74
Draco v1.5.1 release. (#812) 1.5.1 2022-02-15 17:13:23 -08:00
Tom Finegan
0d1633e3cc
Use windows-2019 builders. (#813)
Specify the windows-2019 builders for windows builds to avoid breaking
due to visual studio 16 2019 not being present in the windows-2022 images.
2022-02-15 17:02:56 -08:00
Tom Finegan
60fc6629ae
Update the build status badge to explicitly track the status of the master branch. (#809) 2022-02-09 09:41:57 -08:00
Tom Finegan
e5d9b61308
More CI updates (#808)
- Run test builds on push to master and nightly.
- Update the badge link to point to the actions page
- Use Github's generated badge markdown.
2022-02-08 12:25:33 -08:00
Tom Finegan
b7655f7391
Replace the existing test workflow with draco-ci from ci.yml. (#806)
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
2022-02-03 13:05:31 -08:00
dependabot[bot]
2e8325eb63
Bump nokogiri from 1.10.9 to 1.13.1 in /docs (#805)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.9 to 1.13.1.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.9...v1.13.1)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 23:36:31 -08:00
dependabot[bot]
67314cc45d
Bump addressable from 2.5.2 to 2.8.0 in /docs (#781)
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.5.2 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.5.2...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tom Finegan <tomfinegan@google.com>
2022-02-02 16:15:20 -08:00
Tom Finegan
9fd0a50a6f
Add install target testing. (#796)
Add a script that builds and installs Draco in shared and static configurations,
and confirms that a simple test application can compile, link and run 
successfully using the CMake configuration provided by each Draco installation.

To run the test script:

cd draco/src/draco/tools/install_test
python3 test.py

By default the script runs silently using the default generator for the CMake 
executable in the user's path. Verbose output is behind the usual flags (`-v`).
The CMake generator can be specified using the `-G` argument.

The script is known to work with the following generators:
- Unix Makefiles
- MSVC (Visual Studio 16 2019)
- Xcode
2022-02-02 16:05:53 -08:00
Ondrej Stava
110a1ec83a
Fixed decoding of large meshes encoded with MESH_SEQUENTIAL_ENCODING (#799)
num_points was retrieved from a wrong location causing incorrect branch to be taken during decoding for certain input models.
2022-01-27 11:24:26 -08:00
Boby chaudhary
df3d799cd7
Fix typo in README.md (#794) 2022-01-10 14:22:29 -08:00
Anoop T P
1a64bb2712
Fix typo in BUILDING.md (#785)
DRACO_TRANCODER_SUPPORTED -> DRACO_TRANSCODER_SUPPORTED
2021-12-13 11:45:46 -08:00
dependabot[bot]
e76341f441
Bump nokogiri from 1.10.9 to 1.12.5 in /docs (#780)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.9 to 1.12.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.9...v1.12.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-09 11:40:12 -08:00
Tom Finegan
65715581da
Draco v1.5.0 release. (#779) 1.5.0 2021-12-09 11:26:09 -08:00
Tom Finegan
3b3f1093ce
draco: Run our test action only on pull requests. (#776) 2021-12-06 11:52:47 -08:00
Tom Finegan
931bafe578
draco: Improve installation and packaging support.
- Fixed omission of draco_version.h when installed in static
  configurations.
- Remove DracoConfig.cmake: it was broken and we actually use
  draco-config.cmake.
- Update FindDraco.cmake so it actually has a chance of working
  properly. Fixed usage of find_path() and subsequent related errors.
- Correct the usage of CMakePackageConfigHelpers in installation target setup
  and the config template.
- Add a CMake version file.
- Normalize the Draco variables exposed in CMake.
  - draco_FOUND -> DRACO_FOUND
  - DRACO_INCLUDE_DIRS, draco_INCLUDE_DIRS -> DRACO_INCLUDE_DIR
  - DRACO_LIBRARIES, draco_LIBRARIES -> DRACO_LIBRARY
  - DRACO_LIBRARY_DIRS, draco_LIBRARY_DIRS -> DRACO_LIBRARY_DIR
  - draco_VERSION_STRING -> DRACO_VERSION
- Use full path variants of GNUInstallDirs variables to init our
  install paths.

Fixes https://github.com/google/draco/issues/764

* Add install() for draco-version.cmake.
2021-12-06 09:58:05 -08:00
Tom Finegan
5272348d0f Revert "Add CIFuzz integration"
This reverts commit 6b6f90085670fb1b0ecba0c8ed3e93f6ef7d9140.
2021-12-03 18:22:44 -08:00
David Korczynski
6b6f900856 Add CIFuzz integration 2021-12-03 11:08:04 -08:00
Tom Finegan
e5eb9cd3f7 Bump LT_CURRENT.
This should have been included in v1.4.3.

Fixes https://github.com/google/draco/issues/754
2021-11-10 13:50:19 -08:00
Tom Finegan
d914c62ad2 Add note to README about versioned GStatic URL preference 2021-10-26 14:07:54 -07:00
Tom Finegan
c880d79457
Add googletest as a git submodule. (#756)
- Add the submodule.
- Update the build to use googletest sources from the submodule.
- Update the github test build checkout action to include submodules.
- Update build instructions to include the submodule update.
2021-10-25 11:06:21 -07:00
Tom Finegan
6a947d2b04 Add listing of GStatic javascript files to README.md. 2021-10-14 13:35:36 -07:00
Tom Finegan
266f47ce58 Add v1.4.3 README. 1.4.3 2021-10-12 13:35:07 -07:00
dependabot[bot]
2f15c33112 Bump addressable from 2.5.2 to 2.8.0 in /docs
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.5.2 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.5.2...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-12 13:13:26 -07:00
dependabot[bot]
b2454eaf27 Bump nokogiri from 1.10.9 to 1.12.5 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.9 to 1.12.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.9...v1.12.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-12 13:05:28 -07:00
Tom Finegan
0f69e64e8e
Merge branch 'gltf_2.0_draco_extension' into master 2021-10-12 13:03:16 -07:00
Tom Finegan
9f0e5c5f15 Draco v1.4.3 2021-10-12 12:55:36 -07:00
dependabot[bot]
85a614fa66 Bump nokogiri from 1.11.4 to 1.12.5 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.4 to 1.12.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.4...v1.12.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-29 17:00:11 -07:00
DavidKorczynski
c2d57bc9de Fix fuzzer build script 2021-08-26 12:58:49 -07:00
dependabot[bot]
9bf5d2e483 Bump addressable from 2.7.0 to 2.8.0 in /docs
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 12:22:47 -07:00
dependabot[bot]
75b82f7b68 Bump nokogiri from 1.11.2 to 1.11.4 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.2 to 1.11.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.2...v1.11.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-27 12:08:28 -07:00
Tom Finegan
e4103dc39f draco: Fix typedef name collision w/MSVC compilers.
Avoid name collisions in winsock header. Always use the DracoTimeval typedef,
but map it to LARGE_INTEGER on Windows and timeval everywhere else.

Fixes https://github.com/google/draco/issues/702
2021-05-06 09:13:26 -07:00
Tom Finegan
d09e000868 draco: add include of limits in parser_utils.cc
Fixes https://github.com/google/draco/issues/706
2021-05-06 09:13:05 -07:00