diff --git a/.gitmodules b/.gitmodules index 11b640e..7b3d0c3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,12 @@ [submodule "cimgui"] path = cimgui url = https://github.com/extrawurst/cimgui +[submodule "cimplot"] + path = cimplot + url = https://github.com/cimgui/cimplot.git +[submodule "cimnodes"] + path = cimnodes + url = https://github.com/cimgui/cimnodes.git +[submodule "cimguizmo"] + path = cimguizmo + url = https://github.com/cimgui/cimguizmo.git diff --git a/.travis.yml b/.travis.yml index db5d679..482b5e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,11 @@ deploy: provider: releases api_key: secure: i/+8OvgiHRcQIpv0s+9K+xsKuhmXQWouSoL0jCP2Y6BMnftKYSqhxHsO9N770wIYXSYU0g1Syd03eiBAJ7kVEnGe2FnB4Vz+P3nvBw0RUZV17Vpoyi9X7CHc06botCqqmmXfFGLaY78MHHAYARJjW8pGlZ+htfT+/MM7Tvpoo2GQUnGLN/d9EQVuWA4opdBCsK+MMwQCRAwpLOsZ5skNtZJoYDNJopQBuRTU+SNMR1Wf4On/f59wA+x4fUNpxrP9AFl3M71fWzGnRAKaRrTkHTOufHzzv/cyVihGMFnJY8POGG1fMXJUD6/DWuoUUVr9PV1YKgUPhs4O917Mi+qtykCv9XvVJi9eXMFWuCgIpokbtJXRIqxA4+PlatlthpnSA7tDIJDGRBiguy+JnG0X+KfQD+h+6KKvwO56IRirxbm6bZUEcF4T6g4jmsQo9qkxymAnfKWSiIvZVsUhN4nUcZA5+wQpbKfX17sf72Zl0mMkGB3AKq93rWDvePXw9iYHk3IYL9wZleOtUHshoKgmbSaW2D/whTBaHcI442tpa8HAX2YodN6Aw6rLWu6NccUSi8DT84K8WMf17XJ+lTSaHZ7UFLSHG1MeEi7ayHV83nKO17VrkNz1yRP7KWjDedFUdIjffBaGJPjPoYZGI8FgnXHQ/uKuUvNZidjmBMa/Pa0= - file: cimgui/build/Release/cimgui.dylib + file: + - "build/Release/cimgui.dylib" + - "build/Release/cimplot.dylib" + - "build/Release/cimnodes.dylib" + - "build/Release/cimguizmo.dylib" on: tags: true repo: mellinoe/ImGui.NET-nativebuild diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c4e1e2e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,59 @@ +cmake_minimum_required(VERSION 3.1) + +project(cimgui) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED True) + + +add_library(cimgui SHARED + cimgui/cimgui.cpp + cimgui/imgui/imgui.cpp + cimgui/imgui/imgui_draw.cpp + cimgui/imgui/imgui_demo.cpp + cimgui/imgui/imgui_widgets.cpp + cimgui/imgui/imgui_tables.cpp) + +target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1) +set_target_properties(cimgui PROPERTIES PREFIX "") + + +add_library(cimplot SHARED + cimgui/imgui/imgui.cpp + cimgui/imgui/imgui_draw.cpp + cimgui/imgui/imgui_demo.cpp + cimgui/imgui/imgui_widgets.cpp + cimgui/imgui/imgui_tables.cpp + cimplot/cimplot.cpp + cimplot/implot/implot.cpp + cimplot/implot/implot_demo.cpp + cimplot/implot/implot_items.cpp) + +target_include_directories(cimplot PUBLIC cimgui/imgui) +set_target_properties(cimplot PROPERTIES PREFIX "") + + +add_library(cimnodes SHARED + cimgui/imgui/imgui.cpp + cimgui/imgui/imgui_draw.cpp + cimgui/imgui/imgui_demo.cpp + cimgui/imgui/imgui_widgets.cpp + cimgui/imgui/imgui_tables.cpp + cimnodes/cimnodes.cpp + cimnodes/imnodes/imnodes.cpp) + +target_include_directories(cimnodes PUBLIC cimgui/imgui) +set_target_properties(cimnodes PROPERTIES PREFIX "") + + +add_library(cimguizmo SHARED + cimgui/imgui/imgui.cpp + cimgui/imgui/imgui_draw.cpp + cimgui/imgui/imgui_demo.cpp + cimgui/imgui/imgui_widgets.cpp + cimgui/imgui/imgui_tables.cpp + cimguizmo/cimguizmo.cpp + cimguizmo/ImGuizmo/ImGuizmo.cpp) + +target_include_directories(cimguizmo PUBLIC cimgui/imgui) +set_target_properties(cimguizmo PROPERTIES PREFIX "") \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index d3d5bfe..b96f798 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,12 +8,31 @@ build_script: - sh: ./ci-build.sh - cmd: call .\ci-build.cmd artifacts: -- path: cimgui/build/Release/cimgui.so +- path: build/Release/cimgui.so name: cimgui.so -- path: cimgui\build\x64\Release\cimgui.win-x64.dll +- path: build/Release/cimplot.so + name: cimplot.so +- path: build/Release/cimnodes.so + name: cimnodes.so +- path: build/Release/cimguizmo.so + name: cimguizmo.so +- path: build\x64\Release\cimgui.win-x64.dll name: cimgui.win-x64.dll -- path: cimgui\build\x86\Release\cimgui.win-x86.dll +- path: build\x64\Release\cimplot.win-x64.dll + name: cimplot.win-x64.dll +- path: build\x64\Release\cimnodes.win-x64.dll + name: cimnodes.win-x64.dll +- path: build\x64\Release\cimguizmo.win-x64.dll + name: cimguizmo.win-x64.dll +- path: build\x86\Release\cimgui.win-x86.dll name: cimgui.win-x86.dll +- path: build\x86\Release\cimplot.win-x86.dll + name: cimplot.win-x86.dll +- path: build\x86\Release\cimnodes.win-x86.dll + name: cimnodes.win-x86.dll +- path: build\x86\Release\cimguizmo.win-x86.dll + name: cimguizmo.win-x86.dll + deploy: release: $(APPVEYOR_REPO_TAG_NAME) diff --git a/build-native.cmd b/build-native.cmd index a385f47..c6ac694 100644 --- a/build-native.cmd +++ b/build-native.cmd @@ -1,7 +1,7 @@ @setlocal @echo off -set CIMGUI_ROOT=%~dp0cimgui +set SCRIPT_PATH=%~dp0 set BUILD_CONFIG=Debug set BUILD_ARCH=x64 set BUILD_CMAKE_GENERATOR_PLATFORM=x64 @@ -16,7 +16,7 @@ shift goto ArgLoop :Build -pushd %CIMGUI_ROOT% +pushd %SCRIPT_PATH% If NOT exist ".\build\%BUILD_ARCH%" ( mkdir build\%BUILD_ARCH% diff --git a/build-native.sh b/build-native.sh index bcfca9a..928496b 100755 --- a/build-native.sh +++ b/build-native.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash scriptPath="`dirname \"$0\"`" -cimguiPath=$scriptPath/cimgui _CMakeBuildType=Debug @@ -25,8 +24,8 @@ while :; do shift done -mkdir -p $cimguiPath/build/$_CMakeBuildType -pushd $cimguiPath/build/$_CMakeBuildType +mkdir -p $scriptPath/build/$_CMakeBuildType +pushd $scriptPath/build/$_CMakeBuildType cmake ../.. -DCMAKE_BUILD_TYPE=$_CMakeBuildType make popd diff --git a/ci-build.cmd b/ci-build.cmd index 45f3c7c..643f7fa 100644 --- a/ci-build.cmd +++ b/ci-build.cmd @@ -2,6 +2,12 @@ @echo off call %~dp0build-native.cmd Release x64 -copy %~dp0cimgui\build\x64\Release\cimgui.dll %~dp0cimgui\build\x64\Release\cimgui.win-x64.dll +copy %~dp0build\x64\Release\cimgui.dll %~dp0build\x64\Release\cimgui.win-x64.dll +copy %~dp0build\x64\Release\cimplot.dll %~dp0build\x64\Release\cimplot.win-x64.dll +copy %~dp0build\x64\Release\cimnodes.dll %~dp0build\x64\Release\cimnodes.win-x64.dll +copy %~dp0build\x64\Release\cimguizmo.dll %~dp0build\x64\Release\cimguizmo.win-x64.dll call %~dp0build-native.cmd Release x86 -copy %~dp0cimgui\build\x86\Release\cimgui.dll %~dp0cimgui\build\x86\Release\cimgui.win-x86.dll +copy %~dp0build\x86\Release\cimgui.dll %~dp0build\x86\Release\cimgui.win-x86.dll +copy %~dp0build\x86\Release\cimplot.dll %~dp0build\x86\Release\cimplot.win-x86.dll +copy %~dp0build\x86\Release\cimnodes.dll %~dp0build\x86\Release\cimnodes.win-x86.dll +copy %~dp0build\x86\Release\cimguizmo.dll %~dp0build\x86\Release\cimguizmo.win-x86.dll diff --git a/cimgui b/cimgui index 9cb4b4f..ccdae84 160000 --- a/cimgui +++ b/cimgui @@ -1 +1 @@ -Subproject commit 9cb4b4f63cd41508db8b43ad10f131013669ed7d +Subproject commit ccdae842e40f35ebf40167918175deb9af8c2a16 diff --git a/cimguizmo b/cimguizmo new file mode 160000 index 0000000..fcf76e3 --- /dev/null +++ b/cimguizmo @@ -0,0 +1 @@ +Subproject commit fcf76e389ef7e88bcf05340b14d031e1111caf32 diff --git a/cimnodes b/cimnodes new file mode 160000 index 0000000..e7d42e5 --- /dev/null +++ b/cimnodes @@ -0,0 +1 @@ +Subproject commit e7d42e5e8bcd8b7307a8faf6961d64296d3c9408 diff --git a/cimplot b/cimplot new file mode 160000 index 0000000..43e4683 --- /dev/null +++ b/cimplot @@ -0,0 +1 @@ +Subproject commit 43e46831c58c85a16bff1f460121baae2bf7f96c