aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: e8ef9c4740456c5ce14901898406a0b3b4a28c43 (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
cmake_minimum_required(VERSION 3.17)
project(rms)
set(CMAKE_BUILD_TYPE Debug)

# GLFW (window system)
find_package(glfw3 3.3 REQUIRED)
link_libraries(glfw)

# GLEW (OpenglGL dependecies manager)
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})
link_libraries(${GLEW_LIBRARIES})

# OpenGL
find_package(OpenGL REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS})
link_libraries(${OPENGL_LIBRARIES})

# GLM for mathematics
find_package(glm 0.9 REQUIRED)
include_directories( ${GLM_INCLUDE_DIRS})

# Source files
file(GLOB_RECURSE SRC_FILES CONFIGURE_DEPENDS src/*.cpp src/*.hpp)
file(GLOB_RECURSE RESOURCES_SRC_FILES CONFIGURE_DEPENDS resources/*)

# Build
include_directories(${CMAKE_SOURCE_DIR}/src/)
add_executable(rms ${SRC_FILES})

# Resources
add_custom_target(resources
  COMMAND ${CMAKE_COMMAND} -E copy_directory
  ${CMAKE_SOURCE_DIR}/resources ${CMAKE_BINARY_DIR}/resources
  SOURCES ${RESOURCES_SRC_FILES})

# Build shaders each time we build rms
add_dependencies(rms resources)