diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b67f613d7..511cb80c8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,14 +327,23 @@ endif() set(SDL_LIB_TARGET "") set(SDL_TTF_LIB_TARGET "") +set(FONTCONFIG_LIB_TARGET "") if(NOT LIBRETRO AND NOT IOS AND NOT MACOSX) find_package(SDL3 REQUIRED) set(SDL_LIB_TARGET SDL3::SDL3) find_package(SDL3_ttf REQUIRED) set(SDL_TTF_LIB_TARGET SDL3_ttf::SDL3_ttf) + message(STATUS "Using SDL3 and SDL3_ttf") add_compile_definitions(USE_SDL3_TTF) - message(STATUS "Using SDL3") + find_package(Fontconfig QUIET) + if(Fontconfig_FOUND) + set(FONTCONFIG_LIB_TARGET Fontconfig::Fontconfig) + add_compile_definitions(USE_SDL3_TTF_FONTCONFIG) + message(STATUS "Using Fontconfig for SDL3_ttf fallback fonts") + else() + message(WARNING "Fontconfig not found - SDL3_ttf fallback fonts for missing glyphs will be limited") + endif() endif() if(MACOSX AND NOT IOS) @@ -1528,6 +1537,9 @@ else() if(SDL_TTF_LIB_TARGET) list(APPEND nativeExtraLibs ${SDL_TTF_LIB_TARGET}) endif() + if(FONTCONFIG_LIB_TARGET) + list(APPEND nativeExtraLibs ${FONTCONFIG_LIB_TARGET}) + endif() if(APPLE) list(APPEND nativeExtra SDL/SDLJoystick.h