VoxelEngine/CMakeLists.txt
Che10VeK 30ad8385c9
Added cmake support (#11)
* Update README.md

* added submodules

* moved submodules to release tag

* fix include for fixed width integer

* added cmake support and build instruction

* Update README.md

* fix cmake links

* upd CMakeLists.txt
2023-08-02 05:44:09 +03:00

36 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(VoxelEngine)
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp)
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES})
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
option(VE_USE_SYSTEM_LIBS "Use system installed libraries" ON)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_package(OpenAL REQUIRED)
find_package(PNG REQUIRED)
set(LIBS "")
if(NOT VE_USE_SYSTEM_LIBS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libs/glfw)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libs/glm)
set(LIBS glm)
else()
find_package(glfw3 REQUIRED)
find_package(glm REQUIRED)
endif(NOT VE_USE_SYSTEM_LIBS)
if(UNIX)
find_package(Threads REQUIRED)
set(LIBS ${LIBS} Threads::Threads)
endif(UNIX)
target_link_libraries(${PROJECT_NAME} ${LIBS} glfw OpenGL::GL ${OPENAL_LIBRARY} GLEW::GLEW PNG::PNG)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/res DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/build)