68 Commits

Author SHA1 Message Date
hu-xd
7937f9eb4d Add boost::nowide for utf8 support.
use UTF-8 in boost::filesystem
Use UTF-8 in stb_image
Use UTF-8 in GltfModel.cpp
Use UTF-8 in FileUtils::CopyFile
Fix typo in File_Utils.cpp
Use UTF-8 in output path
Use UTF-8 in Raw2Gltf
Fix typo in Raw2Gltf
Fix Raw2Gltf.hpp
Expose NativeToUTF8 in Fbx2Raw.cpp
Use UTF-8 in fbxTempDir
Use UTF-8 in TextureBuilder
2024-04-28 01:08:17 -07:00
Alejandro González
c33d823373 More Windows CI fixes 2024-03-23 11:58:50 +01:00
Alejandro González
b60d28572c Assorted dependency updates
These updates fix building the project on my up to date Linux box due to
missing cstdint headers on the older Draco versions it was pinned to,
and bumps Conan 1.x to the latest semver-compatible release, which also
introduces support for newer GCC compilers.

While at it, I've also bumped the GitHub Actions checkout version tag to
v4, from v3, and the runner image versions. The Ubuntu runner version
was purposefully not updated to avoid the risk of making binaries less
portable than before due to a bump in the `glibc` version that the
compiler will link to.
2024-03-22 23:10:52 +01:00
K. S. Ernest (iFire) Lee
cb9952f5ec Revert "First draft of Standard material support."
This reverts commit c77d625257.
2021-11-28 11:21:16 -08:00
K. S. Ernest (iFire) Lee
119e339ece Builds on windows agian. 2021-11-17 11:19:24 -08:00
K. S. Ernest (iFire) Lee
2a2c823b7f Add iconv a second time for macos. 2021-11-17 11:13:38 -08:00
K. S. Ernest (iFire) Lee
42960d351e Add iconv in the right place. 2021-11-17 10:56:30 -08:00
K. S. Ernest (iFire) Lee
ff66742a12 Update mac. 2021-11-17 10:52:46 -08:00
K. S. Ernest (iFire) Lee
74eaa8aa4a Enable iconf. 2021-11-17 10:29:24 -08:00
K. S. Ernest (iFire) Lee
63907b6d43 Use an old macos. 2021-11-17 09:35:23 -08:00
K. S. Ernest (iFire) Lee
d9a2142be7 Add not apple for iconv. 2021-11-17 09:25:36 -08:00
K. S. Ernest (iFire) Lee
379cc80a4c Rename FBX2glTF to FBX2glTF
CICD errors.
2021-11-17 09:06:41 -08:00
K. S. Ernest (iFire) Lee
f0bfc799e4 Try again for LibXml2. 2021-11-17 08:40:00 -08:00
K. S. Ernest (iFire) Lee
608956f103 Work on Windows 11. 2021-11-17 08:35:34 -08:00
K. S. Ernest (iFire) Lee
e71e42a7e7 Try again. 2021-11-17 08:20:11 -08:00
K. S. Ernest (iFire) Lee
84da4edc28 Link xml2 properly. 2021-11-17 08:18:58 -08:00
K. S. Ernest (iFire) Lee
72e9b830c9 Don't special case iconv. 2021-11-17 08:17:35 -08:00
K. S. Ernest (iFire) Lee
8af490a656 Case matters. 2021-11-17 08:12:55 -08:00
K. S. Ernest (iFire) Lee
c77d625257 First draft of Standard material support. 2021-06-07 08:41:17 -07:00
K. S. Ernest (iFire) Lee
14c964fb99 Use upper case. 2021-06-06 23:15:14 -07:00
K. S. Ernest (iFire) Lee
f71a86b088 Case matters? 2021-06-06 23:11:57 -07:00
K. S. Ernest (iFire) Lee
700a9c4211 Update zlib. 2021-06-06 23:09:57 -07:00
K. S. Ernest (iFire) Lee
050de3ee8d Restore zlib. 2021-06-06 23:05:13 -07:00
K. S. Ernest (iFire) Lee
8cb5a53e63 Force lib. 2021-06-06 22:30:41 -07:00
K. S. Ernest (iFire) Lee
49a5482935 Typo. 2021-06-06 22:08:45 -07:00
K. S. Ernest (iFire) Lee
93664c6c1f Test if fedora found. 2021-06-06 22:07:12 -07:00
K. S. Ernest (iFire) Lee
82832dc6c0 Special case fedora. 2021-06-06 21:51:36 -07:00
K. S. Ernest (iFire) Lee
096cb89f66 Special case ubuntu. 2021-06-06 21:47:45 -07:00
K. S. Ernest (iFire) Lee
4020593ebc Find file in paths for Linux. 2021-06-06 21:42:16 -07:00
K. S. Ernest (iFire) Lee
59491c408c Try both lib paths. 2021-06-06 21:32:09 -07:00
K. S. Ernest (iFire) Lee
b63905ed91 Special case debian. 2021-06-06 21:16:41 -07:00
K. S. Ernest (iFire) Lee
3dd28cd0b9 Work for ubuntu. 2021-06-06 21:14:46 -07:00
K. S. Ernest (iFire) Lee
47caddbbdd Try again with libs. 2021-06-06 21:13:57 -07:00
K. S. Ernest (iFire) Lee
5a048b99b4 Restore boost. 2021-06-06 20:56:44 -07:00
K. S. Ernest (iFire) Lee
93d524b867 Use monolithic boost. 2021-06-06 20:53:47 -07:00
K. S. Ernest (iFire) Lee
85bf4febae Restore finds. 2021-06-06 20:48:09 -07:00
K. S. Ernest (iFire) Lee
a41bd684fc Only require boost. 2021-06-06 20:44:43 -07:00
K. S. Ernest (iFire) Lee
1ef0916f01 Restore building for Linux. 2021-06-06 16:18:01 -07:00
Pär Winzell
70136c6f53 Fix iconv on mac (#208)
The FBX SDK is compiled against a regular libiconv on Windows on Linux (with symbols libconv_open() etc) but on Mac, they compiled it against Apple's modified libiconv, which renames those functions. Annoyingly this means we need to explicitly decline the Conan libiconv package, for that platform only.
2019-06-11 22:42:31 -07:00
Par Winzell
ec98db9762 Strip nonsense include directories. 2019-06-11 14:31:30 -07:00
Pär Winzell
3afd9f3266 Get zlib, libxml2 and iconv all from Conan. 2019-06-04 22:44:50 -07:00
Pär Winzell
25ef9167ed Simplify build, document it somewhat. 2019-06-01 12:48:16 -07:00
Pär Winzell
4b501431fe License -> BSD (#186)
Relicense FBX2glTF as BSD.
2019-05-03 16:13:18 -07:00
Pär Winzell
7dd8438c78 Embrace Conan, use it to grab boost::filesystem. (#180)
With this, we are able to get rid of all the increasingly broken file
system utility code, and trust boost::filesystem to handle all the
cross-platform complexity.

The first version of this PR centred around C++17 & std::filesystem,
but support remains too elusive; it seems works out of the box in
Visual Studio (especially 2019), but is entirely missing from the Mac
dclang, and even with GCC 8.0 it requires an explicit '-l c++fs'.

Luckily the std:: version is almost exactly the boost:: version (not
surprising) so when the world's caught up, we can ditch Boost and go
all stdlib.

Setting up Conan requires a bit of work; we'll want to document the
details in the README.
2019-04-19 23:54:11 -07:00
Par Winzell
c6ed20a45a Commit JSON header-only dependency to our repo. 2019-03-29 20:05:01 -07:00
Par Winzell
9d4a599d0c Pin STB header files at working versions. 2019-02-22 17:11:34 -08:00
Par Winzell
d451aa73f3 Delete obsolete classes, poke at Physical Material support.
Looks like I never did the required cleanup after my accidental commit back in August.
This deletes the materials classes that were obsoleted back then, and comments out the
large swathes of PhysicalMaterial code that's not currently doing anything (i.e. all the
materials properties that glTF can't currently represent.)
2019-01-16 13:52:33 -08:00
Pär Winzell
be1b75431d Switch from CXXOPTS to CLI11. (#148)
We want to move to auto-formatting all our code, and it just seemed impossible
to make cxxopts usage tidy under clang-format's dominion. While trying to work
out its quirks, I realised that CLI11 did everything I wanted much better, and
so we've switched.

We're also going to chuck the usage of ExternalProject_Add(), at least for the
simplest use cases such as single-header include files. We'll just commit them
directly; that's kind of the whole point.

The one discipline we'll maintain is that commits that involve third_party/
should be as self-contained as possible (without breaking the app).
2018-12-17 16:13:53 -08:00
Par Winzell
09089a7d79 Create a compilation database. 2018-12-16 12:41:40 -08:00
Par Winzell
f71be404f4 Remaining fixes for 2019.2. 2018-12-07 09:52:38 -08:00