1
0
mirror of https://github.com/ocornut/imgui.git synced 2025-02-26 14:51:46 +01:00
imgui/CMakeLists.txt

48 lines
1.3 KiB
CMake
Raw Normal View History

2024-09-17 03:57:56 -04:00
cmake_minimum_required(VERSION 3.15)
project(imgui)
2024-09-17 04:58:28 -04:00
option(IMGUI_IMPL_WIN32 "Enable ImGui Win32 implementation" ON)
option(IMGUI_IMPL_OPENGL2 "Enable ImGui OpenGL2 implementation" OFF)
option(IMGUI_IMPL_OPENGL3 "Enable ImGui OpenGL3 implementation" OFF)
option(IMGUI_ENABLE_PLAYGROUND "Enable playground subdirectory" OFF)
set(IMGUI_INC_DIR
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include>)
include(cmake/add_library_ns.cmake)
include(cmake/target_include_dir_iface.cmake)
include(cmake/install_target.cmake)
add_library_ns(imgui core STATIC imgui.cpp imgui_demo.cpp imgui_draw.cpp imgui_tables.cpp imgui_widgets.cpp)
2024-09-17 03:57:56 -04:00
target_include_directories(imgui-core PUBLIC ${IMGUI_INC_DIR})
add_subdirectory(misc)
2024-09-17 04:58:28 -04:00
add_subdirectory(backends)
2024-09-17 03:57:56 -04:00
# Playground is a private space where dev might test/experiment/freestyle stuffs
2024-09-17 04:58:28 -04:00
if(IMGUI_ENABLE_PLAYGROUND)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/playground)
2024-09-17 03:57:56 -04:00
add_subdirectory(playground)
endif()
2024-09-17 04:58:28 -04:00
endif()
install_target_and_headers(imgui core
imgui.h
imgui_internal.h
imconfig.h
imstb_truetype.h
imstb_textedit.h
imstb_rectpack.h
)
configure_file(cmake/imgui-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake
@ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake
DESTINATION lib/cmake/imgui)