diff --git a/CMakeModules/DuckStationDependencies.cmake b/CMakeModules/DuckStationDependencies.cmake index aca113338..f29ab8c7a 100644 --- a/CMakeModules/DuckStationDependencies.cmake +++ b/CMakeModules/DuckStationDependencies.cmake @@ -15,6 +15,7 @@ if(NOT WIN32 AND NOT ANDROID) find_package(PNG 1.6.40 REQUIRED) find_package(JPEG REQUIRED) # No version because flatpak uses libjpeg-turbo. find_package(CURL REQUIRED) + find_package(Freetype 2.13.1 REQUIRED) if(APPLE) set(CMAKE_FIND_FRAMEWORK ${FIND_FRAMEWORK_BACKUP}) endif() diff --git a/dep/imgui/CMakeLists.txt b/dep/imgui/CMakeLists.txt index ea9101405..ce9e07cf0 100644 --- a/dep/imgui/CMakeLists.txt +++ b/dep/imgui/CMakeLists.txt @@ -1,12 +1,14 @@ set(SRCS include/imconfig.h include/imgui.h + include/imgui_freetype.h include/imgui_internal.h include/imgui_stdlib.h include/imstb_textedit.h src/imgui.cpp src/imgui_demo.cpp src/imgui_draw.cpp + src/imgui_freetype.cpp src/imgui_stdlib.cpp src/imgui_tables.cpp src/imgui_widgets.cpp @@ -17,4 +19,4 @@ set(SRCS add_library(imgui ${SRCS}) target_include_directories(imgui PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/src") target_include_directories(imgui INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include") - +target_link_libraries(imgui PUBLIC Freetype::Freetype) diff --git a/dep/imgui/imgui.vcxproj b/dep/imgui/imgui.vcxproj index 8ec6ebf01..0045b50cf 100644 --- a/dep/imgui/imgui.vcxproj +++ b/dep/imgui/imgui.vcxproj @@ -4,6 +4,7 @@ + @@ -13,6 +14,7 @@ + @@ -27,7 +29,7 @@ TurnOffAllWarnings - $(ProjectDir)include;$(ProjectDir)src;%(AdditionalIncludeDirectories) + $(ProjectDir)include;$(ProjectDir)src;$(DepsIncludeDir)freetype2;%(AdditionalIncludeDirectories) diff --git a/dep/imgui/imgui.vcxproj.filters b/dep/imgui/imgui.vcxproj.filters index b4f48a285..d0fa61434 100644 --- a/dep/imgui/imgui.vcxproj.filters +++ b/dep/imgui/imgui.vcxproj.filters @@ -8,6 +8,7 @@ + @@ -15,6 +16,7 @@ + diff --git a/dep/imgui/include/imconfig.h b/dep/imgui/include/imconfig.h index 4db4db071..70b6fe737 100644 --- a/dep/imgui/include/imconfig.h +++ b/dep/imgui/include/imconfig.h @@ -76,7 +76,7 @@ //---- Use FreeType to build and rasterize the font atlas (instead of stb_truetype which is embedded by default in Dear ImGui) // Requires FreeType headers to be available in the include path. Requires program to be compiled with 'misc/freetype/imgui_freetype.cpp' (in this repository) + the FreeType library (not provided). // On Windows you may use vcpkg with 'vcpkg install freetype --triplet=x64-windows' + 'vcpkg integrate install'. -//#define IMGUI_ENABLE_FREETYPE +#define IMGUI_ENABLE_FREETYPE //---- Use FreeType+lunasvg library to render OpenType SVG fonts (SVGinOT) // Requires lunasvg headers to be available in the include path + program to be linked with the lunasvg library (not provided). diff --git a/dep/imgui/src/imgui_draw.cpp b/dep/imgui/src/imgui_draw.cpp index 1319a6e1d..b7861780a 100644 --- a/dep/imgui/src/imgui_draw.cpp +++ b/dep/imgui/src/imgui_draw.cpp @@ -34,7 +34,7 @@ Index of this file: #ifndef IMGUI_DISABLE #include "imgui_internal.h" #ifdef IMGUI_ENABLE_FREETYPE -#include "misc/freetype/imgui_freetype.h" +#include "imgui_freetype.h" #endif #include // vsnprintf, sscanf, printf diff --git a/src/util/util.props b/src/util/util.props index a50971d05..e0d78a339 100644 --- a/src/util/util.props +++ b/src/util/util.props @@ -28,7 +28,7 @@ %(AdditionalIncludeDirectories);$(DepsIncludeDir)SDL2 - %(AdditionalDependencies);libjpeg.lib;libpng16.lib;libwebp.lib;SDL2.lib;zlib.lib;zstd.lib + %(AdditionalDependencies);freetype.lib;libjpeg.lib;libpng16.lib;libwebp.lib;SDL2.lib;zlib.lib;zstd.lib