commit 806f050b5ea6147fb7b364ee69348a1016e6e8cf from: Sergey Bronnikov date: Wed Aug 07 10:35:24 2024 UTC cmake: fix warning in an ExternalProject_Add() CMake 3.24+ produces a warning about the missed option DOWNLOAD_EXTRACT_TIMESTAMP in `ExternalProject_Add()` [1]: | The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy | CMP0135 is not set. Documentation about policy CMP0135 [2] said: CMake 3.23 and below set the timestamps of the extracted contents to the same as the timestamps in the archive. When the URL changes, the new archive is downloaded and extracted, but the timestamps of the extracted contents might not be newer than the previous contents. Anything that depends on the extracted contents might not be rebuilt, even though the contents may change. CMake 3.24 and above prefer to set the timestamps of all extracted contents to the time of the extraction. This ensures that anything that depends on the extracted contents will be rebuilt whenever the URL changes. 1. https://cmake.org/cmake/help/latest/module/ExternalProject.html#url 2. https://cmake.org/cmake/help/latest/policy/CMP0135.html NO_CHANGELOG=build NO_DOC=build NO_TEST=build commit - 1f75231a0c0ce062e08660e0bc51485f7086412c commit + 806f050b5ea6147fb7b364ee69348a1016e6e8cf blob - a9cb49645989b786e284f9459ed55a5c9748bd0d blob + 28bb6087db746fe8e131c084bb08f5b6db720228 --- cmake/BuildICU.cmake +++ cmake/BuildICU.cmake @@ -49,6 +49,7 @@ ExternalProject_Add(bundled-icu-project COMMAND patch -d -p1 -i "${ICU_PATCHES_DIR}/icu-tarantool-security-61.patch" COMMAND patch -d -p1 -i "${ICU_PATCHES_DIR}/icu-tarantool-security-96.patch" BUILD_BYPRODUCTS ${ICU_I18N_LIBRARY} ${ICU_UC_LIBRARY} ${ICU_DATA_LIBRARY} + DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) add_library(bundled-icu-i18n STATIC IMPORTED GLOBAL) blob - 8ac6930a1e91e2300e2c8828300e55d9309e12d0 blob + f9ba380caf4f5169daa6ba21d3c627b0abd6798c --- cmake/BuildOpenSSL.cmake +++ cmake/BuildOpenSSL.cmake @@ -34,6 +34,7 @@ ExternalProject_Add(bundled-openssl-project no-module INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install_sw BUILD_BYPRODUCTS ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY} + DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) add_library(bundled-openssl-ssl STATIC IMPORTED GLOBAL) blob - ef3e501c1fbad0cf13126771089035efc579c8e2 blob + 61b7d01d6a6bcd0a6e48cee7859ab1115a90bb9c --- cmake/BuildReadline.cmake +++ cmake/BuildReadline.cmake @@ -62,6 +62,7 @@ ExternalProject_Add(bundled-ncurses-project --without-progs --without-manpages BUILD_BYPRODUCTS ${NCURSES_LIBRARY} ${NCURSES_TINFO_LIBRARY} + DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) add_library(bundled-ncurses STATIC IMPORTED GLOBAL) @@ -92,6 +93,7 @@ ExternalProject_Add(bundled-readline-project PATCH_COMMAND patch -d -p0 -i "${READLINE_PATCHES_DIR}/readline80-001.patch" COMMAND patch -d -p1 -i "${READLINE_PATCHES_DIR}/readline-tarantool-security-95.patch" BUILD_BYPRODUCTS ${READLINE_LIBRARY} + DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) add_library(bundled-readline STATIC IMPORTED GLOBAL) blob - b4aeec84ec6f5faca50e5511eaccf0ace0e8cdf8 blob + 175e1cf0236ef86055d43cbe71b1ce64e985a520 --- cmake/BuildZLIB.cmake +++ cmake/BuildZLIB.cmake @@ -28,6 +28,7 @@ ExternalProject_Add(bundled-zlib-project --prefix= --static BUILD_BYPRODUCTS ${ZLIB_LIBRARY} + DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) add_library(bundled-zlib STATIC IMPORTED GLOBAL)