# 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)