diff --git a/.github/workflows/.github.yml b/.github/workflows/.github.yml
index 796110fa..2795f59e 100644
--- a/.github/workflows/.github.yml
+++ b/.github/workflows/.github.yml
@@ -24,7 +24,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
with:
- submodules: true
+ submodules: recursive
- name: Checkout steam-runtime
if: startsWith(matrix.os, 'ubuntu')
@@ -64,7 +64,7 @@ jobs:
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.cc, 'gcc')
run: |
schroot --chroot steamrt_scout_i386 -- cmake -B build-vgui -S . -DCMAKE_EXE_LINKER_FLAGS="-Wl,--no-undefined" -DGOLDSOURCE_SUPPORT=ON -DUSE_VGUI=ON -DCMAKE_INSTALL_PREFIX="$PWD/dist-vgui"
- cp vgui-dev/lib/vgui.so build-vgui/cl_dll
+ cp vgui_support/vgui-dev/lib/vgui.so build-vgui/cl_dll
schroot --chroot steamrt_scout_i386 -- cmake --build build-vgui --target all
schroot --chroot steamrt_scout_i386 -- cmake --build build-vgui --target install
diff --git a/.gitmodules b/.gitmodules
index 25dfc145..9510c702 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "vgui-dev"]
- path = vgui-dev
- url = https://github.com/FWGS/vgui-dev
+[submodule "vgui_support"]
+ path = vgui_support
+ url = https://github.com/FWGS/vgui_support
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96b86739..f2dc2940 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,7 +96,7 @@ if(64BIT AND CMAKE_SIZEOF_VOID_P EQUAL 4)
endif()
# Xash3D FWGS Library Naming Scheme compliance
-# see documentation: https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/library-naming.md
+# see documentation: https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/extensions/library-naming.md
include(LibraryNaming)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
diff --git a/cl_dll/CMakeLists.txt b/cl_dll/CMakeLists.txt
index b17e279e..d2f451c5 100644
--- a/cl_dll/CMakeLists.txt
+++ b/cl_dll/CMakeLists.txt
@@ -145,8 +145,8 @@ include_directories (. hl/ ../dlls ../dlls/wpn_shared ../common ../engine ../pm_
if (USE_VGUI)
SET(CMAKE_SKIP_RPATH TRUE)
- link_directories(${CMAKE_SOURCE_DIR}/vgui-dev/lib)
- include_directories(../vgui-dev/include)
+ link_directories(${CMAKE_SOURCE_DIR}/vgui_support/vgui-dev/lib)
+ include_directories(../vgui_support/vgui-dev/include)
else()
include_directories(../utils/false_vgui/include)
endif()
@@ -167,11 +167,11 @@ endif()
if (USE_VGUI)
if (WIN32)
add_library(vgui SHARED IMPORTED)
- set_property(TARGET vgui PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/vgui-dev/lib/win32_vc6/vgui.dll")
- set_property(TARGET vgui PROPERTY IMPORTED_IMPLIB "${CMAKE_SOURCE_DIR}/vgui-dev/lib/win32_vc6/vgui.lib")
+ set_property(TARGET vgui PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/vgui_support/vgui-dev/lib/win32_vc6/vgui.dll")
+ set_property(TARGET vgui PROPERTY IMPORTED_IMPLIB "${CMAKE_SOURCE_DIR}/vgui_support/vgui-dev/lib/win32_vc6/vgui.lib")
target_link_libraries(${CLDLL_LIBRARY} vgui)
elseif(APPLE)
- target_link_libraries(${CLDLL_LIBRARY} "-Wl,--no-undefined -L${CMAKE_SOURCE_DIR}/vgui-dev/lib vgui.dylib")
+ target_link_libraries(${CLDLL_LIBRARY} "-Wl,--no-undefined -L${CMAKE_SOURCE_DIR}/vgui_support/vgui-dev/lib vgui.dylib")
else()
target_link_libraries(${CLDLL_LIBRARY} :vgui.so)
endif()
diff --git a/cmake/LibraryNaming.cmake b/cmake/LibraryNaming.cmake
index ca6fb42e..c97c92f7 100644
--- a/cmake/LibraryNaming.cmake
+++ b/cmake/LibraryNaming.cmake
@@ -38,6 +38,7 @@ check_symbol_exists(XASH_RISCV "build.h" XASH_RISCV)
check_symbol_exists(XASH_RISCV_DOUBLEFP "build.h" XASH_RISCV_DOUBLEFP)
check_symbol_exists(XASH_RISCV_SINGLEFP "build.h" XASH_RISCV_SINGLEFP)
check_symbol_exists(XASH_RISCV_SOFTFP "build.h" XASH_RISCV_SOFTFP)
+check_symbol_exists(XASH_SERENITY "build.h" XASH_SERENITY)
check_symbol_exists(XASH_WIN32 "build.h" XASH_WIN32)
check_symbol_exists(XASH_WIN64 "build.h" XASH_WIN64)
check_symbol_exists(XASH_X86 "build.h" XASH_X86)
@@ -54,10 +55,14 @@ elseif(XASH_NETBSD)
set(BUILDOS "netbsd")
elseif(XASH_OPENBSD)
set(BUILDOS "openbsd")
-elseif(XASH_HAIKU)
- set(BUILDOS "haiku")
elseif(XASH_EMSCRIPTEN)
set(BUILDOS "emscripten")
+elseif(XASH_DOS4GW)
+ set(BUILDOS "DOS4GW")
+elseif(XASH_HAIKU)
+ set(BUILDOS "haiku")
+elseif(XASH_SERENITY)
+ set(BUILDOS "serenityos")
else()
message(SEND_ERROR "Place your operating system name here! If this is a mistake, try to fix conditions above and report a bug")
endif()
diff --git a/public/build.h b/public/build.h
index 3692cf17..5b6bcc36 100644
--- a/public/build.h
+++ b/public/build.h
@@ -75,6 +75,7 @@ For more information, please refer to
#undef XASH_RISCV_DOUBLEFP
#undef XASH_RISCV_SINGLEFP
#undef XASH_RISCV_SOFTFP
+#undef XASH_SERENITY
#undef XASH_WIN32
#undef XASH_WIN64
#undef XASH_X86
@@ -126,6 +127,9 @@ For more information, please refer to
#elif defined __HAIKU__
#define XASH_HAIKU 1
#define XASH_POSIX 1
+#elif defined __serenity__
+ #define XASH_SERENITY 1
+ #define XASH_POSIX 1
#else
#error "Place your operating system name here! If this is a mistake, try to fix conditions above and report a bug"
#endif
diff --git a/scripts/waifulib/library_naming.py b/scripts/waifulib/library_naming.py
index a3929067..44ade2fd 100644
--- a/scripts/waifulib/library_naming.py
+++ b/scripts/waifulib/library_naming.py
@@ -57,6 +57,7 @@ DEFINES = [
'XASH_RISCV_DOUBLEFP',
'XASH_RISCV_SINGLEFP',
'XASH_RISCV_SOFTFP',
+'XASH_SERENITY',
'XASH_WIN32',
'XASH_WIN64',
'XASH_X86',
@@ -89,6 +90,8 @@ def configure(conf):
buildos = "dos4gw" # unused, just in case
elif conf.env.XASH_HAIKU:
buildos = "haiku"
+ elif conf.env.XASH_SERENITY:
+ buildos = "serenityos"
else:
conf.fatal("Place your operating system name in build.h and library_naming.py!\n"
"If this is a mistake, try to fix conditions above and report a bug")
diff --git a/vgui-dev b/vgui-dev
deleted file mode 160000
index 93573075..00000000
--- a/vgui-dev
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 93573075afe885618ea15831e72d44bdacd65bfb
diff --git a/vgui_support b/vgui_support
new file mode 160000
index 00000000..99108598
--- /dev/null
+++ b/vgui_support
@@ -0,0 +1 @@
+Subproject commit 991085982209a1b8eefabae04d842004d4f4fe4f