Commit Graph

195 Commits

Author SHA1 Message Date
SirLynix f6154bb98b Build: Define NAZARA_UTILS_WINDOWS_NT6 on Windows only 2023-02-15 16:32:40 +01:00
Jérôme Leclercq 20f70533c0
Fix wasm ci (#391)
* Update wasm-build.yml

* Set embed_rendererbackends with wasm

* wasm fixes

* Fix CI

* Update wasm-build.yml

* More wasm fixes

* Final fixes
2023-02-05 15:03:48 +01:00
Lynix a8b003224d (6666th commit 😈 ) Allow Assimp >=5.2.5 and xmake fix
5.2.4 had some bugs (see https://github.com/assimp/assimp/issues/4557)
Also fixes embed_plugins and link_openal options
2023-02-05 11:32:23 +01:00
Lynix 63429cba62 wasm CI fixes 2023-02-05 11:13:16 +01:00
Lynix b6d565a097 Add WASM CI 2023-02-05 11:00:39 +01:00
Jérôme Leclercq c3dddb883d
Update xmake.lua 2023-02-03 14:38:42 +01:00
SirLynix c7818073a4 Update xmake.lua 2023-02-03 09:34:57 +01:00
SirLynix d1015cdc93 Compile Nazara statically only when targetting WASM 2023-02-03 09:07:56 +01:00
SirLynix 5a57aca66a Last changes 2023-02-02 20:34:25 +01:00
SirLynix cee75dcc11 Merge fixes 2023-02-02 20:34:25 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
SirLynix ea5c5240fc Improve emscripten support 2023-02-02 20:34:25 +01:00
REMqb 7cb90782de ~ fix post rebase & dirty fix avoid deleting shaders before linking them 2023-02-02 20:34:25 +01:00
REMqb f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix 896aeb2c4a xmake: Set libsdl minimal version 2023-01-29 11:38:26 +01:00
SirLynix 97fa4d98be Rework EnTT integration
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
Jérôme Leclercq dd421a6385
Replace float/UInt64 durations by a more precise Time class (#388)
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix 3d88746060 Move unit tests to the unittests asset folder 2022-12-29 12:07:52 +01:00
SirLynix fe69cc0d27 Disable SDL main 2022-12-25 12:09:47 +01:00
SirLynix b79718404c Fix OpenAL extensions functions 2022-12-06 12:54:22 +01:00
SirLynix 2dd0e7d9c8 Audio: Add an option to directly link OpenAL 2022-12-06 07:48:03 +01:00
SirLynix e555b7ab73 Remove custom Python package 2022-11-19 22:21:19 +01:00
Jérôme Leclercq 082015a0c5
Fix macOS compilation (#384)
Disable X11 on macOS, I don't know why it's enabled
2022-11-19 13:37:42 +01:00
SirLynix 8b9b24521b Fix macOS compilation 2022-11-18 20:22:05 +01:00
CiotatSoft a9408bdb7f
Fix compilation error on Linux if libx11 is not installed (#383) 2022-11-16 12:09:04 +01:00
SirLynix 2d3d9d9526 Try to fix macOS CI 2022-11-15 13:18:54 +01:00
Lynix 71c5133c7a XMake: Use new syntax 2022-11-13 13:05:45 +01:00
SirLynix 0a8048809c XMake: simplifies option syntax 2022-10-10 08:49:52 +02:00
SirLynix 6d0b53b39e Core: Rework HardwareInfo 2022-09-24 15:52:29 +02:00
SirLynix 47cb878f9d Major ResourceLoader rework (using Nz::Result) 2022-09-07 13:31:04 +02:00
Jérôme Leclercq 5d8ecd11df
XMake: Package newtondynamics was renamed to newtondynamics3 2022-08-24 18:06:58 +02:00
SirLynix 880d6601a4 Build: Add .nzsl files to generated projects 2022-08-10 00:04:59 +02:00
SirLynix 38e32025e9 Add a way to embed renderer backends code into NazaraRenderer 2022-08-07 20:19:04 +02:00
Jérôme Leclercq c6851d93c2
Fix wayland usage 2022-07-28 13:44:15 +02:00
SirLynix 3f7b504164 XMake: handle wayland and libuuid on Linux 2022-07-28 13:03:49 +02:00
SirLynix 9197bf964d Fix previous commit 2022-07-27 23:25:45 +02:00
SirLynix ddd9ecc2a2 Rename some options 2022-07-27 23:02:56 +02:00
SirLynix b0cff13562 Restore VS runtime override (with an option to disable it) 2022-07-27 23:02:43 +02:00
SirLynix d783418a63 Allow to disable example building 2022-07-27 23:02:24 +02:00
SirLynix 057eb1b350 Try to fix MinGW ci 2022-07-27 23:02:02 +02:00
SirLynix 50cdab11f3 Don't force MD vs_runtime 2022-07-27 19:07:07 +02:00
SirLynix 89cb35e5bf Allow x86 and release builds 2022-07-27 19:05:19 +02:00
SirLynix 1e1dc3ebce Build: Don't install private headers 2022-07-27 18:11:00 +02:00
Lynix 103421e89a Fix xmake for msys2 2022-07-19 20:03:33 +02:00
Lynix 994ebd869a Disable -isystem with MinGW on msys2
See https://github.com/msys2/MINGW-packages/issues/10761
2022-07-19 19:03:47 +02:00
SirLynix e63bb072da Install private header files to a private folder
until xmake supports https://github.com/xmake-io/xmake/issues/2577
2022-07-18 08:47:57 +02:00
SirLynix 6882163693 Update for latest NZSL version 2022-07-16 14:17:04 +02:00
SirLynix 25088de417 XMake: Force EnTT version to 3.10.1 2022-07-07 08:51:01 +02:00
SirLynix 99b4397d78 Core: Add Lifetime component and system 2022-07-02 19:43:02 +02:00
SirLynix 0978feafbc XMake: Don't include install resources headers 2022-06-17 19:08:00 +02:00
gogo 610ec87cf3 add tsan 2022-05-30 18:22:17 +02:00
SirLynix 5507b98f2f Remove assets from repository and download them using xmake 2022-05-27 08:34:36 +02:00
Jérôme Leclercq 03e2801dbe Split engine to packages NazaraUtils and NZSL (#375)
* Move code to NazaraUtils and NZSL packages

* Reorder includes

* Tests: Remove glslang and spirv-tools deps

* Tests: Remove glslang init

* Remove NazaraUtils tests and fix Vector4Test

* Fix Linux compilation

* Update msys2-build.yml

* Fix assimp package

* Update xmake.lua

* Update xmake.lua

* Fix shader compilation on MinGW

* Final fixes

* The final fix 2: the fix strikes back!

* Disable cache on CI

* The return of the fix™️
2022-05-25 19:36:10 +02:00
SirLynix 23e869d4d6 Build: Add deferred compilation shader option 2022-05-05 20:17:16 +02:00
Alexandre Janniaux f146661a76 VulkanRenderer: implement metal view
The metal view backing the MoltenVK compatibility wrapper is written in
Obj-C.

It would have been possible to use the Objective-C runtime in C++ but
the code is less performant (the symbol binding is done at first use
instead of the beginning of the program) and actually harder to get
right.

Note that MoltenVK is not linked to the loader, so the libMoltenVK.dylib
object must be available for loading.
2022-05-04 22:12:01 +02:00
Lynix 0c70d77c82 Revert "Try to build MinGW with static stdlib"
This reverts commit 8a9a0899b05f6e1d2527d55b2617f15dee4e4add.
2022-04-19 18:32:16 +02:00
Lynix 2b43b24ae9 Try to build MinGW with static stdlib 2022-04-19 18:32:16 +02:00
SirLynix d5f7f7a1a5 XMake: Remove fuzz build mode 2022-04-08 13:13:13 +02:00
SirLynix ad80f3e0ec Utility: Switch static unordered_set to constexpr 2022-04-07 08:42:10 +02:00
SirLynix 447cdfddc9 Shader: Error fixes 2022-04-06 09:06:02 +02:00
SirLynix 8784ec9b47 Add shader compiler (nzslc) and use it 2022-04-06 09:04:09 +02:00
SirLynix 262c82b9e1 Shader: Use constexpr maps for static data 2022-04-05 08:41:47 +02:00
SirLynix 68d2dfcae6 Move FieldOffsets class to Shader module and remove Utility dependency 2022-04-04 19:22:18 +02:00
SirLynix b8bf19f8cd Build: Add fmt dependency 2022-04-01 18:19:50 +02:00
Jérôme Leclercq f114f900b4 Remove moltenvk package for now 2022-03-20 19:41:31 +01:00
Jérôme Leclercq 723c58b6f5 Update xmake.lua 2022-03-20 19:41:31 +01:00
Jérôme Leclercq 69869ccb74 Update xmake.lua 2022-03-20 19:41:31 +01:00
Alexandre Janniaux b6290070cb xmake.lua: add molten-vk on MacOS 2022-03-20 19:41:31 +01:00
Jérôme Leclercq b9690e08f3 Build: Remove custom qt5lib (fix has been merged on xmake-repo) 2022-03-20 12:24:30 +01:00
Jérôme Leclercq 1edc82f9cd macOS: Try to run unit tests 2022-03-20 12:23:50 +01:00
Jérôme Leclercq bd4cf8e264 macOS fixes 2022-03-20 10:52:19 +01:00
Jérôme Leclercq ddd1492b9d macOS: Try to install libx11 using xmake 2022-03-20 10:17:07 +01:00
Jérôme Leclercq a6dce6861d macOS fixes 2022-03-20 10:02:31 +01:00
Jérôme Leclercq b09702acbf Build: NazaraCore doesn't require entt 2022-03-20 09:40:34 +01:00
Jérôme Leclercq b2ac8debcd Fix qt5lib for macOS 2022-03-19 19:28:17 +01:00
Lynix 93b829aea5 Build: Disable FP optimizations on Shader module 2022-03-19 17:49:31 +01:00
Lynix f3eeace359 CI: Replace fuzzing with asan mode 2022-03-19 17:48:03 +01:00
Lynix 75f0e24bf8 Remove local repo packages 2022-03-19 13:23:23 +01:00
Jérôme Leclercq efa2c0a253 XMake: Add efsw dependency 2022-03-17 23:07:02 +01:00
Jérôme Leclercq eb4629947e Minor fixes 2022-03-16 08:25:19 +01:00
Jérôme Leclercq 6bd9f1a9e4 Add unity build support 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 0a4fd8f56d Enable unity build on modules that support it 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 3e556a72b6 Build: Add usepch option to use precompiled headers 2022-03-09 20:06:38 +01:00
Jérôme Leclercq 84db6981bc XMake: Fix allowed modes on Windows 2022-03-06 12:53:30 +01:00
Jérôme Leclercq ca0ab34f32 Try to fix sanitizer CI 2022-03-06 10:59:05 +01:00
Jérôme Leclercq 1aa0a696ba Fix MinGW compilation 2022-03-05 00:32:07 +01:00
Jérôme Leclercq 72b664f42c Core: Add Uuid class 2022-03-04 20:40:41 +01:00
Jérôme Leclercq 28531f5118 Minor changes 2022-02-25 19:36:54 +01:00
Jérôme Leclercq fb9aed2800 XMake: Add create-class 2022-02-15 13:34:17 +01:00
Jérôme Leclercq 3beacd3ffc Build: set rpath to origin 2022-02-09 17:38:36 +01:00
Jérôme Leclercq f466a7494b Update for EnTT 3.9 2022-02-08 20:05:14 +01:00
Jérôme Leclercq 8094949001 CI: Rework fuzzing and sanitizing 2022-02-05 15:53:30 +01:00
Jérôme Leclercq 504249e70f Update xmake.lua 2022-01-06 20:38:57 +01:00
Jérôme Leclercq ec3da7e3f5 XMake: Fix NAZARA_DEBUG not being defined in unit tests and examples 2021-12-25 19:10:26 +01:00
Jérôme Leclercq 3e708cf5ed XMake: Use remove_files/remove_headerfiles 2021-12-24 11:06:44 +01:00
Jérôme Leclercq d4dfe97006 Minor fixes 2021-12-23 17:39:37 +01:00
Jérôme Leclercq 5aefef2517 XMake: Fix build_rendererplugins rule 2021-12-03 22:15:54 +01:00
Jérôme Leclercq 53747abf6e XMake: Fix build_rendererplugins rule 2021-12-02 12:02:39 +01:00
Jérôme Leclercq 2d236afe0f Minor fixes 2021-11-30 12:42:19 +01:00
Jérôme Leclercq 34521e7d50 Update xmake.lua 2021-10-28 13:10:39 +02:00