Skip to content

Commit ed27969

Browse files
committed
libwolv is now fetched dynamically.
1 parent 3722c75 commit ed27969

5 files changed

Lines changed: 113 additions & 77 deletions

File tree

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
[submodule "dep/imhex"]
22
path = dep/imhex
33
url = https://github.com/davidgiven/ImHex.git
4-
[submodule "dep/libwolv"]
5-
path = dep/libwolv
6-
url = https://github.com/WerWolv/libwolv.git
74
[submodule "dep/imgui"]
85
path = dep/imgui
96
url = https://github.com/ocornut/imgui.git

dep/build.py

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,3 +595,110 @@
595595
)
596596
],
597597
)
598+
599+
# All this is libwolv.
600+
601+
git_repository(
602+
name="libwolv_repo",
603+
url="https://github.com/WerWolv/libwolv",
604+
branch="master",
605+
path="dep/r/libwolv",
606+
)
607+
608+
cxxlibrary(
609+
name="libwolv_core",
610+
srcs=[
611+
"dep/r/libwolv/libs/io/source/io/file.cpp",
612+
"dep/r/libwolv/libs/io/source/io/fs.cpp",
613+
"dep/r/libwolv/libs/io/source/io/handle.cpp",
614+
"dep/r/libwolv/libs/math_eval/source/math_eval/math_evaluator.cpp",
615+
"dep/r/libwolv/libs/net/source/net/common.cpp",
616+
"dep/r/libwolv/libs/net/source/net/socket_client.cpp",
617+
"dep/r/libwolv/libs/net/source/net/socket_server.cpp",
618+
"dep/r/libwolv/libs/utils/source/utils/string.cpp",
619+
],
620+
hdrs=(
621+
{"jthread.hpp": "./jthread.hpp"}
622+
| {
623+
f: f"dep/r/libwolv/libs/types/include/{f}"
624+
for f in [
625+
"wolv/literals.hpp",
626+
"wolv/concepts.hpp",
627+
"wolv/types.hpp",
628+
"wolv/types/uintwide_t.h",
629+
"wolv/types/type_name.hpp",
630+
"wolv/types/static_string.hpp",
631+
]
632+
}
633+
| {
634+
f: f"dep/r/libwolv/libs/utils/include/{f}"
635+
for f in [
636+
"wolv/utils/expected.hpp",
637+
"wolv/utils/thread_pool.hpp",
638+
"wolv/utils/string.hpp",
639+
"wolv/utils/preproc.hpp",
640+
"wolv/utils/lock.hpp",
641+
"wolv/utils/guards.hpp",
642+
"wolv/utils/core.hpp",
643+
]
644+
}
645+
| {
646+
f: f"dep/r/libwolv/libs/math_eval/include/{f}"
647+
for f in ["wolv/math_eval/math_evaluator.hpp"]
648+
}
649+
| {
650+
f: f"dep/r/libwolv/libs/containers/include/{f}"
651+
for f in [
652+
"wolv/container/lazy.hpp",
653+
"wolv/container/ring_buffer.hpp",
654+
"wolv/container/interval_tree.hpp",
655+
]
656+
}
657+
| {
658+
f: f"dep/r/libwolv/libs/io/include/{f}"
659+
for f in [
660+
"wolv/io/buffered_reader.hpp",
661+
"wolv/io/file.hpp",
662+
"wolv/io/fs.hpp",
663+
"wolv/io/handle.hpp",
664+
]
665+
}
666+
| {
667+
f: f"dep/r/libwolv/libs/hash/include/{f}"
668+
for f in [
669+
"wolv/hash/crc.hpp",
670+
"wolv/hash/uuid.hpp",
671+
]
672+
}
673+
| {
674+
f: f"dep/r/libwolv/libs/net/include/{f}"
675+
for f in [
676+
"wolv/net/common.hpp",
677+
"wolv/net/socket_client.hpp",
678+
"wolv/net/socket_server.hpp",
679+
]
680+
}
681+
),
682+
deps=[".+libwolv_repo"],
683+
)
684+
685+
if config.osx:
686+
clibrary(
687+
name="libwolv_lib",
688+
srcs=[
689+
"dep/r/libwolv/libs/io/source/io/fs_macos.m",
690+
],
691+
deps=[".+libwolv_core"],
692+
)
693+
elif config.windows:
694+
cxxlibrary(
695+
name="libwolv_lib",
696+
srcs=["dep/r/libwolv/libs/io/source/io/file_win.cpp"],
697+
deps=[".+libwolv_core"],
698+
)
699+
else:
700+
cxxlibrary(
701+
name="libwolv_lib",
702+
srcs=["dep/r/libwolv/libs/io/source/io/file_unix.cpp"],
703+
deps=[".+libwolv_core"],
704+
)

dep/libwolv

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/gui2/build.py

Lines changed: 6 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -80,68 +80,6 @@ def sources_from(path, except_for=[]):
8080
deps=["dep+fmt_lib"],
8181
)
8282

83-
if config.osx:
84-
clibrary(
85-
name="libwolv-io-fs",
86-
srcs=[
87-
"dep/libwolv/libs/io/source/io/fs_macos.m",
88-
],
89-
cflags=cflags,
90-
)
91-
elif config.windows:
92-
cxxlibrary(
93-
name="libwolv-io-fs",
94-
srcs=["dep/libwolv/libs/io/source/io/file_win.cpp"],
95-
hdrs=(
96-
headers_from("dep/libwolv/libs/io/include")
97-
| headers_from("dep/libwolv/libs/types/include")
98-
| headers_from("dep/libwolv/libs/utils/include")
99-
),
100-
cflags=cflags,
101-
)
102-
else:
103-
cxxlibrary(
104-
name="libwolv-io-fs",
105-
srcs=[],
106-
cflags=cflags,
107-
)
108-
109-
wolv_modules = [
110-
"types",
111-
"io",
112-
"utils",
113-
"containers",
114-
"hash",
115-
"math_eval",
116-
"net",
117-
]
118-
cxxlibrary(
119-
name="libwolv",
120-
srcs=(
121-
[
122-
"dep/libwolv/libs/io/source/io/file.cpp",
123-
"dep/libwolv/libs/io/source/io/fs.cpp",
124-
"dep/libwolv/libs/io/source/io/handle.cpp",
125-
"dep/libwolv/libs/math_eval/source/math_eval/math_evaluator.cpp",
126-
"dep/libwolv/libs/utils/source/utils/string.cpp",
127-
]
128-
+ sources_from("dep/libwolv/libs/net/source")
129-
+ (
130-
["dep/libwolv/libs/io/source/io/file_unix.cpp"]
131-
if config.osx or config.unix
132-
else []
133-
)
134-
),
135-
hdrs=reduce(
136-
operator.ior,
137-
[headers_from(f"dep/libwolv/libs/{d}/include") for d in wolv_modules],
138-
)
139-
| {
140-
"types/uintwide_t.h": "dep/libwolv/libs/types/include/wolv/types/uintwide_t.h"
141-
},
142-
deps=[".+libwolv-io-fs"],
143-
cflags=cflags,
144-
)
14583

14684
cxxlibrary(
14785
name="libpl",
@@ -154,17 +92,13 @@ def sources_from(path, except_for=[]):
15492
),
15593
deps=[
15694
"dep+libthrowingptr",
157-
".+libwolv",
95+
"dep+libwolv_lib",
15896
"dep+fmt_lib",
15997
"dep+cli11_lib",
16098
"dep+nlohmannjson_lib",
16199
],
162100
)
163101

164-
cxxlibrary(
165-
name="hacks", srcs=[], hdrs={"jthread.hpp": "./imhex_overrides/jthread.hpp"}
166-
)
167-
168102
clibrary(
169103
name="libmicrotar",
170104
srcs=sources_from("dep/imhex/lib/third_party/microtar/source"),
@@ -190,7 +124,7 @@ def sources_from(path, except_for=[]):
190124
srcs=["dep/imhex/lib/libimhex/source/helpers/utils_linux.cpp"],
191125
hdrs=headers_from("dep/imhex/lib/libimhex/include"),
192126
cflags=cflags,
193-
deps=[".+libwolv", "dep+fmt_lib"],
127+
deps=["dep+libwolv_lib", "dep+fmt_lib"],
194128
)
195129

196130
cxxlibrary(
@@ -231,15 +165,14 @@ def sources_from(path, except_for=[]):
231165
cflags=cflags,
232166
deps=[
233167
".+glfw3_lib",
234-
".+hacks",
235168
".+imgui",
236169
".+libcurl_lib",
237170
".+libimhex-utils",
238171
".+libmicrotar",
239172
".+libpl",
240-
".+libwolv",
241173
".+magic_lib",
242174
".+mbedtls_lib",
175+
"dep+libwolv_lib",
243176
"dep+nativefiledialog_lib",
244177
"dep+xdgpp_lib",
245178
],
@@ -372,12 +305,12 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps):
372305
hdrs=headers_from("dep/imhex/plugins/builtin/include"),
373306
romfsdir="dep/imhex/plugins/builtin/romfs",
374307
deps=[
308+
".+fonts-plugin",
375309
".+libimhex",
376-
".+libtrace",
377310
".+libpl",
378-
".+libwolv",
311+
".+libtrace",
379312
".+ui-plugin",
380-
".+fonts-plugin",
313+
"dep+libwolv_lib",
381314
"dep/imhex/plugins/builtin/source/content/ui_items.cpp",
382315
],
383316
)

0 commit comments

Comments
 (0)