opengl-castle/CMakeLists.txt

52 lines
1.3 KiB
CMake
Raw Normal View History

2019-08-06 12:40:08 -07:00
cmake_minimum_required(VERSION 3.15)
project(castle)
#################
# CONFIGURATION #
#################
# Enable debug symbols by default
if(CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE Debug)
endif()
if(CMAKE_BUILD_TYPE STREQUAL Debug)
message("-- Debug Build")
endif()
################
# DEPENDENCIES #
################
# Use C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(OpenGL_GL_PREFERENCE GLVND)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_library(SOIL_LIBRARY SOIL lib/libSOIL.a)
2019-08-06 14:55:21 -07:00
find_library(GLM REQUIRED)
2019-08-06 12:40:08 -07:00
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
include_directories(${GLFW_INCLUDE_DIRS})
set(SOURCE_LIST
src/main.cpp
src/engine/Window.cpp
src/engine/VBO.cpp
2019-08-06 13:31:14 -07:00
src/engine/Shader.cpp
src/engine/ShaderProgram.cpp
src/engine/ShaderProgram.hpp
src/engine/VAO.cpp)
2019-08-06 12:40:08 -07:00
file(MAKE_DIRECTORY "bin")
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin")
set(EXECUTABLE_NAME "castle")
2019-08-06 14:55:21 -07:00
include_directories(${GLEW_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${GLFW_INCLUDE_DIR} ${GLM_INCLUDE_DIR} /usr/include/SOIL/)
2019-08-06 12:40:08 -07:00
add_executable(${EXECUTABLE_NAME} ${SOURCE_LIST})
2019-08-06 14:55:21 -07:00
target_link_libraries(${EXECUTABLE_NAME} ${STANDARD_TARGETS} ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${GLFW_LIBRARIES} ${SOIL_LIBRARY} ${GLM_LIBRARY})