-
-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
523 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
project (imgui) | ||
cmake_minimum_required (VERSION 3.2) | ||
|
||
option (IMGUI_EXAMPLES "Build ImGui examples" ON) | ||
option (IMGUI_DEMO "Include the ImGui demo window implementation in library" ON) | ||
|
||
option (IMGUI_IMPL_SDL "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 OpenGL implementation (only if supported)" ON) | ||
option (IMGUI_IMPL_OPENGL2 "Build the OpenGL 2 (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}) | ||
|
||
set (CMAKE_CXX_STANDARD 11) | ||
|
||
if (IMGUI_DEMO) | ||
set (IMGUI_DEMO_SRC imgui_demo.cpp) | ||
endif () | ||
|
||
add_library (imgui STATIC | ||
imgui.cpp | ||
imgui_draw.cpp | ||
imgui_widgets.cpp | ||
${IMGUI_DEMO_SRC} | ||
) | ||
|
||
target_include_directories (imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
||
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_SDL) | ||
include (examples/imgui_impl_sdl.cmake) | ||
endif () | ||
if (IMGUI_IMPL_METAL) | ||
include (examples/imgui_impl_metal.cmake) | ||
endif () | ||
if (IMGUI_IMPL_OSX) | ||
include (examples/imgui_impl_osx.cmake) | ||
endif () | ||
if (IMGUI_IMPL_WIN32) | ||
include (examples/imgui_impl_win32.cmake) | ||
endif () | ||
if (IMGUI_IMPL_GLFW) | ||
include (examples/imgui_impl_glfw.cmake) | ||
endif () | ||
if (IMGUI_IMPL_OPENGL OR IMGUI_IMPL_OPENGL2) | ||
include (examples/imgui_impl_opengl.cmake) | ||
endif () | ||
if (IMGUI_IMPL_GLUT) | ||
include (examples/imgui_impl_glut.cmake) | ||
endif () | ||
if (IMGUI_IMPL_DX9) | ||
include (examples/imgui_impl_dx9.cmake) | ||
endif () | ||
if (IMGUI_IMPL_DX10) | ||
include (examples/imgui_impl_dx10.cmake) | ||
endif () | ||
if (IMGUI_IMPL_DX11) | ||
include (examples/imgui_impl_dx11.cmake) | ||
endif () | ||
if (IMGUI_IMPL_DX12) | ||
include (examples/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_marmalade) | ||
add_subdirectory (examples/example_null) | ||
#add_subdirectory (examples/example_sdl_directx11) | ||
add_subdirectory (examples/example_sdl_metal) | ||
add_subdirectory (examples/example_sdl_opengl2) | ||
add_subdirectory (examples/example_sdl_opengl3) | ||
#add_subdirectory (examples/example_sdl_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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
if (TARGET imgui-metal AND TARGET imgui-osx) | ||
# TODO proper bundling of assets for macOS and iOS | ||
|
||
add_executable (imgui_example_apple_metal | ||
Shared/main.m | ||
Shared/AppDelegate.m | ||
Shared/Renderer.mm | ||
Shared/ViewController.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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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}" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
if (TARGET imgui-sdl AND TARGET imgui-metal) | ||
add_executable (imgui_example_sdl_metal main.mm) | ||
|
||
target_link_libraries (imgui_example_sdl_metal | ||
imgui-sdl imgui-metal | ||
) | ||
|
||
set_target_properties (imgui_example_sdl_metal | ||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}" | ||
) | ||
endif () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
if (TARGET imgui-sdl AND TARGET imgui-opengl2) | ||
add_executable (imgui_example_sdl_opengl2 WIN32 main.cpp) | ||
|
||
target_link_libraries (imgui_example_sdl_opengl2 | ||
imgui-sdl imgui-opengl2 | ||
) | ||
|
||
set_target_properties (imgui_example_sdl_opengl2 | ||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}" | ||
) | ||
endif () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
if (TARGET imgui-sdl AND TARGET imgui-opengl) | ||
add_executable (imgui_example_sdl_opengl3 main.cpp) | ||
|
||
target_link_libraries (imgui_example_sdl_opengl3 | ||
imgui-sdl imgui-opengl | ||
) | ||
|
||
set_target_properties (imgui_example_sdl_opengl3 | ||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${IMGUI_EXAMPLE_OUTPUT_DIR}" | ||
) | ||
endif () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 () |
Oops, something went wrong.