Index

zydeco / 5f524c5

Experiment in graphics programming, C++, OpenGL, simulation techniques.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
703 Sep 2023 16:015f524c5OpenGL render abstractionsJosh Stockin190G

Blob @ zydeco / CMakeLists.txt

text/plain1540 bytesdownload raw
1# CMake info
2cmake_minimum_required(VERSION 3.22)
3
4project("zydeco")
5
6
7# Locations
8set(SOURCE_DIR "src")
9set(LIB_SOURCE_DIR "lib/src")
10set(INCLUDE_DIR
11 "lib/include"
12 "include"
13 "include/events"
14 "include/render"
15 "include/render/gl"
16 "include/render/objects"
17 "include/render/shaders"
18 "include/runtime"
19 "include/sdl2"
20)
21
22
23# Compile settings
24set(CMAKE_CXX_STANDARD 20)
25set(COMPILE_OPTIONS "-O3 -Wall -Wextra -pedantic")
26
27if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
28 add_compile_options (-fdiagnostics-color=always)
29elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
30 add_compile_options (-fcolor-diagnostics)
31endif ()
32
33
34# Add source files
35include_directories(${INCLUDE_DIR})
36set(PROGRAM_SOURCES
37 "${LIB_SOURCE_DIR}/gl3w.c"
38 "${SOURCE_DIR}/main.cpp"
39 "${SOURCE_DIR}/Engine.cpp"
40 "${SOURCE_DIR}/render/Renderer.cpp"
41 "${SOURCE_DIR}/render/gl/GLProgram.cpp"
42 "${SOURCE_DIR}/render/gl/GLShader.cpp"
43 "${SOURCE_DIR}/render/gl/GLRenderObject.cpp"
44 "${SOURCE_DIR}/render/objects/GLRenderObjectBackground.cpp"
45 "${SOURCE_DIR}/render/objects/GLRenderObjectRainbowTriangle.cpp"
46 "${SOURCE_DIR}/runtime/ThreadLooping.cpp"
47 "${SOURCE_DIR}/sdl2/EventHandlerSDL2.cpp"
48 "${SOURCE_DIR}/sdl2/TimerSDL2.cpp"
49 "${SOURCE_DIR}/sdl2/WindowSDL2.cpp"
50 "${SOURCE_DIR}/util/Fault.cpp"
51 "${SOURCE_DIR}/util/Logger.cpp"
52)
53
54
55# Link libraries
56find_package(cpptrace REQUIRED)
57link_libraries("fmt" "cpptrace::cpptrace" "SDL2" "GL")
58
59
60# Output
61add_executable("zydeco" ${PROGRAM_SOURCES})
62