@@ -21,6 +21,11 @@ set(SOURCES
21
21
Embed/webembed.cpp
22
22
)
23
23
24
+ set (EMBED
25
+ "Embed/webcontentview.h"
26
+ "Embed/webembed.h"
27
+ )
28
+
24
29
add_library (webembed ${SOURCES} )
25
30
26
31
set (DEPS ${GTK4_LIBRARIES} LibCore LibFileSystem LibGfx LibGUI LibIPC LibJS LibMain LibWeb LibWebView LibSQL LibWebSocket LibCrypto LibGemini LibHTTP LibTLS LibDiff)
@@ -42,4 +47,55 @@ add_subdirectory(SQLServer)
42
47
add_subdirectory (WebContent)
43
48
add_subdirectory (WebDriver)
44
49
45
- add_dependencies (webembed SQLServer WebContent WebDriver)
50
+ add_dependencies (webembed SQLServer WebContent WebDriver)
51
+
52
+ # Loosely inspired by HarfBuzz's Build System
53
+ # Licensed under the "Old" MIT License
54
+ set (INTROSPECTION ON )
55
+ if (INTROSPECTION)
56
+ find_package (PkgConfig)
57
+ pkg_check_modules(GOBJECT_INTROSPECTION QUIET gobject-introspection-1.0)
58
+
59
+ find_program (G_IR_SCANNER g-ir-scanner
60
+ HINTS ${PC_g_ir_scanner}
61
+ )
62
+
63
+ find_program (G_IR_COMPILER g-ir-compiler
64
+ HINTS ${PC_g_ir_compiler}
65
+ )
66
+
67
+ set (G_IR_SCANNER_CMD "${G_IR_SCANNER} " )
68
+ set (web_libpath "$<TARGET_FILE_DIR:webembed>" )
69
+
70
+ add_custom_command (
71
+ TARGET webembed
72
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
73
+ POST_BUILD
74
+ COMMAND ${G_IR_SCANNER_CMD}
75
+ --warn-all --no -libtool --verbose
76
+ --namespace=Web
77
+ --nsversion=0.0
78
+ --identifier-prefix =Web
79
+ --symbol-prefix =web_
80
+ --include GObject-2.0
81
+ --include Gtk-4.0
82
+ --pkg-export=webembed
83
+ --library=webembed
84
+ -L${web_libpath}
85
+ ${GTK4_CFLAGS}
86
+ ${EMBED}
87
+ -o ${web_libpath} /Web-0.0.gir
88
+ DEPENDS webembed
89
+ )
90
+
91
+ add_custom_command (
92
+ TARGET webembed
93
+ POST_BUILD
94
+ COMMAND "${G_IR_COMPILER} "
95
+ --verbose --debug
96
+ --includedir ${CMAKE_CURRENT_BINARY_DIR}
97
+ ${web_libpath} /Web-0.0.gir
98
+ -o ${web_libpath} /Web-0.0.typelib
99
+ DEPENDS ${web_libpath} /Web-0.0.gir webembed
100
+ )
101
+ endif ()
0 commit comments