diff --git a/.gitmodules b/.gitmodules index 37e6d1ec..6265380b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,3 +26,6 @@ [submodule "ref/vcpkg"] path = ref/vcpkg url = https://github.com/microsoft/vcpkg.git +[submodule "ref/tgui"] + path = ref/tgui + url = https://github.com/texus/TGUI diff --git a/CMakeLists.txt b/CMakeLists.txt index cc985830..e255a87a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,7 @@ option(WITH_BETTER_RENDERER "Experimental multi-backend renderer based on NVRHI" option(GENERATE_PDB "Generate executable with program debugging symbols" ON) option(ENABLE_MCC "Enable multicore compilation" ON) option(WITHDUMPGEN "Enable generating DMP files on crash" ON) +option(WITH_TGUI "Enable TGUI interface" ON) set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) @@ -491,6 +492,27 @@ else() target_compile_definitions(${PROJECT_NAME} PUBLIC WITH_DISCORD_RPC=0) endif() +if (WITH_TGUI) + find_package(Freetype REQUIRED) + target_link_libraries(${PROJECT_NAME} Freetype::Freetype) + + set(TGUI_SHARED_LIBS OFF CACHE BOOL "Build static libs" FORCE) + set(TGUI_BACKEND "GLFW_OPENGL3" CACHE STRING "TGUI backend") + + add_subdirectory(ref/tgui) + set_target_properties(tgui PROPERTIES FOLDER "libraries") + + target_link_libraries(${PROJECT_NAME} tgui) + target_include_directories(${PROJECT_NAME} PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}/ref/tgui/include" + ) + + target_compile_definitions(${PROJECT_NAME} PUBLIC WITH_TGUI=1) +else() + target_compile_definitions(${PROJECT_NAME} PUBLIC WITH_TGUI=0) +endif() + + find_package(OpenAL REQUIRED) if (TARGET OpenAL::OpenAL) diff --git a/ref/tgui b/ref/tgui new file mode 160000 index 00000000..17b31539 --- /dev/null +++ b/ref/tgui @@ -0,0 +1 @@ +Subproject commit 17b31539f492522eb531c598aff361118cf8c885 diff --git a/setup.bat b/setup.bat index 7b6fa491..1897b736 100644 --- a/setup.bat +++ b/setup.bat @@ -3,5 +3,6 @@ echo Preparing vcpkg packages cd ref\vcpkg call bootstrap-vcpkg.bat vcpkg install directx-dxc:x64-windows +vcpkg install freetype:x64-windows cd ..\.. @echo ON diff --git a/uilayer.cpp b/uilayer.cpp index 9f9b656b..b62ea3c6 100644 --- a/uilayer.cpp +++ b/uilayer.cpp @@ -10,6 +10,9 @@ http://mozilla.org/MPL/2.0/. #include "stdafx.h" #include "uilayer.h" +#include "TGUI/TGUI.hpp" +#include + #include "Globals.h" #include "renderer.h" #include "Logs.h"