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 39cbd042..ded45203 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 5ef99e5b..3a0032db 100644 --- a/cl_dll/CMakeLists.txt +++ b/cl_dll/CMakeLists.txt @@ -167,8 +167,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() @@ -189,11 +189,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