53 lines
1017 B
CMake
53 lines
1017 B
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
|
|
${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
|
|
)
|