43 lines
1.2 KiB
CMake
43 lines
1.2 KiB
CMake
include(FetchContent)
|
|
include(SetupVulkan)
|
|
|
|
if(NOT DEFINED IMGUI_REPO)
|
|
set(IMGUI_REPO https://github.com/ocornut/imgui.git)
|
|
endif ()
|
|
|
|
project(imgui_internal VERSION 1.0 LANGUAGES C CXX)
|
|
|
|
set(IMGUI_SRC_DIR ${CMAKE_BINARY_DIR}/3rdParty/imgui/imgui-src)
|
|
|
|
FetchContent_Populate(imgui
|
|
GIT_REPOSITORY ${IMGUI_REPO}
|
|
GIT_SHALLOW TRUE
|
|
GIT_TAG v1.90-docking
|
|
SOURCE_DIR ${IMGUI_SRC_DIR}
|
|
)
|
|
|
|
add_library(imgui_internal STATIC
|
|
${IMGUI_SRC_DIR}/imgui.cpp
|
|
${IMGUI_SRC_DIR}/imgui_draw.cpp
|
|
${IMGUI_SRC_DIR}/imgui_demo.cpp
|
|
${IMGUI_SRC_DIR}/imgui_tables.cpp
|
|
${IMGUI_SRC_DIR}/imgui_widgets.cpp
|
|
${IMGUI_SRC_DIR}/backends/imgui_impl_vulkan.cpp
|
|
)
|
|
|
|
if (glfw_FOUND)
|
|
target_sources(imgui_internal PRIVATE ${IMGUI_SRC_DIR}/backends/imgui_impl_glfw.cpp)
|
|
target_link_libraries(imgui_internal PUBLIC glfw)
|
|
endif ()
|
|
|
|
SetupVulkan(imgui_internal)
|
|
target_include_directories(imgui_internal PUBLIC ${Vulkan_INCLUDE_DIR})
|
|
|
|
target_include_directories(imgui_internal
|
|
PUBLIC
|
|
${IMGUI_SRC_DIR}
|
|
${IMGUI_SRC_DIR}/backends
|
|
)
|
|
|
|
set_property(TARGET imgui_internal PROPERTY CXX_STANDARD 17)
|