BuildImGui.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. cmake_minimum_required(VERSION 3.1)
  2. include(ExternalProject)
  3. set(CMAKE_CXX_STANDARD 17)
  4. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  5. set(CMAKE_CXX_EXTENSIONS OFF)
  6. find_package(SDL2 REQUIRED)
  7. set(SDL2_INCDIR ${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIR})
  8. add_library(ImGui STATIC)
  9. target_include_directories(ImGui PUBLIC ${SDL2_INCDIR})
  10. target_include_directories(ImGui PUBLIC external/imgui)
  11. target_include_directories(ImGui PUBLIC external/imgui/backends)
  12. file(GLOB ImG_SOURCES external/imgui/*.cpp external/imgui/backends/imgui_impl_sdl.cpp)
  13. file(GLOB ImG_HEADERS external/imgui/*.h external/imgui/backends/imgui_impl_sdl.h)
  14. target_sources(ImGui PRIVATE ${ImG_SOURCES} ${ImG_HEADERS})
  15. add_library(ImGuiSDL STATIC)
  16. message("SDL Dir: ${SDL2_INCDIR}")
  17. target_include_directories(ImGuiSDL PUBLIC ${SDL2_INCDIR})
  18. target_include_directories(ImGuiSDL PUBLIC external/imgui_sdl)
  19. target_include_directories(ImGuiSDL PUBLIC external/imgui)
  20. set(ImGSDL_SOURCES external/imgui_sdl/imgui_sdl.cpp)
  21. file(GLOB ImGSLD_HEADERS external/imgui_sdl/*.h)
  22. target_sources(ImGuiSDL PRIVATE ${ImGSDL_SOURCES} ${ImGSDL_HEADERS})