Enable multithreading.

This commit is contained in:
2026-10-08 21:16:53 +01:00
parent adecbc7c7f
commit f476497333
3 changed files with 10 additions and 16 deletions

2
3rdparty/lzma.cmake vendored
View File

@@ -95,7 +95,7 @@ target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaEnc.c)
#target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma86Dec.c)
#target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma86Enc.c)
target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma2Dec.c)
#target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma2DecMt.c)
target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma2DecMt.c)
target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/Lzma2Enc.c)
target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaLib.c)
target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/MtCoder.c)

8
3rdparty/zstd.cmake vendored
View File

@@ -177,12 +177,8 @@ else()
add_definitions(-DZSTD_LEGACY_SUPPORT=0)
endif()
# Multi-threading support
if(ANDROID)
option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" OFF)
else()
option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON)
endif()
# Multi-threading support (Android's bionic provides pthreads in libc)
option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON)
#-----------------------------------------------------------------------------
# External dependencies

View File

@@ -308,18 +308,16 @@ target_link_libraries_whole_archive("Aaru.Compression.Native" libzstd_static lz4
# Add LZO include directories for library.c to resolve <lzo/...> includes
target_include_directories("Aaru.Compression.Native" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lzo-2.10/include)
check_include_file("semaphore.h" HAVE_SEMAPHORE_H)
if(HAVE_SEMAPHORE_H)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
# LZMA SDK and Zstandard are built multithreaded: they use Win32 threads on Windows and pthreads elsewhere
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
if(WIN32)
find_package(Threads)
if(CMAKE_USE_PTHREADS_INIT)
set(HAVE_PTHREAD 1)
endif()
else()
find_package(Threads REQUIRED)
endif()
if(HAVE_PTHREAD)
if(Threads_FOUND)
target_link_libraries_whole_archive("Aaru.Compression.Native" Threads::Threads)
endif()