Files
LearningVulkan/CMakeLists.txt
2026-02-20 15:14:57 -05:00

55 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(LearningVulkan)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
add_compile_options(-Wall -Wextra -O2)
set(IMGUI_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/imgui)
# Recursively find all .cpp files under src/
file(GLOB_RECURSE SOURCES "src/*.cpp")
# Core ImGui files
list(APPEND SOURCES
${IMGUI_DIR}/imgui.cpp
${IMGUI_DIR}/imgui_demo.cpp
${IMGUI_DIR}/imgui_draw.cpp
${IMGUI_DIR}/imgui_tables.cpp
${IMGUI_DIR}/imgui_widgets.cpp
${IMGUI_DIR}/backends/imgui_impl_glfw.cpp
${IMGUI_DIR}/backends/imgui_impl_vulkan.cpp
)
add_executable(${PROJECT_NAME} ${SOURCES})
target_include_directories(${PROJECT_NAME}
PRIVATE
lib
lib/stb
lib/tinyobjloader
lib/tinyobjloader
${IMGUI_DIR}
${IMGUI_DIR}/backends
src
src/utilities
src/private
src/public
)
target_link_libraries(${PROJECT_NAME}
PRIVATE
glfw
vulkan
dl
pthread
X11
Xxf86vm
Xrandr
Xi
)