Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
graph/CMakeLists.txt

143 lines
3 KiB
Text
Raw Normal View History

2018-09-26 17:51:22 -04:00
cmake_minimum_required(VERSION 3.1)
project(Graph)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
add_subdirectory(3rdparty)
include(cmake/BuildShaders.cmake)
include(cmake/CopyData.cmake)
2018-12-19 12:19:52 -05:00
set(CMAKE_CXX_STANDARD 17)
2018-09-27 22:47:56 -04:00
2018-09-26 17:51:22 -04:00
find_package(SDL2 REQUIRED)
2018-09-27 00:22:33 -04:00
find_package(Vulkan REQUIRED)
2018-10-16 09:18:42 -04:00
find_package(assimp REQUIRED)
2018-11-05 10:37:31 -05:00
find_package(glm REQUIRED)
2019-01-08 22:27:42 -05:00
find_package(opus REQUIRED)
find_package(OpenAL REQUIRED)
2018-09-26 17:51:22 -04:00
2018-09-29 20:27:07 -04:00
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
2018-09-28 21:08:57 -04:00
add_definitions(-DDEBUG)
endif()
2018-11-05 23:18:31 -05:00
if(APPLE AND NOT TARGET SDL2::SDL2)
add_library(SDL2::SDL2 UNKNOWN IMPORTED)
set_target_properties(SDL2::SDL2 PROPERTIES
IMPORTED_LOCATION "${SDL2_LIBDIR}/libSDL2.dylib"
INTERFACE_INCLUDE_DIRECTORIES ${SDL2_INCLUDE_DIRS})
endif()
2018-11-06 14:15:02 -05:00
# workaround for linking dbus/glib ourselves
if(UNIX AND NOT APPLE)
set_target_properties(SDL2::SDL2 PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG "")
endif()
2018-11-05 23:18:31 -05:00
if(NOT TARGET assimp::assimp)
add_library(assimp::assimp UNKNOWN IMPORTED)
find_library(ASSIMP_IMPORTED_PATH ${ASSIMP_LIBRARIES}
PATHS
${ASSIMP_LIBRARY_DIRS})
set_target_properties(assimp::assimp PROPERTIES
IMPORTED_LOCATION ${ASSIMP_IMPORTED_PATH})
set_target_properties(assimp::assimp PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${ASSIMP_INCLUDE_DIRS})
endif()
2018-11-05 10:37:31 -05:00
2018-12-21 06:32:37 -05:00
set(ENGINE_SRC
2018-10-15 19:52:16 -04:00
src/renderer.cpp
2018-10-17 10:06:38 -04:00
src/worldpass.cpp
2018-11-03 07:24:32 -04:00
src/postpass.cpp
2018-11-05 20:51:23 -05:00
src/dofpass.cpp
2018-11-08 08:57:41 -05:00
src/skypass.cpp
2018-11-08 12:51:32 -05:00
src/shadowpass.cpp
2018-12-16 19:59:48 -05:00
src/config.cpp
src/stringutils.cpp
src/animationsystem.cpp
src/worldmanager.cpp
2018-12-19 12:19:52 -05:00
src/assetmanager.cpp
2018-12-19 13:11:27 -05:00
src/entityparser.cpp
2018-12-25 10:57:12 -05:00
src/smaapass.cpp
2019-01-08 22:27:42 -05:00
src/debugpass.cpp
src/audiosystem.cpp)
2018-11-11 05:41:03 -05:00
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
2018-12-21 06:32:37 -05:00
set(ENGINE_SRC
${ENGINE_SRC}
2018-11-11 05:41:03 -05:00
src/imguipass.cpp)
endif()
2018-12-21 06:32:37 -05:00
add_library(Engine
${ENGINE_SRC})
target_compile_options(Engine
2018-11-06 14:15:02 -05:00
PUBLIC
2018-12-19 12:19:52 -05:00
-fno-exceptions)
2018-12-21 06:32:37 -05:00
target_link_libraries(Engine
2018-11-05 10:37:31 -05:00
PUBLIC
SDL2::SDL2
Vulkan::Vulkan
2018-11-05 23:18:31 -05:00
assimp::assimp
nlohmann::json
2018-12-19 13:11:27 -05:00
stb::stb
2019-01-08 22:27:42 -05:00
SMAA::SMAA
opus::opus
OpenAL::OpenAL)
2018-11-11 05:41:03 -05:00
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
2018-12-21 06:32:37 -05:00
target_link_libraries(Engine
2018-11-11 05:41:03 -05:00
PUBLIC
2018-11-05 20:51:23 -05:00
imgui::imgui)
2018-11-11 05:41:03 -05:00
endif()
2018-11-05 23:18:31 -05:00
2018-12-21 06:32:37 -05:00
target_include_directories(Engine
2018-11-05 10:37:31 -05:00
PUBLIC
include
PRIVATE
2018-11-05 23:18:31 -05:00
${GLM_INCLUDE_DIRS})
2018-12-27 06:36:59 -05:00
add_executable(ITER
2018-12-21 06:32:37 -05:00
src/main.cpp)
2018-12-27 06:36:59 -05:00
target_link_libraries(ITER
2018-12-21 06:32:37 -05:00
PRIVATE
Engine)
2018-12-27 06:36:59 -05:00
add_shaders(ITER
2018-11-05 23:18:31 -05:00
shaders/mesh.vert
shaders/mesh.frag
shaders/post.vert
shaders/post.frag
shaders/dof.vert
shaders/dof.frag
shaders/imgui.vert
2018-11-07 07:20:52 -05:00
shaders/imgui.frag
shaders/sky.vert
2018-11-08 08:57:41 -05:00
shaders/sky.frag
2018-12-19 13:11:27 -05:00
shaders/shadow.vert
shaders/edge.vert
shaders/edge.frag
shaders/blend.vert
2018-12-25 10:57:12 -05:00
shaders/blend.frag
shaders/sobel.vert
shaders/sobel.frag)
2018-10-16 08:49:25 -04:00
2018-12-27 06:36:59 -05:00
add_data(ITER
2018-10-30 21:13:36 -04:00
data/suzanne.obj
2018-11-03 07:24:32 -04:00
data/test.cim
data/bokeh.png
2018-11-06 09:08:55 -05:00
data/scene.obj
2018-11-08 12:51:32 -05:00
data/tile.jpg
data/graphics_presets.cfg
data/test.world
data/test.material
2018-12-21 05:11:30 -05:00
data/empty.world
2018-12-25 07:51:18 -05:00
data/player.obj
data/sphere.obj
2018-12-25 08:32:38 -05:00
data/matpreview.world
2018-12-25 08:50:19 -05:00
data/basic.material
2019-01-08 22:27:42 -05:00
data/maticon.png
data/music.opus)
2018-12-21 06:32:37 -05:00
add_subdirectory(tools)