new structure

This commit is contained in:
Jorijn van der Graaf 2025-11-16 15:32:11 +01:00
commit 1155e67d63
37 changed files with 2399 additions and 751 deletions

View file

@ -3,16 +3,23 @@
"configurations": [
{
"name": "base",
"standard": "c++26",
"source_files": ["src/source/Crafter.Graphics-Window","src/source/Crafter.Graphics-WindowWayland","src/source/Crafter.Graphics-WindowWaylandWayland", "src/source/Crafter.Graphics-UiElement", "src/source/Crafter.Graphics-VulkanDevice", "src/source/Crafter.Graphics-WindowWaylandVulkan", "lib/VulkanTools", "src/source/Crafter.Graphics-Camera"],
"c_files": ["lib/wayland-xdg-decoration-unstable-v1-client-protocol", "lib/xdg-shell-protocol", "lib/shm"],
"module_files": ["src/module/Crafter.Graphics-Window","src/module/Crafter.Graphics-WindowWayland","src/module/Crafter.Graphics-WindowWaylandWayland", "src/module/Crafter.Graphics", "src/module/Crafter.Graphics-UiElement", "src/module/Crafter.Graphics-Types", "src/module/Crafter.Graphics-VulkanDevice", "src/module/Crafter.Graphics-VulkanPipeline", "src/module/Crafter.Graphics-VulkanShader", "src/module/Crafter.Graphics-WindowWaylandVulkan", "src/module/Crafter.Graphics-Camera", "src/module/Crafter.Graphics-VulkanBuffer", "src/module/Crafter.Graphics-Mesh", "src/module/Crafter.Graphics-MeshShader", "src/module/Crafter.Graphics-HeightmapShader","src/module/Crafter.Graphics-VoxelShader", "src/module/Crafter.Graphics-VulkanTexture", "src/module/Crafter.Graphics-TextureShader", "src/module/Crafter.Graphics-DescriptorSet"],
"build_dir": "build",
"output_dir": "bin",
"type":"library",
"libs": ["wayland-client", "vulkan", "xkbcommon"],
"flags": ["-Wno-uninitialized"],
"shaders": [
"implementations": ["implementations/Crafter.Graphics-Window", "implementations/Crafter.Graphics-UiElement", "implementations/Crafter.Graphics-Camera"],
"interfaces": ["interfaces/Crafter.Graphics-Window", "interfaces/Crafter.Graphics", "interfaces/Crafter.Graphics-UiElement", "interfaces/Crafter.Graphics-Types", "interfaces/Crafter.Graphics-Camera"],
"type": "library"
},
{
"name": "wayland",
"implementations": ["implementations/Crafter.Graphics-WindowWayland", "implementations/Crafter.Graphics-WindowWaylandWayland"],
"interfaces": ["interfaces/Crafter.Graphics-WindowWayland", "interfaces/Crafter.Graphics-WindowWaylandWayland"],
"libs": ["wayland-client", "xkbcommon"],
"extends": ["base"]
},
{
"name": "vulkan",
"implementations": ["implementations/Crafter.Graphics-VulkanDevice", "implementations/Crafter.Graphics-WindowWaylandVulkan"],
"interfaces": ["interfaces/Crafter.Graphics-WindowWayland", "interfaces/Crafter.Graphics-WindowWaylandWayland", "interfaces/Crafter.Graphics-VulkanDevice", "interfaces/Crafter.Graphics-VulkanPipeline", "interfaces/Crafter.Graphics-VulkanShader", "interfaces/Crafter.Graphics-WindowWaylandVulkan", "interfaces/Crafter.Graphics-VulkanBuffer", "interfaces/Crafter.Graphics-Mesh", "interfaces/Crafter.Graphics-MeshShader", "interfaces/Crafter.Graphics-HeightmapShader","interfaces/Crafter.Graphics-VoxelShader", "interfaces/Crafter.Graphics-VulkanTexture", "interfaces/Crafter.Graphics-TextureShader", "interfaces/Crafter.Graphics-DescriptorSet"],
"libs": ["vulkan"],
"shaders": [
{
"path":"src/shader/MeshShaderXYZ.glsl",
"type":13,
@ -53,22 +60,30 @@
"type":4,
"entrypoint":"main"
}
],
"extends": ["wayland"]
},
{
"name": "deps",
"dependencies": [
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Event.git",
"configuration":"lib"
},
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Math.git",
"configuration":"lib"
}
]
},
{
"name": "lib-debug",
"extends": ["base"],
"optimization_level": "0",
"name": "deps-debug",
"debug": true,
"dependencies": [
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Event.git",
"configuration":"lib-debug"
},
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Asset.git",
"configuration":"lib-debug"
},
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Math.git",
"configuration":"lib-debug"
@ -76,29 +91,12 @@
]
},
{
"name": "lib-release",
"extends": ["base"],
"optimization_level": "3",
"dependencies": [
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Event.git",
"configuration":"lib-release"
},
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Asset.git",
"configuration":"lib-release"
},
{
"path":"https://forgejo.catcrafts.net/Catcrafts/Crafter.Math.git",
"configuration":"lib-release"
}
]
"name": "lib-wayland",
"extends": ["wayland", "deps"]
},
{
"name": "develop",
"extends": ["lib-debug"],
"source_files": ["src/source/main"],
"type":"executable"
"name": "lib-wayland-debug",
"extends": ["wayland", "deps-debug"]
}
]
}