diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,7 +143,8 @@ if(NOT OPTION_DEDICATED) endif() find_package(Fluidsynth) find_package(Fontconfig) - find_package(ICU OPTIONAL_COMPONENTS i18n lx) + find_package(Harfbuzz) + find_package(ICU OPTIONAL_COMPONENTS i18n) endif() endif() endif() @@ -178,6 +179,12 @@ if(UNIX AND NOT APPLE AND NOT OPTION_DED if(NOT SDL_FOUND AND NOT SDL2_FOUND AND NOT ALLEGRO_FOUND) message(FATAL_ERROR "SDL, SDL2 or Allegro is required for this platform") endif() + if(HARFBUZZ_FOUND AND NOT ICU_i18n_FOUND) + message(WARNING "HarfBuzz depends on ICU i18n to function; HarfBuzz will be disabled") + endif() + if(NOT HARFBUZZ_FOUND) + message(WARNING "Without HarfBuzz and ICU i18n the game will not be able to render right-to-left languages correctly") + endif() endif() if(APPLE) if(NOT AUDIOTOOLBOX_LIBRARY) @@ -289,7 +296,7 @@ if(NOT OPTION_DEDICATED) link_package(Allegro) link_package(FREETYPE TARGET Freetype::Freetype) link_package(Fontconfig TARGET Fontconfig::Fontconfig) - link_package(ICU_lx) + link_package(Harfbuzz TARGET harfbuzz::harfbuzz) link_package(ICU_i18n) if(SDL2_FOUND AND OPENGL_FOUND AND UNIX)