aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
committer3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
commitbd57f345ed9dbed1d81683e48199626de2ea9044 (patch)
tree4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /CMakeLists.txt
parent9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff)
Restructure projectHEADmain
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt91
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 @@
1cmake_minimum_required(VERSION 3.0) 1cmake_minimum_required(VERSION 3.0)
2 2
3project(gfx-all) 3include(cmake/shader.txt)
4
5add_subdirectory(contrib/cgltf)
6add_subdirectory(contrib/cgltf-tangents)
7add_subdirectory(contrib/stb)
4 8
5add_subdirectory(app) 9add_subdirectory(app)
6add_subdirectory(gfx) 10
7add_subdirectory(gfx-iso) 11project(gfx)
8add_subdirectory(game) 12
13add_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
36add_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
66target_include_directories(gfx PUBLIC
67 include)
68
69target_include_directories(gfx PRIVATE
70 src)
71
72target_compile_options(gfx PRIVATE -std=gnu11 -Wall -Wextra -Wpedantic)
73
74target_link_libraries(gfx PUBLIC
75 cstring
76 math)
77
78target_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)