metaforce/aurora/CMakeLists.txt

45 lines
1.7 KiB
CMake
Raw Normal View History

2022-02-16 07:05:42 +00:00
add_subdirectory(../extern/SDL SDL2 EXCLUDE_FROM_ALL)
if (NOT MSVC)
target_compile_options(SDL2-static PRIVATE -Wno-implicit-fallthrough)
endif ()
2022-02-16 05:21:24 +00:00
add_subdirectory(../extern/dawn dawn EXCLUDE_FROM_ALL)
2022-02-19 05:33:56 +00:00
target_compile_definitions(dawn_native PRIVATE
DAWN_ENABLE_VULKAN_VALIDATION_LAYERS
DAWN_VK_DATA_DIR="vulkandata")
2022-02-16 05:21:24 +00:00
if (NOT MSVC)
target_compile_options(SPIRV-Tools-static PRIVATE -Wno-implicit-fallthrough)
target_compile_options(SPIRV-Tools-opt PRIVATE -Wno-implicit-fallthrough)
endif ()
2022-02-16 23:13:40 +00:00
add_library(aurora STATIC
lib/aurora.cpp
2022-02-19 05:33:56 +00:00
lib/gpu.cpp
2022-02-16 23:13:40 +00:00
lib/imgui.cpp
2022-02-19 14:36:03 +00:00
lib/input.cpp
2022-02-16 23:13:40 +00:00
lib/dawn/BackendBinding.cpp
lib/gfx/common.cpp
2022-02-18 00:38:31 +00:00
lib/gfx/texture.cpp
lib/gfx/movie_player/shader.cpp
2022-02-19 08:28:44 +00:00
lib/gfx/textured_quad/shader.cpp
lib/gfx/colored_quad/shader.cpp
2022-02-18 00:38:31 +00:00
# TODO move to imgui? or move imgui impl to here?
2022-02-17 06:03:00 +00:00
../extern/imgui/backends/imgui_impl_sdl.cpp
../extern/imgui/backends/imgui_impl_wgpu.cpp
2022-02-16 23:13:40 +00:00
)
2022-02-17 06:03:00 +00:00
target_compile_definitions(aurora PRIVATE IMGUI_USER_CONFIG="imconfig_user.h") # IMGUI_USE_WCHAR32
2022-02-16 05:21:24 +00:00
target_include_directories(aurora PUBLIC include ../Runtime)
target_include_directories(aurora PRIVATE ../imgui ../extern/imgui)
2022-02-18 00:38:31 +00:00
target_link_libraries(aurora PRIVATE dawn_native dawncpp webgpu_dawn zeus logvisor SDL2-static xxhash)
2022-02-16 23:13:40 +00:00
if (APPLE)
target_compile_definitions(aurora PRIVATE DAWN_ENABLE_BACKEND_METAL)
target_sources(aurora PRIVATE lib/dawn/MetalBinding.mm)
set_source_files_properties(lib/dawn/MetalBinding.mm PROPERTIES COMPILE_FLAGS -fobjc-arc)
else ()
target_compile_definitions(aurora PRIVATE
DAWN_ENABLE_BACKEND_VULKAN
DAWN_ENABLE_BACKEND_OPENGL
DAWN_ENABLE_BACKEND_DESKTOP_GL)
target_sources(aurora PRIVATE lib/dawn/OpenGLBinding.cpp lib/dawn/VulkanBinding.cpp)
endif ()