mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-09 23:54:20 +00:00
Merge 55402fdcf4 into 7b3ad4a282
This commit is contained in:
commit
2f8a024362
27 changed files with 497 additions and 0 deletions
100
CMakeLists.txt
Normal file
100
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
cmake_minimum_required (VERSION 3.10)
|
||||||
|
project(imgui VERSION 1.73.0 LANGUAGES CXX C)
|
||||||
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
option (IMGUI_EXAMPLES "Build ImGui examples" ON)
|
||||||
|
option (IMGUI_DEMO "Include the ImGui demo window implementation in library" ON)
|
||||||
|
|
||||||
|
option (IMGUI_IMPL_SDL2 "Build the SDL implementation (only if supported)" ON)
|
||||||
|
option (IMGUI_IMPL_METAL "Build the Metal implementation (only if supported)" ${APPLE})
|
||||||
|
option (IMGUI_IMPL_OSX "Build the OSX implementation (only if supported)" ${APPLE})
|
||||||
|
option (IMGUI_IMPL_WIN32 "Build the Win32 (native winapi) implementation (only if supported)" ${WIN32})
|
||||||
|
option (IMGUI_IMPL_GLFW "Build the GLFW implementation (only if supported)" ON)
|
||||||
|
option (IMGUI_IMPL_GLUT "Build the GLUT implementation (only if supported)" ON)
|
||||||
|
option (IMGUI_IMPL_OPENGL "Build the OpenGL3 implementation (only if supported)" ON)
|
||||||
|
option (IMGUI_IMPL_OPENGL2 "Build the OpenGL2 (legacy) implementation (only if supported)" ${IMGUI_IMPL_OPENGL})
|
||||||
|
option (IMGUI_IMPL_DX9 "Build the DirectX 9 implementation (only if supported)" ${WIN32})
|
||||||
|
option (IMGUI_IMPL_DX10 "Build the DirectX 10 implementation (only if supported)" ${WIN32})
|
||||||
|
option (IMGUI_IMPL_DX11 "Build the DirectX 11 implementation (only if supported)" ${WIN32})
|
||||||
|
option (IMGUI_IMPL_DX12 "Build the DirectX 12 implementation (only if supported)" ${WIN32})
|
||||||
|
|
||||||
|
add_library (imgui
|
||||||
|
imgui.cpp
|
||||||
|
imgui_draw.cpp
|
||||||
|
imgui_tables.cpp
|
||||||
|
imgui_widgets.cpp
|
||||||
|
$<$<BOOL:IMGUI_DEMO>:imgui_demo.cpp>
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(imgui::imgui ALIAS imgui)
|
||||||
|
|
||||||
|
target_include_directories (imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
|
||||||
|
target_compile_features(imgui PRIVATE cxx_std_11)
|
||||||
|
|
||||||
|
if (IMGUI_EXAMPLES)
|
||||||
|
# Sets up polyfill libraries for Windows examples (e.g. GLFW)
|
||||||
|
include (examples/libs/glfw.cmake)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT IMGUI_DEMO)
|
||||||
|
target_compile_definitions (imgui PUBLIC -DIMGUI_DISABLE_DEMO_WINDOWS=1)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (IMGUI_IMPL_SDL2)
|
||||||
|
include (backends/imgui_impl_sdl2.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_METAL)
|
||||||
|
include (backends/imgui_impl_metal.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_OSX)
|
||||||
|
include (backends/imgui_impl_osx.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_WIN32)
|
||||||
|
include (backends/imgui_impl_win32.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_GLFW)
|
||||||
|
include (backends/imgui_impl_glfw.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_OPENGL OR IMGUI_IMPL_OPENGL2)
|
||||||
|
include (backends/imgui_impl_opengl.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_GLUT)
|
||||||
|
include (backends/imgui_impl_glut.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_DX9)
|
||||||
|
include (backends/imgui_impl_dx9.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_DX10)
|
||||||
|
include (backends/imgui_impl_dx10.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_DX11)
|
||||||
|
include (backends/imgui_impl_dx11.cmake)
|
||||||
|
endif ()
|
||||||
|
if (IMGUI_IMPL_DX12)
|
||||||
|
include (backends/imgui_impl_dx12.cmake)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (IMGUI_EXAMPLES)
|
||||||
|
set (IMGUI_EXAMPLE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
|
#add_subdirectory (examples/example_allegro5)
|
||||||
|
add_subdirectory (examples/example_apple_metal)
|
||||||
|
add_subdirectory (examples/example_apple_opengl2)
|
||||||
|
#add_subdirectory (examples/example_emscripten)
|
||||||
|
add_subdirectory (examples/example_glfw_metal)
|
||||||
|
add_subdirectory (examples/example_glfw_opengl2)
|
||||||
|
add_subdirectory (examples/example_glfw_opengl3)
|
||||||
|
#add_subdirectory (examples/example_glfw_vulkan)
|
||||||
|
add_subdirectory (examples/example_glut_opengl2)
|
||||||
|
add_subdirectory (examples/example_null)
|
||||||
|
#add_subdirectory (examples/example_sdl2_directx11)
|
||||||
|
add_subdirectory (examples/example_sdl2_metal)
|
||||||
|
add_subdirectory (examples/example_sdl2_opengl2)
|
||||||
|
add_subdirectory (examples/example_sdl2_opengl3)
|
||||||
|
#add_subdirectory (examples/example_sdl2_vulkan)
|
||||||
|
add_subdirectory (examples/example_win32_directx10)
|
||||||
|
add_subdirectory (examples/example_win32_directx11)
|
||||||
|
add_subdirectory (examples/example_win32_directx12)
|
||||||
|
add_subdirectory (examples/example_win32_directx9)
|
||||||
|
endif ()
|
||||||
26
backends/imgui_impl_dx10.cmake
Normal file
26
backends/imgui_impl_dx10.cmake
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
if (WIN32)
|
||||||
|
find_library (D3D10_LIBRARY "d3d10")
|
||||||
|
if (NOT D3D10_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX10 set to ON but d3d10.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_library (DXGI_LIBRARY "dxgi")
|
||||||
|
if (NOT DXGI_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX10 set to ON but dxgi.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (D3D10_LIBRARY AND DXGI_LIBRARY)
|
||||||
|
add_library (imgui-dx10 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_dx10.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-dx10 PUBLIC
|
||||||
|
imgui
|
||||||
|
${D3D10_LIBRARY} ${DXGI_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-dx10 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_DX10 set to ON but platform is not Win32")
|
||||||
|
endif ()
|
||||||
26
backends/imgui_impl_dx11.cmake
Normal file
26
backends/imgui_impl_dx11.cmake
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
if (WIN32)
|
||||||
|
find_library (D3D11_LIBRARY "d3d11")
|
||||||
|
if (NOT D3D11_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX11 set to ON but d3d11.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_library (DXGI_LIBRARY "dxgi")
|
||||||
|
if (NOT DXGI_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX11 set to ON but dxgi.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (D3D11_LIBRARY AND DXGI_LIBRARY)
|
||||||
|
add_library (imgui-dx11 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_dx11.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-dx11 PUBLIC
|
||||||
|
imgui
|
||||||
|
${D3D11_LIBRARY} ${DXGI_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-dx11 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_DX11 set to ON but platform is not Win32")
|
||||||
|
endif ()
|
||||||
26
backends/imgui_impl_dx12.cmake
Normal file
26
backends/imgui_impl_dx12.cmake
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
if (WIN32)
|
||||||
|
find_library (D3D12_LIBRARY "d3d12")
|
||||||
|
if (NOT D3D12_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX12 set to ON but d3d12.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_library (DXGI_LIBRARY "dxgi")
|
||||||
|
if (NOT DXGI_LIBRARY)
|
||||||
|
message (WARNING "IMGUI_IMPL_DX12 set to ON but dxgi.dll not found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (D3D12_LIBRARY AND DXGI_LIBRARY)
|
||||||
|
add_library (imgui-dx12 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_dx12.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-dx12 PUBLIC
|
||||||
|
imgui
|
||||||
|
${D3D12_LIBRARY} ${DXGI_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-dx12 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_DX12 set to ON but platform is not Win32")
|
||||||
|
endif ()
|
||||||
19
backends/imgui_impl_dx9.cmake
Normal file
19
backends/imgui_impl_dx9.cmake
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
if (WIN32)
|
||||||
|
find_library (D3D9_LIBRARY "d3d9")
|
||||||
|
if (D3D9_LIBRARY)
|
||||||
|
add_library (imgui-dx9 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_dx9.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-dx9 PUBLIC
|
||||||
|
imgui
|
||||||
|
${D3D9_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-dx9 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_DX9 set to ON but d3d9.dll not found")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_DX9 set to ON but platform is not Win32")
|
||||||
|
endif ()
|
||||||
14
backends/imgui_impl_glfw.cmake
Normal file
14
backends/imgui_impl_glfw.cmake
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
if (NOT TARGET glfw)
|
||||||
|
find_package (GLFW3 QUIET)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (TARGET glfw OR GLFW3_DIR)
|
||||||
|
add_library (imgui-glfw OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_glfw.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-glfw PUBLIC imgui glfw)
|
||||||
|
target_include_directories (imgui-glfw PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_GLFW set to ON but glfw3 could not be located")
|
||||||
|
endif ()
|
||||||
26
backends/imgui_impl_glut.cmake
Normal file
26
backends/imgui_impl_glut.cmake
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
find_package (GLUT QUIET)
|
||||||
|
|
||||||
|
if (GLUT_glut_LIBRARY)
|
||||||
|
add_library (imgui-glut OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_glut.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-glut PUBLIC
|
||||||
|
imgui
|
||||||
|
"${GLUT_glut_LIBRARY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
target_link_libraries (imgui-glut PUBLIC
|
||||||
|
"${GLUT_cocoa_LIBRARY}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
target_include_directories (imgui-glut PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
|
||||||
|
target_include_directories (imgui-glut SYSTEM PUBLIC
|
||||||
|
"${GLUT_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_GLUT set to ON but GLUT could not be found")
|
||||||
|
endif ()
|
||||||
19
backends/imgui_impl_metal.cmake
Normal file
19
backends/imgui_impl_metal.cmake
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
if (APPLE)
|
||||||
|
add_library (imgui-metal OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_metal.mm"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-metal PUBLIC
|
||||||
|
imgui
|
||||||
|
"-framework Cocoa" "-framework Metal" "-framework QuartzCore"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-metal PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
|
||||||
|
set_property (
|
||||||
|
TARGET imgui-metal
|
||||||
|
APPEND_STRING PROPERTY COMPILE_FLAGS "-fobjc-arc"
|
||||||
|
)
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_METAL set to ON but platform is not Apple")
|
||||||
|
endif ()
|
||||||
19
backends/imgui_impl_opengl.cmake
Normal file
19
backends/imgui_impl_opengl.cmake
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
find_package (OpenGL QUIET)
|
||||||
|
|
||||||
|
if (OPENGL_gl_LIBRARY)
|
||||||
|
if (IMGUI_IMPL_OPENGL2)
|
||||||
|
add_library (imgui-opengl2 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_opengl2.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-opengl2 PUBLIC
|
||||||
|
imgui
|
||||||
|
"${OPENGL_gl_LIBRARY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories (imgui-opengl2 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
target_include_directories (imgui-opengl2 SYSTEM PUBLIC "${OPENGL_INCLUDE_DIR}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_OPENGL and/or IMGUI_IMPL_OPENGL2 set to ON but OpenGL could not be found")
|
||||||
|
endif ()
|
||||||
15
backends/imgui_impl_osx.cmake
Normal file
15
backends/imgui_impl_osx.cmake
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
if (APPLE)
|
||||||
|
add_library (imgui-osx OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_osx.mm"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-osx PUBLIC imgui "-framework Cocoa" "-framework AppKit")
|
||||||
|
target_include_directories (imgui-osx PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
|
||||||
|
set_property (
|
||||||
|
TARGET imgui-osx
|
||||||
|
APPEND_STRING PROPERTY COMPILE_FLAGS "-fobjc-arc"
|
||||||
|
)
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_OSX set to ON but platform is not Apple")
|
||||||
|
endif ()
|
||||||
19
backends/imgui_impl_sdl2.cmake
Normal file
19
backends/imgui_impl_sdl2.cmake
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
find_package (SDL2 QUIET)
|
||||||
|
|
||||||
|
if (SDL2_DIR)
|
||||||
|
add_library (imgui-sdl2 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_sdl2.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-sdl2 PUBLIC imgui sdl2)
|
||||||
|
target_include_directories (imgui-sdl2 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
|
||||||
|
# Fixes a strange inclusion problem on MacOS due to an unconventional
|
||||||
|
# SDL installation with Homebrew. Innocuous if SDL is being pulled in
|
||||||
|
# from somewhere else.
|
||||||
|
if (APPLE)
|
||||||
|
target_include_directories (imgui-sdl2 SYSTEM PUBLIC "/usr/local/include/SDL2")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_SDL2 set to ON but SDL2 not found on system or in project")
|
||||||
|
endif ()
|
||||||
11
backends/imgui_impl_win32.cmake
Normal file
11
backends/imgui_impl_win32.cmake
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (WIN32)
|
||||||
|
add_library (imgui-win32 OBJECT
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/imgui_impl_win32.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui-win32 PUBLIC imgui)
|
||||||
|
|
||||||
|
target_include_directories (imgui-win32 PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
else ()
|
||||||
|
message (WARNING "IMGUI_IMPL_WIN32 set to ON but platform is not Win32")
|
||||||
|
endif ()
|
||||||
15
examples/example_apple_metal/CMakeLists.txt
Normal file
15
examples/example_apple_metal/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
if (TARGET imgui-metal AND TARGET imgui-osx)
|
||||||
|
# TODO proper bundling of assets for macOS and iOS
|
||||||
|
|
||||||
|
add_executable (imgui_example_apple_metal
|
||||||
|
main.mm
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_apple_metal
|
||||||
|
imgui-metal imgui-osx
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_apple_metal
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_apple_opengl2/CMakeLists.txt
Normal file
11
examples/example_apple_opengl2/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-osx AND TARGET imgui-opengl2)
|
||||||
|
add_executable (imgui_example_apple_opengl2 main.mm)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_apple_opengl2
|
||||||
|
imgui-osx imgui-opengl2
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_apple_opengl2
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_glfw_metal/CMakeLists.txt
Normal file
11
examples/example_glfw_metal/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-glfw AND TARGET imgui-metal)
|
||||||
|
add_executable (imgui_example_glfw_metal main.mm)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_glfw_metal
|
||||||
|
imgui-glfw imgui-metal
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_glfw_metal
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_glfw_opengl2/CMakeLists.txt
Normal file
11
examples/example_glfw_opengl2/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-glfw AND TARGET imgui-opengl2)
|
||||||
|
add_executable (imgui_example_glfw_opengl2 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_glfw_opengl2
|
||||||
|
imgui-glfw imgui-opengl2
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_glfw_opengl2
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_glfw_opengl3/CMakeLists.txt
Normal file
11
examples/example_glfw_opengl3/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-glfw AND TARGET imgui-opengl)
|
||||||
|
add_executable (imgui_example_glfw_opengl3 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_glfw_opengl3
|
||||||
|
imgui-glfw imgui-opengl
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_glfw_opengl3
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_glut_opengl2/CMakeLists.txt
Normal file
11
examples/example_glut_opengl2/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-glut AND TARGET imgui-opengl2)
|
||||||
|
add_executable (imgui_example_glut_opengl2 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_glut_opengl2
|
||||||
|
imgui-glut imgui-opengl2
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_glut_opengl2
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
6
examples/example_null/CMakeLists.txt
Normal file
6
examples/example_null/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
add_executable (imgui_example_null main.cpp)
|
||||||
|
target_link_libraries (imgui_example_null imgui)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_null
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
11
examples/example_sdl2_metal/CMakeLists.txt
Normal file
11
examples/example_sdl2_metal/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-sdl2 AND TARGET imgui-metal)
|
||||||
|
add_executable (imgui_example_sdl2_metal main.mm)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_sdl2_metal
|
||||||
|
imgui-sdl2 imgui-metal
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_sdl2_metal
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_sdl2_opengl2/CMakeLists.txt
Normal file
11
examples/example_sdl2_opengl2/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-sdl2 AND TARGET imgui-opengl2)
|
||||||
|
add_executable (imgui_example_sdl2_opengl2 WIN32 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_sdl2_opengl2
|
||||||
|
imgui-sdl2 imgui-opengl2
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_sdl2_opengl2
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_sdl2_opengl3/CMakeLists.txt
Normal file
11
examples/example_sdl2_opengl3/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-sdl2 AND TARGET imgui-opengl)
|
||||||
|
add_executable (imgui_example_sdl2_opengl3 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_sdl2_opengl3
|
||||||
|
imgui-sdl2 imgui-opengl
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_sdl2_opengl3
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_win32_directx10/CMakeLists.txt
Normal file
11
examples/example_win32_directx10/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-win32 AND TARGET imgui-dx10)
|
||||||
|
add_executable (imgui_example_win32_directx10 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_win32_directx10
|
||||||
|
imgui-win32 imgui-dx10
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_win32_directx10
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_win32_directx11/CMakeLists.txt
Normal file
11
examples/example_win32_directx11/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-win32 AND TARGET imgui-dx11)
|
||||||
|
add_executable (imgui_example_win32_directx11 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_win32_directx11
|
||||||
|
imgui-win32 imgui-dx11
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_win32_directx11
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_win32_directx12/CMakeLists.txt
Normal file
11
examples/example_win32_directx12/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-win32 AND TARGET imgui-dx12)
|
||||||
|
add_executable (imgui_example_win32_directx12 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_win32_directx12
|
||||||
|
imgui-win32 imgui-dx12
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_win32_directx12
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
11
examples/example_win32_directx9/CMakeLists.txt
Normal file
11
examples/example_win32_directx9/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (TARGET imgui-win32 AND TARGET imgui-dx9)
|
||||||
|
add_executable (imgui_example_win32_directx9 main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries (imgui_example_win32_directx9
|
||||||
|
imgui-win32 imgui-dx9
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties (imgui_example_win32_directx9
|
||||||
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
24
examples/libs/glfw.cmake
Normal file
24
examples/libs/glfw.cmake
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# NOTE: These are polyfill libs for developing GLFW windows examples;
|
||||||
|
# they are NOT intended to be used for production; instead, you
|
||||||
|
# acquire your own version (either from pre-built binaries or
|
||||||
|
# from building from source).
|
||||||
|
#
|
||||||
|
# More info at https://glfw.org.
|
||||||
|
|
||||||
|
if (WIN32 AND NOT TARGET glfw)
|
||||||
|
message (
|
||||||
|
WARNING
|
||||||
|
"ImGui polyfill glfw target should not be used for production! "
|
||||||
|
"If you're seeing this while building ImGui examples, please ignore."
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library (glfw STATIC IMPORTED)
|
||||||
|
|
||||||
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
set_target_properties (glfw PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_LIST_DIR}/glfw/lib-vc2010-64/glfw3.lib")
|
||||||
|
else ()
|
||||||
|
set_target_properties (glfw PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_LIST_DIR}/glfw/lib-vc2010-32/glfw3.lib")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
target_include_directories (glfw SYSTEM INTERFACE "${CMAKE_CURRENT_LIST_DIR}/glfw/include")
|
||||||
|
endif ()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue