Commit Graph

246 Commits

Author SHA1 Message Date
Kevin Ring 9f821fd271 Use C++17 for s2geometry. 2021-11-12 19:41:26 +11:00
Kevin Ring e89bac66f6 Add ability to convert S2 cell to a GlobeRectangle. 2021-11-12 16:33:32 +11:00
Kevin Ring d53a63b2fa Merge remote-tracking branch 'origin/main' into s2 2021-11-09 13:36:30 +11:00
Kevin Ring 3d4d82b38e Add some doc. 2021-11-09 12:35:55 +11:00
Kevin Ring 836def93de Upgrade Catch2 from v2.12.2 to v2.13.7.
This fixes compilation failures on newer Linux versions.
2021-11-07 20:46:58 +11:00
Kevin Ring d8a7e885d2 Fix some Linux build problems.
But it doesn't work yet.
2021-11-05 16:18:05 +11:00
Kevin Ring 92f0d71b51 WIP support for S2 bounding volumes. 2021-11-04 23:58:58 +11:00
Marco Hutter 421bfa201a Removed magic_enum 2021-09-26 15:16:08 +02:00
Marco Hutter c73ec558eb Removed magic_enum dependency
It was only used in CesiumGltfWriter, and is no longer
required after the glTF enum updates
2021-09-26 15:11:57 +02:00
Kevin Ring 8b43bf4e40 Clean up earcut cmake config. 2021-08-17 16:14:32 +10:00
Kevin Ring 85965760cd Merge remote-tracking branch 'origin/main' into clipping-2.5d-kring 2021-07-29 16:33:34 +10:00
Sean Lilley 074d098272 Fix linux build 2021-07-26 17:29:48 -04:00
Bao Tran 1c608a9dd4 attempt to unify draco target 2021-07-26 17:03:13 -04:00
Bao Tran 3dc4c2da40 suppress draco warning on MSVC and define draco alias target 2021-07-26 16:43:36 -04:00
Sean Lilley 46c5a41827 Update draco version so that cesium-native builds in gcc 11 2021-07-26 16:17:57 -04:00
Nithin Pranesh 0264599319 Merge branch 'main' into clipping-2.5d 2021-06-23 15:27:21 -04:00
Kevin Ring abd42bee86 Merge remote-tracking branch 'origin/main' into sqlite 2021-05-28 15:19:34 +10:00
Nithin Pranesh 6e7d53f9a9 don't look for zlib or openssl 2021-05-27 16:42:14 -04:00
Nithin Pranesh c0cab12aa9 don't look for Zlib or OpenSSL 2021-05-27 14:35:40 -04:00
Shehzan Mohammed 2a00884875 Fix earcut compilation and cmake 2021-05-27 12:13:15 -04:00
Kevin Ring 50d5428855 Add option to prefix all sqlite3 symbols with cesium_. 2021-05-27 16:19:38 +10:00
Kevin Ring 51eed6b64a Revert changes to sqlite3.c/.h. 2021-05-27 10:38:54 +10:00
Nithin Pranesh d27509b046 moved earcut to cesium-native 2021-05-26 16:28:14 -04:00
Kevin Ring 8ce2000840 Hacky sqlite renaming. 2021-05-25 22:24:26 +10:00
Kevin Ring f9b697acc0 Better sqlite includes handling. 2021-05-25 22:06:45 +10:00
Kevin Ring 3ba3637056 Revert "Add MikkTSpace as an extern library."
This reverts commit d1102c6ac8.
2021-05-20 22:12:31 +10:00
Kevin Ring d1102c6ac8 Add MikkTSpace as an extern library.
It's currently not used.
2021-05-20 21:52:49 +10:00
Kevin Ring 33951541b7 magic_enum via cmake, tiny optimization, some cleanup. 2021-04-22 10:15:24 +10:00
Samuel Vargas ce4a15411c
Add cmake-modules as submodule 2021-04-20 13:47:10 -04:00
Samuel Vargas 3f657bca5c
Add magic_enum as a submodule 2021-04-19 17:01:28 -04:00
Samuel Vargas cd6e080a27
Remove magic_enum.hpp single file 2021-04-19 16:59:34 -04:00
Samuel Vargas cb595c1b55
Replace base64_encode.hpp with modp_b64 2021-04-19 16:57:03 -04:00
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