From e1a2f5b9357ca1cad43b350582ea9190b70e392f Mon Sep 17 00:00:00 2001 From: chenhaoran Date: Mon, 11 May 2026 19:48:11 +0800 Subject: [PATCH] fix(cmake): fix ext_zlib build type switching Add zlib BUILD_BYPRODUCTS and use configure-time CMAKE_BUILD_TYPE so Make generators rebuild ext_zlib when switching build types. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- cmake/external.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/external.cmake b/cmake/external.cmake index 10045bc8cf50..20abd2d348d7 100644 --- a/cmake/external.cmake +++ b/cmake/external.cmake @@ -190,14 +190,15 @@ INIT_EXT(ext_zlib get_from_local_repo_if_exists("https://github.com/madler/zlib.git") ExternalProject_Add(ext_zlib GIT_REPOSITORY ${_git_url} - GIT_TAG v1.3.1 + GIT_TAG v1.3.1 GIT_SHALLOW TRUE PREFIX "${_base}" - CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${TD_CONFIG_NAME} # if main project is built in Debug, ext_zlib is too + CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} # use configure-time value so stamp files detect build type changes CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:STRING=${_ins} # let default INSTALL step use CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON # linking consistent CMAKE_ARGS -DZLIB_BUILD_SHARED:BOOL=OFF CMAKE_ARGS -DZLIB_BUILD_TESTING:BOOL=OFF + BUILD_BYPRODUCTS "${TD_EXTERNALS_BASE_DIR}/install/ext_zlib/${CMAKE_BUILD_TYPE}/lib/${ext_zlib_static}" EXCLUDE_FROM_ALL TRUE VERBATIM )