BuildImGui.cmake 1.1 KB

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