59 lines
2.1 KiB
CMake
59 lines
2.1 KiB
CMake
# CMakeList.txt ; CMake project for Aster Core
|
|
|
|
cmake_minimum_required(VERSION 3.13)
|
|
|
|
find_package(glm CONFIG REQUIRED)
|
|
find_package(glfw3 CONFIG REQUIRED)
|
|
find_path(SCOTTT_DEBUGBREAK_INCLUDE_DIRS "debugbreak.h")
|
|
find_package(Vulkan REQUIRED)
|
|
find_package(fmt CONFIG REQUIRED)
|
|
find_package(VulkanMemoryAllocator CONFIG REQUIRED)
|
|
find_package(EASTL CONFIG REQUIRED)
|
|
|
|
set(HEADER_FILES
|
|
"include/aster/core/global.h"
|
|
"include/aster/util/logger.h"
|
|
"include/aster/core/constants.h"
|
|
"include/aster/core/config.h"
|
|
"include/aster/core/context.h"
|
|
"include/aster/core/physical_device.h"
|
|
"include/aster/core/device.h"
|
|
"include/aster/core/swapchain.h"
|
|
"include/aster/core/pipeline.h"
|
|
"include/aster/core/queue_allocation.h"
|
|
"include/aster/core/buffer.h"
|
|
"include/aster/core/image.h"
|
|
"include/aster/core/surface.h"
|
|
"include/aster/core/size.h"
|
|
"include/aster/core/window.h"
|
|
"include/aster/aster.h")
|
|
|
|
set(SOURCE_FILES
|
|
"src/aster/core/global.cpp"
|
|
"src/aster/util/logger.cpp"
|
|
"src/aster/core/context.cpp"
|
|
"src/aster/core/physical_device.cpp"
|
|
"src/aster/core/device.cpp"
|
|
"src/aster/core/swapchain.cpp"
|
|
"src/aster/core/pipeline.cpp"
|
|
"src/aster/core/buffer.cpp"
|
|
"src/aster/core/image.cpp"
|
|
"src/aster/core/surface.cpp"
|
|
"src/aster/core/window.cpp")
|
|
|
|
add_library(aster_core STATIC ${SOURCE_FILES} ${HEADER_FILES})
|
|
set_property(TARGET aster_core PROPERTY CXX_STANDARD 20)
|
|
|
|
target_precompile_headers(aster_core PUBLIC "include/aster/aster.h")
|
|
|
|
target_include_directories(aster_core PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include/aster")
|
|
target_include_directories(aster_core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
|
|
|
target_link_libraries(aster_core PUBLIC glm::glm-header-only)
|
|
target_link_libraries(aster_core PRIVATE glfw)
|
|
target_include_directories(aster_core PRIVATE ${SCOTTT_DEBUGBREAK_INCLUDE_DIRS})
|
|
target_link_libraries(aster_core PRIVATE fmt::fmt)
|
|
target_link_libraries(aster_core PRIVATE EASTL)
|
|
target_link_libraries(aster_core PUBLIC Vulkan::Headers GPUOpen::VulkanMemoryAllocator)
|
|
|