voxspatium/CMakeLists.txt

52 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.5)
project(voxspatium)
# Modules
#SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules ${CMAKE_MODULE_PATH})
# Enable compiler warning.
string(APPEND CMAKE_CXX_FLAGS " -Wall")
string(APPEND CMAKE_CXX_FLAGS " -Werror")
string(APPEND CMAKE_CXX_FLAGS " -Wextra")
string(APPEND CMAKE_CXX_FLAGS " -Wno-reorder")
string(APPEND CMAKE_CXX_FLAGS " -Wno-unused-parameter")
# Sources and headers
include_directories(${PROJECT_SOURCE_DIR}/src)
file(GLOB_RECURSE SOURCES ${PROJECT_SOURCE_DIR}/src/*)
# Executable output
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
# System-specific options
# TODO: this
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(VOXSPATIUM_EXECUTABLE "voxspatium")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(VOXSPATIUM_EXECUTABLE "voxspatium")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(VOXSPATIUM_EXECUTABLE "voxspatium.exe")
endif()
add_executable(${VOXSPATIUM_EXECUTABLE} ${SOURCES})
# Include GL
set(OpenGL_GL_PREFERENCE "LEGACY")
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
target_link_libraries(${VOXSPATIUM_EXECUTABLE} ${OPENGL_LIBRARIES})
# Include GLEW
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_PATH})
target_link_libraries(${VOXSPATIUM_EXECUTABLE} ${GLEW_LIBRARIES})
# Include SDL
INCLUDE(FindPkgConfig)
PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
include_directories(${SDL2_INCLUDE_DIRS} ${SDL2IMAGE_INCLUDE_DIRS})
target_link_libraries(${VOXSPATIUM_EXECUTABLE} ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES})