52 lines
1.6 KiB
CMake
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})
|