blob: ecbf6b8a6042d7a5cf8afabfbeab266fad55d507 (
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
|
cmake_minimum_required(VERSION 3.23)
project(meowcraft)
set(CMAKE_CXX_STANDARD 17)
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/GFX/Window.cpp src/GFX/Window.hpp src/GFX/Mesh.cpp src/GFX/Mesh.hpp src/Math/Vector.hpp src/Math/Math.hpp src/GFX/Binder.cpp src/GFX/Binder.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.cpp 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/Generator.cpp src/World/Generator.hpp src/World/BlockSide.hpp src/World/World.cpp src/World/World.hpp src/World/ChunkIndex.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)
|