Skip to content

Commit 6c827b8

Browse files
committed
cleanup: cmake build for glfw imgui
1 parent 2dc2dba commit 6c827b8

File tree

11 files changed

+118
-20
lines changed

11 files changed

+118
-20
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@
3030

3131
imgui.ini
3232
imzero
33+
*.gen.*

dhall/sourceTreeParts.dhall

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@ let imguiBackendGlfw = let dir = "./imgui" in sourceTreePart::{
7171
, global = [
7272
] : List Text
7373
, local = [
74-
, "`pkg-config --static --cflags glfw3`"
74+
, env:PKG_CONFIG_OUTPUT_CFLAGS_GLFW3 as Text
7575
] : List Text
7676
}
7777
, ldflags = {
7878
, global = [
7979
, "-lGL"
80-
, "`pkg-config --static --libs glfw3`"
80+
, env:PKG_CONFIG_OUTPUT_LIBS_GLFW3 as Text
8181
]
8282
}
8383
}
@@ -95,12 +95,12 @@ let imguiFreetype = let dir = "./imgui/misc/freetype" in sourceTreePart::{
9595
, global = [
9696
] : List Text
9797
, local = [
98-
, "`pkg-config --cflags freetype2`"
98+
, env:PKG_CONFIG_OUTPUT_CFLAGS_FREETYPE2 as Text
9999
] : List Text
100100
}
101101
, ldflags = {
102102
, global = [
103-
, "`pkg-config --libs freetype2`"
103+
, env:PKG_CONFIG_OUTPUT_LIBS_FREETYPE2 as Text
104104
] : List Text
105105
}
106106
}
@@ -370,6 +370,7 @@ let skia =
370370
, "${dir}/modified/app.cpp"
371371
, "${dir}/modified/ImGuiLayer.cpp"
372372
, "${dir}/paragraph.cpp"
373+
, "${dir}/cliOptions.cpp"
373374
, "${dir}/setupUI.cpp"
374375
, "${dir}/vectorCmdSkiaRenderer.cpp"
375376
, "${dir}/skiaTracyTracer.cpp"

imgui_glfw/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ imgui_exe
44
imgui.wasm
55
main_go
66
core
7+
build
8+
*.ttf

imgui_glfw/CMakeLists.txt

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# generated using cmakelists.dhall
2+
cmake_minimum_required(VERSION 3.24)
3+
project(imgui_exe)
4+
set(CMAKE_CXX_STANDARD 20)
5+
set(CMAKE_CXX_COMPILER clang++)
6+
7+
add_compile_definitions(IMGUI_ENABLE_FREETYPE)
8+
include_directories("${CMAKE_CURRENT_LIST_DIR}/./imgui"
9+
"${CMAKE_CURRENT_LIST_DIR}/./src/arena/simple")
10+
set(COMPILE_OPTIONS -std=c++20
11+
-O3)
12+
link_libraries(-DNDEBUG
13+
-lGL
14+
-lglfw
15+
-lfreetype)
16+
17+
add_library(imgui OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui.cpp"
18+
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_demo.cpp"
19+
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_draw.cpp"
20+
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_tables.cpp"
21+
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_widgets.cpp")
22+
23+
add_library(imguiBackendGlfw OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_impl_glfw.cpp"
24+
"${CMAKE_CURRENT_LIST_DIR}/./imgui/imgui_impl_opengl3.cpp")
25+
target_compile_options(imguiBackendGlfw PUBLIC )
26+
27+
add_library(imguiFreetype OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imgui/misc/freetype/imgui_freetype.cpp")
28+
target_compile_options(imguiFreetype PUBLIC -I/usr/include/freetype2 -I/usr/include/libpng16)
29+
30+
add_library(render OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/render.cpp")
31+
target_include_directories(render PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src"
32+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot"
33+
"${CMAKE_CURRENT_LIST_DIR}/./imcolortextedit")
34+
35+
add_library(marshalling OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/receive.cpp"
36+
"${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/send.cpp"
37+
"${CMAKE_CURRENT_LIST_DIR}/./src/marshalling/helper.cpp")
38+
target_include_directories(marshalling PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src/marshalling"
39+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot")
40+
41+
add_library(arena OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/arena/simple/simple.cpp")
42+
43+
add_library(widgets OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/common.cpp"
44+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/piemenu.cpp"
45+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/coloredbutton.cpp"
46+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/splitter.cpp")
47+
target_compile_options(widgets PUBLIC -Wno-unused-parameter
48+
-Wno-unused-variable)
49+
50+
add_library(imguiToggle OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle.cpp"
51+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_palette.cpp"
52+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_presets.cpp"
53+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_toggle/imgui_toggle_renderer.cpp")
54+
target_compile_options(imguiToggle PUBLIC -Wno-unused-parameter
55+
-Wno-unused-variable)
56+
57+
add_library(imguiImplot OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot.cpp"
58+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot_demo.cpp"
59+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_implot/implot_items.cpp")
60+
61+
add_library(imguiKnobs OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_knobs/imgui-knobs.cpp")
62+
63+
add_library(imguiCoolbar OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_coolbar/ImCoolbar.cpp")
64+
65+
add_library(imguiFlamegraph OBJECT "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph/imgui_widget_flamegraph.cpp")
66+
target_include_directories(imguiFlamegraph PUBLIC "${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph"
67+
"${CMAKE_CURRENT_LIST_DIR}/./src/widgets/imgui_flamegraph")
68+
69+
add_library(imguiTextedit OBJECT "${CMAKE_CURRENT_LIST_DIR}/./imcolortextedit/TextEditor.cpp")
70+
target_compile_options(imguiTextedit PUBLIC -Wno-unused-variable)
71+
72+
73+
add_library(main OBJECT "${CMAKE_CURRENT_LIST_DIR}/./main.cpp")
74+
add_executable(imgui_exe $<TARGET_OBJECTS:imgui>
75+
$<TARGET_OBJECTS:imguiBackendGlfw>
76+
$<TARGET_OBJECTS:imguiFreetype>
77+
$<TARGET_OBJECTS:render>
78+
$<TARGET_OBJECTS:marshalling>
79+
$<TARGET_OBJECTS:arena>
80+
$<TARGET_OBJECTS:widgets>
81+
$<TARGET_OBJECTS:imguiToggle>
82+
$<TARGET_OBJECTS:imguiImplot>
83+
$<TARGET_OBJECTS:imguiKnobs>
84+
$<TARGET_OBJECTS:imguiCoolbar>
85+
$<TARGET_OBJECTS:imguiFlamegraph>
86+
$<TARGET_OBJECTS:imguiTextedit>
87+
$<TARGET_OBJECTS:main>)
88+

imgui_glfw/adapt_example.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.

imgui_glfw/build_cpp.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
set -ev
33
here=$(dirname "$(readlink -f "$BASH_SOURCE")")
44
cd "$here"
5-
flatc="../../contrib/flatbuffers/flatc"
6-
"$flatc" -o imgui --cpp imgui/vectorCmd.fbs
5+
6+
export PKG_CONFIG_OUTPUT_CFLAGS_FREETYPE2=$(pkg-config --cflags freetype2)
7+
export PKG_CONFIG_OUTPUT_LIBS_FREETYPE2=$(pkg-config --libs freetype2)
8+
export PKG_CONFIG_OUTPUT_CFLAGS_GLFW3=$(pkg-config --cflags glfw3)
9+
export PKG_CONFIG_OUTPUT_LIBS_GLFW3=$(pkg-config --libs glfw3)
710

811
./cmakelists.dhall
912

imgui_glfw/build_go.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
set -ev
3+
here=$(dirname "$(readlink -f "$BASH_SOURCE")")
4+
cd "$here"
5+
rm -f main_go
6+
source tags.sh
7+
go build -tags "$build_tags" -o main_go ../../boxer/public/imzero/main.go

imgui_glfw/cmakelists.dhall

100644100755
File mode changed.

imgui_glfw/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "imgui.h"
33
#include <stdio.h>
44
#include "src/marshalling/casts.h"
5-
#include "render.h"
5+
#include "src/render.h"
66

77

88
#include "imgui_impl_glfw.h"

imgui_glfw/run_pipe.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
set -ev
3+
rm -f transfer
4+
mkfifo transfer
5+
font="./martian/MartianMono-StdRg.ttf"
6+
font="./SauceCodeProNerdFontMono-Regular.ttf"
7+
./main_go --logFormat console demo --mainFontTTF "$font" --mainFontSizeInPixels 13 "$@" < transfer | ./imgui_exe > transfer
8+
rm -f transfer

imgui_glfw/tags.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build_tags=binary_log,spectrum_color_scheme_dark,spectrum_scale_desktop,spectrum_theme_spectrum,spectrum_theme_none,boxer_enable_profiling

0 commit comments

Comments
 (0)