replaced imgui with cimgui shared lib to use with c# bindings

This commit is contained in:
2025-04-29 02:37:15 +05:00
parent 72f47c297e
commit d5531ce370
12 changed files with 67 additions and 43 deletions

1
dependencies/cimgui vendored Submodule

Submodule dependencies/cimgui added at 5ba6ea3fc0

22
dependencies/cimgui.config vendored Normal file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
DEP_WORKING_DIR='dependencies/cimgui'
DEP_PRE_BUILD_COMMAND=''
if [[ "$TASK" = *_dbg ]]; then
DEP_BUILD_COMMAND='cbuild -c ../cimgui.project.config build_shared_lib_dbg'
else
DEP_BUILD_COMMAND='cbuild -c ../cimgui.project.config build_shared_lib'
fi
DEP_POST_BUILD_COMMAND='rm -f cbuild.log'
DEP_CLEAN_COMMAND='cbuild clean -c ../cimgui.project.config'
DEP_STATIC_OUT_FILES=''
case $OS in
WINDOWS)
DEP_DYNAMIC_OUT_FILES="../bin/cimgui.dll"
;;
LINUX)
DEP_DYNAMIC_OUT_FILES="../bin/cimgui.so"
;;
*)
error "operating system $OS has no configuration variants"
;;
esac

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash
CBUILD_VERSION=2.1.2
CBUILD_VERSION=2.2.1
CONFIG_VERSION=1
PROJECT="imgui"
PROJECT="cimgui"
CMP_C="gcc"
CMP_CPP="g++"
STD_C="c11"
@@ -10,13 +10,14 @@ STD_CPP="c++11"
WARN_C="-Wall -Wno-discarded-qualifiers -Wno-unused-parameter"
WARN_CPP="-Wall -Wno-unused-parameter"
SRC_C=""
SRC_CPP="imgui.cpp
imgui_demo.cpp
imgui_draw.cpp
imgui_tables.cpp
imgui_widgets.cpp
backends/imgui_impl_sdl2.cpp
backends/imgui_impl_sdlrenderer2.cpp"
SRC_CPP="imgui/imgui.cpp
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
imgui/backends/imgui_impl_sdl2.cpp
imgui/backends/imgui_impl_sdlrenderer2.cpp
cimgui.cpp"
# Directory with dependency configs.
# See cbuild/example_dependency_configs
@@ -31,20 +32,22 @@ ENABLED_DEPENDENCIES=''
# └── profile/ - gcc *.gcda profiling info files
OBJDIR="../obj"
OUTDIR="../bin"
STATIC_LIB_FILE="lib$PROJECT.a"
# header include directories
INCLUDE="-I. -I../include/SDL2"
INCLUDE="-I. -I./imgui -I../include/SDL2"
STATIC_LIB_FILE="$PROJECT.a"
# OS-specific options
case "$OS" in
WINDOWS)
EXEC_FILE="$PROJECT.exe"
SHARED_LIB_FILE="lib$PROJECT.dll"
SHARED_LIB_FILE="$PROJECT.dll"
LINKER_LIBS="-L../precompiled/$OS-$ARCH -l:SDL2.dll"
DEFINE="-DIMGUI_API=__declspec(dllexport)"
;;
LINUX)
EXEC_FILE="$PROJECT"
SHARED_LIB_FILE="lib$PROJECT.so"
SHARED_LIB_FILE="$PROJECT.so"
LINKER_LIBS="-lSDL2"
DEFINE="-DIMGUI_API=__attribute__((__visibility__(\"default\")))"
;;
*)
error "operating system $OS has no configuration variants"
@@ -55,25 +58,25 @@ esac
case "$TASK" in
# creates shared library
build_shared_lib)
C_ARGS="-O2 -fpic -flto -shared"
C_ARGS="-O2 -fpic -shared $DEFINE"
CPP_ARGS="$C_ARGS"
LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE"
LINKER_ARGS="$CPP_ARGS $LINKER_LIBS -Wl,-soname,$SHARED_LIB_FILE"
PRE_TASK_SCRIPT=
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
POST_TASK_SCRIPT=
;;
# creates shared library with debug symbols and no optimizations
build_shared_lib_dbg)
C_ARGS="-O0 -g3 -fpic -shared"
C_ARGS="-O0 -g3 -fpic -shared $DEFINE"
CPP_ARGS="$C_ARGS"
LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE"
LINKER_ARGS="$CPP_ARGS $LINKER_LIBS -Wl,-soname,$SHARED_LIB_FILE"
PRE_TASK_SCRIPT=
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
POST_TASK_SCRIPT=
;;
# creates static library
build_static_lib)
C_ARGS="-O2"
C_ARGS="-O2 $DEFINE"
CPP_ARGS="$C_ARGS"
PRE_TASK_SCRIPT=
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh
@@ -81,7 +84,7 @@ case "$TASK" in
;;
# creates static library with debug symbols and no optimizations
build_static_lib_dbg)
C_ARGS="-O0 -g3"
C_ARGS="-O0 -g3 $DEFINE"
CPP_ARGS="$C_ARGS"
PRE_TASK_SCRIPT=
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh

1
dependencies/imgui vendored

Submodule dependencies/imgui deleted from 7b6314f47d

View File

@@ -1,12 +0,0 @@
#!/usr/bin/env bash
DEP_WORKING_DIR='dependencies/imgui'
DEP_PRE_BUILD_COMMAND=''
if [[ "$TASK" = *_dbg ]]; then
DEP_BUILD_COMMAND='cbuild -c ../imgui.project.config build_static_lib_dbg'
else
DEP_BUILD_COMMAND='cbuild -c ../imgui.project.config build_static_lib'
fi
DEP_POST_BUILD_COMMAND=''
DEP_CLEAN_COMMAND='cbuild clean -c ../imgui.project.config'
DEP_STATIC_OUT_FILES='../bin/libimgui.a'
DEP_DYNAMIC_OUT_FILES=''

View File

@@ -6,4 +6,7 @@ if [[ "$TASK" = *_dbg ]]; then
fi
DEP_BUILD_COMMAND=$"dotnet build src-csharp.sln -o bin -c $CS_CONFIGURATION"
DEP_CLEAN_COMMAND='rm -rf bin obj'
DEP_OTHER_OUT_FILES='bin/Ougge.dll'
DEP_OTHER_OUT_FILES='bin/Ougge.dll
bin/Tomlyn.dll
bin/Hexa.NET.ImGui.dll
bin/HexaGen.Runtime.dll'