Skip to content

Commit 6bf96bf

Browse files
committed
fix: автоматическое клонирование zlib при локальной сборке в VS
1 parent f66df14 commit 6bf96bf

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ file(GLOB ZLIB_HEADERS
4444
# ============================================================================
4545
# Статическая библиотека zlib (встроенная)
4646
# ============================================================================
47+
# Автоматическое клонирование zlib если директория пуста
48+
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zlib/CMakeLists.txt")
49+
message(STATUS "zlib not found, cloning repository...")
50+
execute_process(
51+
COMMAND ${CMAKE_COMMAND} -E rm -rf "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zlib"
52+
)
53+
execute_process(
54+
COMMAND git clone --depth 1 https://github.com/madler/zlib.git "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zlib"
55+
RESULT_VARIABLE GIT_CLONE_RESULT
56+
)
57+
if(NOT GIT_CLONE_RESULT EQUAL 0)
58+
message(FATAL_ERROR "Failed to clone zlib repository")
59+
endif()
60+
endif()
61+
4762
# Используем родную систему сборки zlib через подкаталог
4863
# Для Windows важно собрать именно статическую библиотеку zlibstatic.lib
4964
set(ZLIB_BUILD_STATIC ON CACHE BOOL "Build static library" FORCE)

0 commit comments

Comments
 (0)