Commit Graph

167 Commits

Author SHA1 Message Date
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
Jérôme Leclercq f117b76129 XMake: Fix 2.5.9/dev handling 2021-10-28 13:03:32 +02:00
Jérôme Leclercq 04ee6f0fd1 Add support for xmake 2.5.9 (and unity build for unit tests) 2021-10-19 14:26:45 +02:00
Lynix 9740db8fe2 Improve MinGW support 2021-10-16 17:45:43 +02:00
Jérôme Leclercq 2a2f7d8085 Add support for coverage mode (WIP) 2021-10-16 12:09:36 +02:00
Jérôme Leclercq a66f6faed1 Add widgets (WIP) 2021-10-04 09:25:45 +02:00
Jérôme Leclercq ece18bf472 Implement back text rendering (WIP) 2021-09-07 18:45:10 +02:00
Jérôme Leclercq 601a0cedec Fix MinGW support 2021-09-06 10:37:24 +02:00
Jérôme Leclercq 0bb443b0d0 Fix xmake.lua 2021-08-23 19:35:45 +02:00
Jérôme Leclercq 72b959d6ca XMake: Enable MinGW 2021-08-23 19:30:00 +02:00
ImperatorS79 c977ad6440 Use is_plat("windows", "mingw") 2021-08-23 19:29:25 +02:00
ImperatorS79 8d4639d8e1 Add support for mingw 2021-08-23 19:29:25 +02:00
Jérôme Leclercq 1cb3c86a3b XMake: Fix missing global headers in install/projects 2021-08-23 18:46:46 +02:00
Jérôme Leclercq 335b48056f XMake: Setup allowed modes/plats/archs 2021-08-19 18:47:11 +02:00
Jérôme Leclercq f0de7efd2d Update xmake.lua 2021-08-19 18:47:11 +02:00
Jérôme Leclercq f0ea623408 XMake: fix Nazara include installation folder 2021-08-18 02:29:31 +02:00
Jérôme Leclercq 5a406e8a20 Add entt dependency to Core and Physics3D 2021-06-20 14:06:28 +02:00
Lynix 54d56abc56 WIP 2021-06-16 16:50:00 +02:00
Jérôme Leclercq 4b3b595a99 Minor fixes 2021-06-04 18:02:28 +02:00
Jérôme Leclercq 7c9bc16535 XMake: Add asan mode 2021-06-03 17:22:12 +02:00
Jérôme Leclercq 57ee511b86 XMake: Add OpenAL-soft package
In order to provide openal-soft DLL when running or installing the engine
2021-06-03 17:22:00 +02:00
Jérôme Leclercq 0dd5e92a50 Audio: Add FLAC support 2021-06-03 17:21:15 +02:00
Jérôme Leclercq ce5ace52cc XMake: Add math includes to core project 2021-06-01 12:32:54 +02:00
Jérôme Leclercq 577643d128 Audio: Remove libsndfile loader 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 0d2535b47c Fix libvorbis handling 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 312a6d3ba8 Fix libvorbisfile dependency 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 79b6b87379 Audio: Add .ogg loader (using libvorbisfile) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq ca51ab16c9 XMake: Add dl and pthread links (fixes Linux compilation) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 7ced0e5f08 Audio: Add .wav loader (using dr_wav) 2021-05-30 16:45:50 +02:00