blob: c828d5e9ba5a3054b52a2e2426716a3e17c9f957 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
cmake_minimum_required(VERSION 3.23)
project(meowcraft)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(glfw3 3.3 REQUIRED)
find_package(GLEW REQUIRED)
if (LINUX)
find_package(OpenGL REQUIRED)
endif (LINUX)
add_executable(meowcraft
src/main.cpp
src/Common/Sizes.hpp
src/GFX/Window.cpp src/GFX/Window.hpp
src/GFX/Mesh.cpp src/GFX/Mesh.hpp
src/Math/Vector.hpp
src/Math/Common.hpp
src/GFX/Shading/Shader.cpp src/GFX/Shading/Shader.hpp
src/GFX/Shading/Program.cpp src/GFX/Shading/Program.hpp
src/Math/Matrix.hpp
src/Math/MVP.hpp
src/GFX/Camera.cpp src/GFX/Camera.hpp
src/Math/Rotation.hpp
src/GFX/Shading/Uniform.cpp src/GFX/Shading/Uniform.hpp
src/GFX/Mouse.cpp src/GFX/Mouse.hpp
src/Math/Trig.hpp
src/GFX/Texture.cpp src/GFX/Texture.hpp
src/Assets.cpp src/Assets.hpp
src/GFX/Image/RawImage.cpp src/GFX/Image/RawImage.hpp
src/GFX/Image/PPMParser.cpp src/GFX/Image/PPMParser.hpp
src/World/Chunk.cpp src/World/Chunk.hpp
src/World/BlockType.hpp
src/World/Generation/Generator.cpp src/World/Generation/Generator.hpp
src/World/BlockSide.hpp
src/World/World.cpp src/World/World.hpp
src/World/ChunkIndex.hpp
src/Util/ImageViewer.cpp src/Util/ImageViewer.hpp
src/Math/Interpolation.cpp
src/Math/Grid.cpp
src/Math/Perlin.cpp
src/Compute/Queue.hpp
src/Math/Constants.hpp
src/Math/Sigmoid.hpp
src/World/Generation/ChunkMeshing.cpp src/World/Generation/ChunkMeshing.hpp
src/Math/Tensor.hpp
src/World/Generation/Decoration.cpp src/World/Generation/Decoration.hpp
src/Math/Random.cpp src/Math/Random.hpp
src/World/Clouds.cpp src/World/Clouds.hpp
src/GFX/Util/MeshBuilder.hpp
src/GFX/Util/Primitives.cpp src/GFX/Util/Primitives.hpp
src/Math/AABB.hpp
src/Time.cpp src/Time.hpp
src/World/Generation/Lighting.cpp src/World/Generation/Lighting.hpp
src/World/Generation/ChunkNeighbors.hpp src/World/Generation/ChunkNeighbors.cpp
src/World/ChunkRegistry.cpp src/World/ChunkRegistry.hpp
src/World/Position.hpp
src/World/ChunkDimensions.hpp
src/Math/Mod.hpp
)
target_link_libraries(meowcraft glfw GLEW::GLEW)
if (LINUX)
target_link_libraries(meowcraft OpenGL)
endif (LINUX)
function(make_includable input_file output_file)
file(READ ${input_file} content)
set(delim "for_c++_include")
set(content "R\"${delim}(\n${content})${delim}\"")
file(WRITE ${output_file} "${content}")
endfunction(make_includable)
make_includable(assets/shaders/fragment.glsl assets/generated/shaders/fragment.glsl.includable)
make_includable(assets/shaders/vertex.glsl assets/generated/shaders/vertex.glsl.includable)
make_includable(assets/images/atlas.ppm assets/generated/images/atlas.ppm.includable)
|