Skip to content

Commit

Permalink
cleanup: cmake build for glfw imgui
Browse files Browse the repository at this point in the history
  • Loading branch information
stergiotis committed Jun 8, 2024
1 parent 2dc2dba commit 6c827b8
Show file tree
Hide file tree
Showing 11 changed files with 118 additions and 20 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@

imgui.ini
imzero
*.gen.*
9 changes: 5 additions & 4 deletions dhall/sourceTreeParts.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ let imguiBackendGlfw = let dir = "./imgui" in sourceTreePart::{
, global = [
] : List Text
, local = [
, "`pkg-config --static --cflags glfw3`"
, env:PKG_CONFIG_OUTPUT_CFLAGS_GLFW3 as Text
] : List Text
}
, ldflags = {
, global = [
, "-lGL"
, "`pkg-config --static --libs glfw3`"
, env:PKG_CONFIG_OUTPUT_LIBS_GLFW3 as Text
]
}
}
Expand All @@ -95,12 +95,12 @@ let imguiFreetype = let dir = "./imgui/misc/freetype" in sourceTreePart::{
, global = [
] : List Text
, local = [
, "`pkg-config --cflags freetype2`"
, env:PKG_CONFIG_OUTPUT_CFLAGS_FREETYPE2 as Text
] : List Text
}
, ldflags = {
, global = [
, "`pkg-config --libs freetype2`"
, env:PKG_CONFIG_OUTPUT_LIBS_FREETYPE2 as Text
] : List Text
}
}
Expand Down Expand Up @@ -370,6 +370,7 @@ let skia =
, "${dir}/modified/app.cpp"
, "${dir}/modified/ImGuiLayer.cpp"
, "${dir}/paragraph.cpp"
, "${dir}/cliOptions.cpp"
, "${dir}/setupUI.cpp"
, "${dir}/vectorCmdSkiaRenderer.cpp"
, "${dir}/skiaTracyTracer.cpp"
Expand Down
2 changes: 2 additions & 0 deletions imgui_glfw/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ imgui_exe
imgui.wasm
main_go
core
build
*.ttf
88 changes: 88 additions & 0 deletions imgui_glfw/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# generated using cmakelists.dhall
cmake_minimum_required(VERSION 3.24)
project(imgui_exe)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_COMPILER clang++)

add_compile_definitions(IMGUI_ENABLE_FREETYPE)
include_directories("${CMAKE_CURRENT_LIST_DIR}/./imgui"
"${CMAKE_CURRENT_LIST_DIR}/./src/arena/simple")
set(COMPILE_OPTIONS -std=c++20
-O3)
link_libraries(-DNDEBUG
-lGL
-lglfw
-lfreetype)

add_library(imgui OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_demo.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_draw.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_tables.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_widgets.cpp")

add_library(imguiBackendGlfw OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_impl_glfw.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_impl_opengl3.cpp")
target_compile_options(imguiBackendGlfw PUBLIC )

add_library(imguiFreetype OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/misc/freetype/imgui_freetype.cpp")
target_compile_options(imguiFreetype PUBLIC -I/usr/include/freetype2 -I/usr/include/libpng16)

add_library(render OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/render.cpp")
target_include_directories(render PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot"
"${CMAKE_CURRENT_LIST_DIR}/./imcolortextedit")

add_library(marshalling OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/receive.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/send.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/helper.cpp")
target_include_directories(marshalling PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src/marshalling"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot")

add_library(arena OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/arena/simple/simple.cpp")

add_library(widgets OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/common.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/piemenu.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/coloredbutton.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/splitter.cpp")
target_compile_options(widgets PUBLIC -Wno-unused-parameter
-Wno-unused-variable)

add_library(imguiToggle OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_palette.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_presets.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_renderer.cpp")
target_compile_options(imguiToggle PUBLIC -Wno-unused-parameter
-Wno-unused-variable)

add_library(imguiImplot OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot_demo.cpp"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot_items.cpp")

add_library(imguiKnobs OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_knobs/imgui-knobs.cpp")

add_library(imguiCoolbar OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_coolbar/ImCoolbar.cpp")

add_library(imguiFlamegraph OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph/imgui_widget_flamegraph.cpp")
target_include_directories(imguiFlamegraph PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph"
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph")

add_library(imguiTextedit OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imcolortextedit/TextEditor.cpp")
target_compile_options(imguiTextedit PUBLIC -Wno-unused-variable)


add_library(main OBJECT "${CMAKE_CURRENT_LIST_DIR}/./main.cpp")
add_executable(imgui_exe $<TARGET_OBJECTS:imgui>
$<TARGET_OBJECTS:imguiBackendGlfw>
$<TARGET_OBJECTS:imguiFreetype>
$<TARGET_OBJECTS:render>
$<TARGET_OBJECTS:marshalling>
$<TARGET_OBJECTS:arena>
$<TARGET_OBJECTS:widgets>
$<TARGET_OBJECTS:imguiToggle>
$<TARGET_OBJECTS:imguiImplot>
$<TARGET_OBJECTS:imguiKnobs>
$<TARGET_OBJECTS:imguiCoolbar>
$<TARGET_OBJECTS:imguiFlamegraph>
$<TARGET_OBJECTS:imguiTextedit>
$<TARGET_OBJECTS:main>)

13 changes: 0 additions & 13 deletions imgui_glfw/adapt_example.sh

This file was deleted.

7 changes: 5 additions & 2 deletions imgui_glfw/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@
set -ev
here=$(dirname "$(readlink -f "$BASH_SOURCE")")
cd "$here"
flatc="../../contrib/flatbuffers/flatc"
"$flatc" -o imgui --cpp imgui/vectorCmd.fbs

export PKG_CONFIG_OUTPUT_CFLAGS_FREETYPE2=$(pkg-config --cflags freetype2)
export PKG_CONFIG_OUTPUT_LIBS_FREETYPE2=$(pkg-config --libs freetype2)
export PKG_CONFIG_OUTPUT_CFLAGS_GLFW3=$(pkg-config --cflags glfw3)
export PKG_CONFIG_OUTPUT_LIBS_GLFW3=$(pkg-config --libs glfw3)

./cmakelists.dhall

Expand Down
7 changes: 7 additions & 0 deletions imgui_glfw/build_go.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
set -ev
here=$(dirname "$(readlink -f "$BASH_SOURCE")")
cd "$here"
rm -f main_go
source tags.sh
go build -tags "$build_tags" -o main_go ../../boxer/public/imzero/main.go
Empty file modified imgui_glfw/cmakelists.dhall
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion imgui_glfw/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "imgui.h"
#include <stdio.h>
#include "src/marshalling/casts.h"
#include "render.h"
#include "src/render.h"


#include "imgui_impl_glfw.h"
Expand Down
8 changes: 8 additions & 0 deletions imgui_glfw/run_pipe.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -ev
rm -f transfer
mkfifo transfer
font="./martian/MartianMono-StdRg.ttf"
font="./SauceCodeProNerdFontMono-Regular.ttf"
./main_go --logFormat console demo --mainFontTTF "$font" --mainFontSizeInPixels 13 "$@" < transfer | ./imgui_exe > transfer
rm -f transfer
1 change: 1 addition & 0 deletions imgui_glfw/tags.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build_tags=binary_log,spectrum_color_scheme_dark,spectrum_scale_desktop,spectrum_theme_spectrum,spectrum_theme_none,boxer_enable_profiling

0 comments on commit 6c827b8

Please sign in to comment.