Commit Graph

264 Commits

Author SHA1 Message Date
Samuel Vargas 8070d85023
Merge remote-tracking branch 'origin/main' into gltf-writer 2021-04-15 13:49:04 -04:00
Bao Tran cf94ed5d92 don't bring brotli when building cpp-http 2021-04-07 13:41:02 -04:00
Samuel Vargas 6babc551a0
Replace std::uint8_t with std::byte for data containers 2021-03-05 10:16:12 -05:00
Samuel Vargas e5f90d3b16
Add GSL_INCLUDE_DIR to target_include_directories
This is necessary to link against CesiumGltf as we use
gsl/narrow in JsonValue.h
2021-03-05 07:41:24 -05:00
Samuel Vargas c4f6025420
Add integer support to JsonValue
This also fixes a narrowing conversion bug. Previously if
a type that was larger than 2^53 was stored in a JsonValue
it would be silently casted into a double, causing an unexpected
precision loss. This changes JsonValue to use the largest signed,
unsigned, or floating point value available to support both types
of Numbers.

Also updates GSL version because they added a narrowing cast
function and we use that for safe type casting.
2021-03-05 07:41:15 -05:00
Samuel Vargas 33bdceca64
Add base64_encode and magic_enum
These libraries are needed for CesiumGltfWriter, the writer can automatically
convert binary data to base64 on behalf of the user. Magic enum is used
to automatically convert `CesiumGltf` enums to their string constants
without having to write a dedicated enum to string method.
2021-03-05 07:41:15 -05:00
Kevin Ring 68d711e1de Mark some libs private, remove commented-out code. 2021-03-05 14:21:55 +11:00
Kevin Ring 9346d3aee4 RapidJSON includes. 2021-03-05 14:14:52 +11:00
Kevin Ring da0b567120 Fix some install bits. 2021-03-05 14:04:28 +11:00
Kevin Ring 4743a46546 Merge remote-tracking branch 'origin/install' into install-with-exclude 2021-03-05 14:03:40 +11:00
Shehzan Mohammed 02272d99c8 Fix install steps 2021-03-04 18:10:59 -05:00
Kevin Ring 77a5a37720 Merge remote-tracking branch 'origin/install' into install-with-exclude 2021-03-05 08:17:30 +11:00
Kevin Ring c5e398275b Exclude extern directory.
But still (mostly?) install the right stuff.
2021-03-05 08:09:53 +11:00
Shehzan Mohammed 6e3224bd81 Add CMake Current Source Dir prefix in externs 2021-03-04 10:35:28 -05:00
Shehzan Mohammed cc549822d9 Update uriparser commit 2021-03-03 21:42:22 -05:00
Shehzan Mohammed 3faff010d7 Installing thirdparty deps working on linux 2021-03-03 20:47:31 -05:00
Kevin Ring bec2f0ca4c Don't mark libraries private (for now) 2021-03-04 10:46:56 +11:00
Kevin Ring 34bbd2aa31 WIP cmake install. 2021-03-04 09:48:09 +11:00
Samuel Vargas 05638d6c73
Add ctest support back in 2021-03-02 15:15:59 -05:00
Samuel Vargas 7f059ebbe7
Add missing newlines [skip ci] 2021-03-02 14:40:21 -05:00
Samuel Vargas 5d03477551
Rearchitecture cesium-native's CMake structure
This is necessary to support using cesium-native as submodule in
in asset-pipeline

- `draco` and `sqlite3` are guarded with if target blocks to allow
  asset-pipeline to provide their own version of the targets.
- Tests are now a dedicated target that clients don't have to build
- Test sources / headers are now a target property instead of using the $<BUILD_INTERFACE... hack
- Added common include variables in extern/CMakeLists.txt
- Defined `RAPIDJSON_HAS_CXX11_RVALUE_REFS` for move support for RapidJson
- Private include directories are automatically extracted via CMake magic
  for use in catch tests
- Globbing is now wrapped in a dedicated function that allows one to use
  CONFIGURE_DEPENDS depending on their preferences (defaults to OFF)
  to retain the old behavior.
2021-03-02 14:28:04 -05:00
Kevin Ring 1f2eb257ef Implement PKCE. 2021-02-28 22:51:57 +11:00
Kevin Ring 92eb8ae1de Include `state` in OAuth2 handshake. 2021-02-28 22:12:56 +11:00
Kevin Ring 5b616af8b0 Ion auth via OAuth2. 2021-02-25 22:48:22 +11:00
Kevin Ring fbbe928b68 Merge remote-tracking branch 'origin/master' into disk-cache 2021-02-19 11:54:26 +11:00
Marco Hutter 56733ab1e2 Remove glTF submodule 2021-02-03 16:41:38 +01:00
unknown 1f37dc6ce8 Merge branch 'disk-cache' of https://github.com/CesiumGS/cesium-native into disk-cache 2021-02-01 23:12:07 -05:00
unknown 947ae1ee95 fix gcc error 2021-02-01 23:11:51 -05:00
Kevin Ring db7b5226f6 Merge remote-tracking branch 'origin/master' into disk-cache 2021-02-02 15:07:05 +11:00
unknown a6eb04b40d print debug message cmake 2021-02-01 22:02:18 -05:00
unknown 3b831e3895 specify the directory for sqlite source 2021-02-01 16:42:38 -05:00
unknown 520ee7ad2f use CMAKE_CURRENT_SOURCE_DIR again 2021-01-31 21:55:38 -05:00
unknown 6d1df3c23c remove sqlite3_shell in cmake 2021-01-31 16:29:47 -05:00
Kevin Ring 243f48680b Add base64 decoding.
Mostly untested at the moment.
2021-01-27 23:52:43 +11:00
unknown 3dda96b36d change sqlite3 thread mode 2021-01-20 15:24:31 -05:00
Kevin Ring dfa5f01526 Remove tinygltf. 2021-01-20 14:32:30 +11:00
unknown e650526e08 create separate connection for each transaction 2021-01-14 17:10:57 -05:00
Kevin Ring 2b2c4a8b16 Add support for extensions, especially Draco. 2021-01-11 18:05:02 +11:00
Kevin Ring 32f0c371ea Raster image loading. 2021-01-08 23:10:27 +11:00
Kevin Ring 1c8bdac5ec Remove unused submodules. 2021-01-06 21:54:59 +11:00
Kevin Ring 232b87c84f Generate glTF classes from JSON Schema. 2021-01-05 21:21:15 +11:00
unknown 8d34afdff1 WIP: add sqlite3 and CachedAssetAccessor 2021-01-04 19:24:24 -05:00
Kevin Ring 306886b950 Merge remote-tracking branch 'origin/master' into gltf 2020-12-23 14:55:52 +11:00
Kevin Ring f4c932dab6 Use RapidJSON instead of nlohmann for tinygltf and tileset.json. 2020-12-21 16:15:51 +11:00
Kevin Ring 6cb6cddac0 Add simdjson. 2020-12-19 22:26:09 +11:00
Kevin Ring 63109a5fbb Use passed-in spdlog logger. 2020-12-17 16:30:33 +11:00
Marco Hutter 3efd0a8113 An attempt to move spdlog to the interface 2020-12-16 18:22:58 +01:00
Kevin Ring 7a0f1907af WIP transition to cgltf. 2020-12-08 14:02:09 +11:00
Kevin Ring 08708b4e02 Merge remote-tracking branch 'origin/spdlog-integration' into promises-plus-spdlog 2020-12-02 18:19:58 +11:00
Kevin Ring 786f574376 WIP async/promise-like system. 2020-11-24 21:22:46 +11:00
Kevin Ring e056b441bc Add spdlog to build. 2020-11-18 20:20:08 +11:00
Kevin Ring 2334595fcc Attempt 2 at disabling tinyxml2 tests. 2020-10-21 19:36:07 +11:00
Kevin Ring 914177ff14 Don't try to run tinyxml2 tests. 2020-10-21 18:50:16 +11:00
Kevin Ring bb609188ad Add support for TileMapService imagery. 2020-10-21 17:52:42 +11:00
Kevin Ring 5af23f6569 Use standard Debug build by default.
You can link against the release runtime library on Windows by adding
`-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` to the command-line
while CMake configuring. This is required by Unreal Engine.
2020-10-02 15:49:05 +10:00
Kevin Ring 1564f3ca1f Remove manual third party dependency build step. 2020-10-01 22:50:42 +10:00
Kevin Ring 8782333ef1 Improvements to CMake build. 2020-10-01 22:46:16 +10:00
Kevin Ring 72ad174f88 Run tests on Travis. 2020-07-23 16:30:56 +10:00
Kevin Ring c02aaf2a0c Fix -D syntax to cmake 2020-07-23 14:58:56 +10:00
Kevin Ring 0ffc52021f Fix extern build on Linux. 2020-07-23 14:50:57 +10:00
Kevin Ring 9293a7cf36 Don't use pushd/popd. 2020-07-23 14:43:36 +10:00
Kevin Ring bd77291637 Mark build.sh executable. 2020-07-23 14:36:31 +10:00
Kevin Ring c407267388 Script for third-party build. 2020-07-23 14:33:24 +10:00
Kevin Ring 2762434e87 Introduce cesium-native library and move most of the code there. 2020-06-28 20:57:29 +10:00