diff --git a/CMakeLists.txt b/CMakeLists.txt index a6902cf..7f878dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,15 @@ set(CMAKE_C_EXTENSIONS ON) # set warning as error add_compile_options(-Wall -Wextra -Werror) + +if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24") + set(DOWNLOAD_TIMESTAMP_ARG DOWNLOAD_EXTRACT_TIMESTAMP ON) +else() + set(DOWNLOAD_TIMESTAMP_ARG) +endif() + +message(STATUS "Download timestamp arg: ${DOWNLOAD_TIMESTAMP_ARG}") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Build type (default: RelWithDebInfo)" FORCE) endif() diff --git a/tools/monitor/CMakeLists.txt b/tools/monitor/CMakeLists.txt index f5f6da3..4e8973d 100644 --- a/tools/monitor/CMakeLists.txt +++ b/tools/monitor/CMakeLists.txt @@ -10,10 +10,10 @@ set (STELLAR-DUMP-PATCH-FILE ${CMAKE_SOURCE_DIR}/tools/monitor/stellar-dump.patc set (STELLAR-DUMP-PATCH-CMD ${CMAKE_SOURCE_DIR}/tools/monitor/stellar-dump-update.sh) ExternalProject_Add(tcpdump PREFIX tcpdump URL ${CMAKE_SOURCE_DIR}/vendors/tcpdump-4.99.4.tar.gz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 4f2d4a8a5fab017e5ebda156bfc86378 PATCH_COMMAND sh -c "chmod +x ${STELLAR-DUMP-PATCH-CMD} && ${STELLAR-DUMP-PATCH-CMD} ${CMAKE_CURRENT_BINARY_DIR}/tcpdump/src/tcpdump ${STELLAR-DUMP-PATCH-FILE}" CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DWITH_CRYPTO=OFF -DSTELLAR_SOURCE_DIR=${CMAKE_SOURCE_DIR} -DSTELLAR_BINARY_DIR=${CMAKE_BINARY_DIR} -DASAN_OPTION=${ASAN_OPTION} + ${DOWNLOAD_TIMESTAMP_ARG} ) add_dependencies(tcpdump libevent) ExternalProject_Get_Property(tcpdump INSTALL_DIR) diff --git a/vendors/CMakeLists.txt b/vendors/CMakeLists.txt index dc9310c..0fb1f97 100644 --- a/vendors/CMakeLists.txt +++ b/vendors/CMakeLists.txt @@ -3,11 +3,11 @@ include(ExternalProject) # GoogleTest ExternalProject_Add(googletest PREFIX googletest URL ${CMAKE_CURRENT_SOURCE_DIR}/googletest-release-1.10.0.tgz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 ad777f4af22026493ea2782c611b8809 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=RELWITHDEBINFO BUILD_IN_SOURCE 1 - BUILD_COMMAND make) + BUILD_COMMAND make + ${DOWNLOAD_TIMESTAMP_ARG}) ExternalProject_Get_Property(googletest INSTALL_DIR) file(MAKE_DIRECTORY ${INSTALL_DIR}/include) @@ -20,12 +20,12 @@ set_property(TARGET gtest PROPERTY INTERFACE_LINK_LIBRARIES pthread) #libcjson-1.7.17 ExternalProject_Add(cjson PREFIX cjson URL ${CMAKE_CURRENT_SOURCE_DIR}/libcjson_v1.7.17.tar.gz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 4b2ab12cf065c079004aa44495ade04a CONFIGURE_COMMAND "" BUILD_COMMAND make INSTALL_COMMAND make install - BUILD_IN_SOURCE 1) + BUILD_IN_SOURCE 1 + ${DOWNLOAD_TIMESTAMP_ARG} ) ExternalProject_Get_Property(cjson INSTALL_DIR) message(STATUS "cjson will be installed in: ${INSTALL_DIR}") @@ -39,9 +39,9 @@ set_property(TARGET cjson-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTAL #llhttp-9.1.3 ExternalProject_Add(llhttp PREFIX llhttp URL ${CMAKE_CURRENT_SOURCE_DIR}/llhttp-release-v9.2.1.tar.gz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 355ecc90e622035e3e1693a96a0c233b - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DBUILD_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_C_FLAGS="-fPIC") + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DBUILD_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_C_FLAGS="-fPIC" + ${DOWNLOAD_TIMESTAMP_ARG}) ExternalProject_Get_Property(llhttp INSTALL_DIR) message(STATUS "llhttp will be installed in: ${INSTALL_DIR}") file(MAKE_DIRECTORY ${INSTALL_DIR}/include) @@ -55,9 +55,9 @@ set_property(TARGET llhttp-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib #brotli-v1.0.9 ExternalProject_Add(brotli PREFIX brotli URL ${CMAKE_CURRENT_SOURCE_DIR}/brotli-v1.0.9.tar.gz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 c2274f0c7af8470ad514637c35bcee7d - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + ${DOWNLOAD_TIMESTAMP_ARG}) ExternalProject_Get_Property(brotli INSTALL_DIR) file(MAKE_DIRECTORY ${INSTALL_DIR}/include) @@ -80,12 +80,11 @@ set_property(TARGET brotli-enc-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/ ExternalProject_Add(libevent PREFIX libevent URL ${CMAKE_CURRENT_SOURCE_DIR}/libevent-2.1.12-stable.tar.gz - DOWNLOAD_EXTRACT_TIMESTAMP ON URL_MD5 b5333f021f880fe76490d8a799cd79f4 CMAKE_ARGS -DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_BENCHMARK=ON -DBUILD_TESTING=OFF -DEVENT__DISABLE_TESTS=ON -DEVENT__LIBRARY_TYPE=BOTH -DCMAKE_C_FLAGS="-fPIC" -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -) + ${DOWNLOAD_TIMESTAMP_ARG} ) ExternalProject_Get_Property(libevent INSTALL_DIR) file(MAKE_DIRECTORY ${INSTALL_DIR}/include)