zlib transfer
This commit is contained in:
+21
-30
@@ -88,42 +88,33 @@ include(GNUInstallDirs)
|
||||
# игры («Processor failed, invalid outputs»). Сменить Java не выйдет — сборки
|
||||
# OpenJDK под Linux берут libz.so.1 из системы.
|
||||
#
|
||||
# Поэтому собираем рядом обычный zlib и подсовываем его через LD_PRELOAD
|
||||
# только процессу установщика. Сам лаунчер с ним не линкуется, системный
|
||||
# Поэтому собираем обычный zlib из zlib/ — его исходники лежат в репозитории,
|
||||
# чтобы сборка не зависела от сети, а версия была зафиксирована: от неё зависит
|
||||
# побайтовый результат сжатия. Готовую библиотеку подсовываем через LD_PRELOAD
|
||||
# только процессу установщика. Сам лаунчер с ней не линкуется, системный
|
||||
# zlib-ng остаётся на месте.
|
||||
if(UNIX AND NOT APPLE)
|
||||
include(FetchContent)
|
||||
# SOURCE_SUBDIR указывает на несуществующий каталог: нужны только исходники.
|
||||
# add_subdirectory от zlib притащил бы свои install-правила и цели example
|
||||
# и minigzip.
|
||||
FetchContent_Declare(zlib_reference
|
||||
GIT_REPOSITORY https://github.com/madler/zlib.git
|
||||
GIT_TAG v1.3.1
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_SUBDIR do-not-configure
|
||||
)
|
||||
FetchContent_MakeAvailable(zlib_reference)
|
||||
|
||||
set(LAUNCHER_ZLIB_DIR "${CMAKE_INSTALL_LIBDIR}/galeonLauncher")
|
||||
set(LAUNCHER_ZLIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/zlib")
|
||||
|
||||
add_library(launcher_zlib_reference SHARED
|
||||
${zlib_reference_SOURCE_DIR}/adler32.c
|
||||
${zlib_reference_SOURCE_DIR}/compress.c
|
||||
${zlib_reference_SOURCE_DIR}/crc32.c
|
||||
${zlib_reference_SOURCE_DIR}/deflate.c
|
||||
${zlib_reference_SOURCE_DIR}/gzclose.c
|
||||
${zlib_reference_SOURCE_DIR}/gzlib.c
|
||||
${zlib_reference_SOURCE_DIR}/gzread.c
|
||||
${zlib_reference_SOURCE_DIR}/gzwrite.c
|
||||
${zlib_reference_SOURCE_DIR}/infback.c
|
||||
${zlib_reference_SOURCE_DIR}/inffast.c
|
||||
${zlib_reference_SOURCE_DIR}/inflate.c
|
||||
${zlib_reference_SOURCE_DIR}/inftrees.c
|
||||
${zlib_reference_SOURCE_DIR}/trees.c
|
||||
${zlib_reference_SOURCE_DIR}/uncompr.c
|
||||
${zlib_reference_SOURCE_DIR}/zutil.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/adler32.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/compress.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/crc32.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/deflate.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/gzclose.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/gzlib.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/gzread.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/gzwrite.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/infback.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/inffast.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/inflate.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/inftrees.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/trees.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/uncompr.c
|
||||
${LAUNCHER_ZLIB_SOURCES}/zutil.c
|
||||
)
|
||||
target_include_directories(launcher_zlib_reference PRIVATE ${zlib_reference_SOURCE_DIR})
|
||||
target_include_directories(launcher_zlib_reference PRIVATE ${LAUNCHER_ZLIB_SOURCES})
|
||||
# То же, что выставляет собственный configure zlib: без этого gz*-часть не
|
||||
# видит unistd.h и не собирается.
|
||||
target_compile_definitions(launcher_zlib_reference PRIVATE
|
||||
|
||||
Reference in New Issue
Block a user