diff --git a/3rdParty/SheenBidi/CMakeLists.txt b/3rdParty/SheenBidi/CMakeLists.txt new file mode 100644 index 00000000000..54eba9c54cd --- /dev/null +++ b/3rdParty/SheenBidi/CMakeLists.txt @@ -0,0 +1,13 @@ +include(functions/FetchContent_ExcludeFromAll_backport) +include(FetchContent) + +set(BUILD_TESTING OFF) +set(ENABLE_INSTALL OFF) +set(ASAN OFF) +set(UBSAN OFF) + +FetchContent_Declare_ExcludeFromAll(SheenBidi + URL https://github.com/glebm/SheenBidi/archive/a1a55a8d6fbb63bab26f4f8ff43bdea5ec30a60a.tar.gz + URL_HASH MD5=f652da33c6a437ff8038d25c6fc9a01c +) +FetchContent_MakeAvailable_ExcludeFromAll(SheenBidi) diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake index 4240de6efd5..d14d00aff93 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake @@ -209,6 +209,22 @@ add_subdirectory(3rdParty/tl) add_subdirectory(3rdParty/hoehrmann_utf8) +if(NOT DEFINED DEVILUTIONX_SYSTEM_SHEENBIDI) + find_package(SheenBidi QUIET) + if(SheenBidi_FOUND) + message("-- Found SheenBidi ${SheenBidi_VERSION}") + else() + message("-- Suitable system SheenBidi package not found, will use SheenBidi from source") + set(DEVILUTIONX_SYSTEM_SHEENBIDI OFF) + endif() +endif() +dependency_options("SheenBidi" DEVILUTIONX_SYSTEM_SHEENBIDI ON DEVILUTIONX_STATIC_SHEENBIDI) +if(DEVILUTIONX_SYSTEM_SHEENBIDI) + find_package(SheenBidi REQUIRED) +else() + add_subdirectory(3rdParty/SheenBidi) +endif() + if(NOT DEFINED DEVILUTIONX_SYSTEM_UNORDERED_DENSE) find_package(unordered_dense CONFIG QUIET) if (unordered_dense_FOUND) diff --git a/tools/make_src_dist.py b/tools/make_src_dist.py index c1db1fb64c3..0c2051afc1d 100755 --- a/tools/make_src_dist.py +++ b/tools/make_src_dist.py @@ -35,8 +35,15 @@ # We only package the dependencies that are: # 1. Uncommon in package managers (sdl_audiolib). # 2. Require devilutionx forks (all others). -_DEPS = ['asio', 'libmpq', 'libsmackerdec', - 'libzt', 'sdl_audiolib', 'unordered_dense'] +_DEPS = [ + "asio", + "libmpq", + "libsmackerdec", + "libzt", + "sdl_audiolib", + "sheenbidi", + "unordered_dense", +] _ALWAYS_VENDORED_DEPS = ['asio', 'libmpq', 'libsmackerdec', 'libzt'] # These dependencies are not vendored by default.