diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /CMakeLists.txt | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 91 |
1 files changed, 87 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 25c7560..b13f28b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -1,8 +1,91 @@ | |||
1 | cmake_minimum_required(VERSION 3.0) | 1 | cmake_minimum_required(VERSION 3.0) |
2 | 2 | ||
3 | project(gfx-all) | 3 | include(cmake/shader.txt) |
4 | |||
5 | add_subdirectory(contrib/cgltf) | ||
6 | add_subdirectory(contrib/cgltf-tangents) | ||
7 | add_subdirectory(contrib/stb) | ||
4 | 8 | ||
5 | add_subdirectory(app) | 9 | add_subdirectory(app) |
6 | add_subdirectory(gfx) | 10 | |
7 | add_subdirectory(gfx-iso) | 11 | project(gfx) |
8 | add_subdirectory(game) | 12 | |
13 | add_shader_library(shaders | ||
14 | shaders/brdf_integration_map.frag | ||
15 | shaders/cook_torrance.frag | ||
16 | shaders/cook_torrance.vert | ||
17 | shaders/cubemap_filtering.vert | ||
18 | shaders/debug3d.frag | ||
19 | shaders/debug3d.vert | ||
20 | shaders/immediate_mode.frag | ||
21 | shaders/immediate_mode.vert | ||
22 | shaders/irradiance_map.frag | ||
23 | shaders/prefiltered_environment_map.frag | ||
24 | shaders/quad.vert | ||
25 | shaders/skyquad.frag | ||
26 | shaders/skyquad.vert | ||
27 | shaders/view_normal_mapped_normals.frag | ||
28 | shaders/view_normal_mapped_normals.vert | ||
29 | shaders/view_normals.frag | ||
30 | shaders/view_normals.vert | ||
31 | shaders/view_tangents.frag | ||
32 | shaders/view_tangents.vert | ||
33 | shaders/view_texture.frag | ||
34 | shaders/view_texture.vert) | ||
35 | |||
36 | add_library(gfx SHARED | ||
37 | src/asset/asset_cache.c | ||
38 | src/asset/model.c | ||
39 | src/asset/texture.c | ||
40 | src/core/buffer.c | ||
41 | src/core/core.c | ||
42 | src/core/framebuffer.c | ||
43 | src/core/geometry.c | ||
44 | src/core/renderbuffer.c | ||
45 | src/core/shader_program.c | ||
46 | src/core/shader.c | ||
47 | src/core/texture.c | ||
48 | src/renderer/imm_renderer.c | ||
49 | src/renderer/renderer.c | ||
50 | src/scene/animation.c | ||
51 | src/scene/camera.c | ||
52 | src/scene/light.c | ||
53 | src/scene/material.c | ||
54 | src/scene/mesh.c | ||
55 | src/scene/model.c | ||
56 | src/scene/node.c | ||
57 | src/scene/object.c | ||
58 | src/scene/scene.c | ||
59 | src/scene/scene_memory.c | ||
60 | src/gfx.c | ||
61 | src/util/geometry.c | ||
62 | src/util/ibl.c | ||
63 | src/util/shader.c | ||
64 | src/util/skyquad.c) | ||
65 | |||
66 | target_include_directories(gfx PUBLIC | ||
67 | include) | ||
68 | |||
69 | target_include_directories(gfx PRIVATE | ||
70 | src) | ||
71 | |||
72 | target_compile_options(gfx PRIVATE -std=gnu11 -Wall -Wextra -Wpedantic) | ||
73 | |||
74 | target_link_libraries(gfx PUBLIC | ||
75 | cstring | ||
76 | math) | ||
77 | |||
78 | target_link_libraries(gfx PRIVATE | ||
79 | cassert | ||
80 | cgltf | ||
81 | cgltf-tangents | ||
82 | error | ||
83 | gfx-app | ||
84 | log | ||
85 | mempool | ||
86 | shaders | ||
87 | stb | ||
88 | # System libraries. | ||
89 | GL | ||
90 | # Required to initialize GLAD. | ||
91 | -ldl) | ||