Skip to content

Commit 01278ca

Browse files
committed
feat: windows build works (release, opengl, directwrite)
1 parent edeff8e commit 01278ca

File tree

8 files changed

+8772
-8793
lines changed

8 files changed

+8772
-8793
lines changed

imgui_skia/CMakeLists.txt

Lines changed: 134 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,135 +1,134 @@
1-
# generated using cmakelists.dhall
2-
cmake_minimum_required(VERSION 3.24)
3-
project(imgui_skia)
4-
set(CMAKE_LINKER clang++)
5-
set(CMAKE_CXX_COMPILER clang++)
6-
set(CMAKE_BUILD_TYPE Release)
7-
8-
add_compile_definitions(MESA_EGL_NO_X11_HEADERS
9-
NOMINMAX
10-
NDEBUG
11-
SK_CODEC_DECODES_BMP
12-
SK_CODEC_DECODES_WBMP
13-
SKIA_DLL
14-
SK_ENABLE_PRECOMPILE
15-
SK_GANESH
16-
SK_DISABLE_TRACING
17-
SK_GAMMA_APPLY_TO_A8
18-
SK_ENABLE_AVX512_OPTS
19-
SKIA_IMPLEMENTATION=1
20-
SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE
21-
SK_TYPEFACE_FACTORY_FREETYPE
22-
SK_FONTMGR_FREETYPE_EMBEDDED_AVAILABLE
23-
SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE
24-
SK_TYPEFACE_FACTORY_DIRECTWRITE
25-
SK_FONTMGR_DIRECTWRITE_AVAILABLE
26-
SK_FONTMGR_GDI_AVAILABLE
27-
SK_GL
28-
SK_CODEC_ENCODES_JPEG
29-
SK_SUPPORT_PDF
30-
SK_CODEC_DECODES_JPEG
31-
SK_CODEC_ENCODES_PNG
32-
SK_CODEC_ENCODES_PNG_WITH_LIBPNG
33-
SK_CODEC_ENCODES_WEBP
34-
SK_SUPPORT_XPS
35-
SK_CODEC_DECODES_ICO
36-
SK_CODEC_DECODES_PNG
37-
SK_CODEC_DECODES_PNG_WITH_LIBPNG
38-
SK_CODEC_DECODES_RAW
39-
SK_CODEC_DECODES_WEBP
40-
SK_HAS_WUFFS_LIBRARY
41-
SK_CODEC_DECODES_GIF
42-
SK_XML
43-
SK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE
44-
_HAS_AUTO_PTR_ETC
45-
)
46-
include_directories(/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/flatbuffers/include
47-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip
48-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl
49-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/sdl/include
50-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/skia
51-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl
52-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/tracy/public
53-
)
54-
add_compile_options(-std=c++20
55-
-Wall
56-
-Wformat
57-
-Wextra
58-
-Wno-unused-parameter
59-
-fno-omit-frame-pointer
60-
-O3
61-
# skiaShared
62-
-funwind-tables
63-
-ffp-contract=off
64-
-fstrict-aliasing
65-
-fvisibility=hidden
66-
-fdata-sections
67-
-ffunction-sections
68-
-fvisibility-inlines-hidden
69-
-fno-exceptions
70-
-fno-rtti
71-
)
72-
link_libraries(-DNDEBUG
73-
# sdl3Shared
74-
-L/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/sdl/build
75-
-lSDL3-static
76-
-lwinmm
77-
-limm32
78-
-lole32
79-
-loleaut32
80-
-lversion
81-
-luuid
82-
-ladvapi32
83-
-lsetupapi
84-
-lshell32
85-
-ldinput8
86-
# skiaShared
87-
-L/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/skia/out/Static
88-
-lskparagraph
89-
-lskia
90-
-lskunicode_core
91-
-lskunicode_icu
92-
-lbentleyottmann
93-
-lskshaper
94-
-lOpenGL32
95-
)
96-
97-
# empty target systemFlags
98-
99-
# empty target flatbuffers
100-
101-
# begin imguiWithHooks1919Wip
102-
add_library(imguiWithHooks1919Wip STATIC /data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui.cpp
103-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_demo.cpp
104-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_draw.cpp
105-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_tables.cpp
106-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_widgets.cpp
107-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_impl_sdl3.cpp
108-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_impl_sdl3.cpp)
109-
# end imguiWithHooks1919Wip
110-
111-
# begin imguiSkiaImpl
112-
add_library(imguiSkiaImpl STATIC /data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_extensions.cpp
113-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_hooks_impl.cpp
114-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_imzero_cmd_render.cpp
115-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_paragraph.cpp
116-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_setup_ui.cpp
117-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_tracy_support.cpp)
118-
# end imguiSkiaImpl
119-
120-
# empty target sdl3Shared
121-
122-
# empty target skiaShared
123-
124-
# begin imguiSkiaDriverImpl
125-
add_library(imguiSkiaDriverImpl STATIC /data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl/imgui_skia_app_sdl3.cpp
126-
/data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl/imgui_skia_cli_options.cpp)
127-
# end imguiSkiaDriverImpl
128-
129-
# begin tracyDisabled
130-
add_library(tracyDisabled STATIC /data/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/tracy/public/TracyClient.cpp)
131-
# end tracyDisabled
132-
add_library(imgui_skia STATIC $<TARGET_OBJECTS:imguiWithHooks1919Wip>
133-
$<TARGET_OBJECTS:imguiSkiaImpl>
134-
$<TARGET_OBJECTS:imguiSkiaDriverImpl>
135-
$<TARGET_OBJECTS:tracyDisabled>)
1+
# generated using cmakelists.dhall
2+
cmake_minimum_required(VERSION 3.24)
3+
project(imgui_skia)
4+
set(CMAKE_LINKER clang++)
5+
set(CMAKE_CXX_COMPILER clang++)
6+
set(CMAKE_BUILD_TYPE Release)
7+
8+
add_compile_definitions(_CRT_SECURE_NO_WARNINGS
9+
_HAS_EXCEPTIONS=0
10+
WIN32_LEAN_AND_MEAN
11+
NOMINMAX
12+
NDEBUG
13+
SK_CODEC_DECODES_BMP
14+
SK_CODEC_DECODES_WBMP
15+
SK_ENABLE_PRECOMPILE
16+
SK_GANESH
17+
SK_DISABLE_TRACING
18+
SK_GAMMA_APPLY_TO_A8
19+
SK_ENABLE_AVX512_OPTS
20+
SKIA_IMPLEMENTATION=1
21+
SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE
22+
SK_TYPEFACE_FACTORY_FREETYPE
23+
SK_FONTMGR_FREETYPE_EMBEDDED_AVAILABLE
24+
SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE
25+
SK_TYPEFACE_FACTORY_DIRECTWRITE
26+
SK_FONTMGR_DIRECTWRITE_AVAILABLE
27+
SK_FONTMGR_GDI_AVAILABLE
28+
SK_GL
29+
SK_CODEC_ENCODES_JPEG
30+
SK_SUPPORT_PDF
31+
SK_CODEC_DECODES_JPEG
32+
SK_CODEC_ENCODES_PNG
33+
SK_CODEC_ENCODES_PNG_WITH_LIBPNG
34+
SK_CODEC_ENCODES_WEBP
35+
SK_SUPPORT_XPS
36+
SK_CODEC_DECODES_ICO
37+
SK_CODEC_DECODES_PNG
38+
SK_CODEC_DECODES_PNG_WITH_LIBPNG
39+
SK_CODEC_DECODES_RAW
40+
SK_CODEC_DECODES_WEBP
41+
SK_HAS_WUFFS_LIBRARY
42+
SK_CODEC_DECODES_GIF
43+
SK_XML
44+
)
45+
include_directories(C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/flatbuffers/include
46+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip
47+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl
48+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/sdl/include
49+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/skia
50+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl
51+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/tracy/public
52+
)
53+
add_compile_options(-std=c++20
54+
-Wall
55+
-Wformat
56+
-Wextra
57+
-Wno-unused-parameter
58+
-fno-omit-frame-pointer
59+
-O3
60+
# skiaShared
61+
-funwind-tables
62+
-ffp-contract=off
63+
-fstrict-aliasing
64+
-fvisibility=hidden
65+
-fdata-sections
66+
-ffunction-sections
67+
-fvisibility-inlines-hidden
68+
-fno-exceptions
69+
-fno-rtti
70+
)
71+
link_libraries(-DNDEBUG
72+
# sdl3Shared
73+
-LC:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/sdl/build
74+
-lSDL3-static
75+
-lwinmm
76+
-limm32
77+
-lole32
78+
-loleaut32
79+
-lversion
80+
-luuid
81+
-ladvapi32
82+
-lsetupapi
83+
-lshell32
84+
-ldinput8
85+
# skiaShared
86+
-LC:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/skia/out/Static
87+
-lskparagraph
88+
-lskia
89+
-lskunicode_core
90+
-lskunicode_icu
91+
-lbentleyottmann
92+
-lskshaper
93+
-lOpenGL32
94+
)
95+
96+
# empty target systemFlags
97+
98+
# empty target flatbuffers
99+
100+
# begin imguiWithHooks1919Wip
101+
add_library(imguiWithHooks1919Wip STATIC C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui.cpp
102+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_demo.cpp
103+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_draw.cpp
104+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_tables.cpp
105+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_widgets.cpp
106+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_impl_sdl3.cpp
107+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_w_hooks_1.91.9_wip/imgui_impl_sdl3.cpp)
108+
# end imguiWithHooks1919Wip
109+
110+
# begin imguiSkiaImpl
111+
add_library(imguiSkiaImpl STATIC C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_extensions.cpp
112+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_hooks_impl.cpp
113+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_imzero_cmd_render.cpp
114+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_paragraph.cpp
115+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_setup_ui.cpp
116+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_impl/imgui_skia_tracy_support.cpp)
117+
# end imguiSkiaImpl
118+
119+
# empty target sdl3Shared
120+
121+
# empty target skiaShared
122+
123+
# begin imguiSkiaDriverImpl
124+
add_library(imguiSkiaDriverImpl STATIC C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl/imgui_skia_app_sdl3.cpp
125+
C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./imgui_skia_driver_impl/imgui_skia_cli_options.cpp)
126+
# end imguiSkiaDriverImpl
127+
128+
# begin tracyDisabled
129+
add_library(tracyDisabled STATIC C:/Users/User/repo/imzero_client_cpp/imgui_skia/../imgui_skia/./../../contrib/tracy/public/TracyClient.cpp)
130+
# end tracyDisabled
131+
add_library(imgui_skia STATIC $<TARGET_OBJECTS:imguiWithHooks1919Wip>
132+
$<TARGET_OBJECTS:imguiSkiaImpl>
133+
$<TARGET_OBJECTS:imguiSkiaDriverImpl>
134+
$<TARGET_OBJECTS:tracyDisabled>)

imgui_skia/build_skia_windows.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#!/bin/bash
22
set -ev
33
here=$(dirname "$(readlink -f "$BASH_SOURCE")")
4+
"$here/patch_skia_m134.sh"
45

56
cd "$here/../../contrib/skia"
6-
pwd
77
export GIT_SYNC_DEPS_SKIP_EMSDK="true"
88
python tools/git-sync-deps
99

@@ -63,7 +63,7 @@ cat > out/Static/args.gn <<- EOF
6363
skia_enable_sksl_tracing=false
6464
skia_enable_skunicode=true
6565
skia_enable_spirv_validation=false
66-
skia_enable_svg=false
66+
skia_enable_svg=true
6767
skia_enable_tools=false
6868
skia_enable_vello_shaders=false
6969
skia_enable_vulkan_debug_layers=false

0 commit comments

Comments
 (0)