From 4ed90c1585501f99a492f296a7f177503218f235 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Fri, 13 Sep 2024 00:42:17 -0500 Subject: [PATCH] Switch away from FetchContent_Populated, #171 --- CMakeLists.txt | 48 +++++++++++++------------------------ cmake/OptionVariables.cmake | 4 +--- 2 files changed, 18 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 52a546b..e8645f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -414,50 +414,36 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) find_package(zstd) else() cmake_policy(SET CMP0074 NEW) + set(ZSTD_BUILD_PROGRAMS OFF) + set(ZSTD_BUILD_CONTRIB OFF) + set(ZSTD_BUILD_TESTS OFF) + set(ZSTD_BUILD_STATIC ON) + set(ZSTD_BUILD_SHARED OFF) + set(ZSTD_LEGACY_SUPPORT OFF) FetchContent_Declare( zstd - GIT_REPOSITORY ${CPPTRACE_ZSTD_REPO} - GIT_TAG ${CPPTRACE_ZSTD_TAG} - GIT_SHALLOW ${CPPTRACE_ZSTD_SHALLOW} + URL "${CPPTRACE_ZSTD_URL}" + DOWNLOAD_EXTRACT_TIMESTAMP TRUE SOURCE_SUBDIR build/cmake ) - # FetchContent_MakeAvailable(zstd) - FetchContent_GetProperties(zstd) - if(NOT zstd_POPULATED) - FetchContent_Populate(zstd) - set(ZSTD_BUILD_PROGRAMS OFF) - set(ZSTD_BUILD_CONTRIB OFF) - set(ZSTD_BUILD_TESTS OFF) - set(ZSTD_BUILD_STATIC ON) - set(ZSTD_BUILD_SHARED OFF) - set(ZSTD_LEGACY_SUPPORT OFF) - add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") - endif() + FetchContent_MakeAvailable(zstd) endif() # Libdwarf itself set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) - # set(PIC_ALWAYS TRUE) - # set(BUILD_DWARFDUMP FALSE) + set(PIC_ALWAYS TRUE) + set(BUILD_DWARFDUMP FALSE) FetchContent_Declare( libdwarf GIT_REPOSITORY ${CPPTRACE_LIBDWARF_REPO} GIT_TAG ${CPPTRACE_LIBDWARF_TAG} GIT_SHALLOW ${CPPTRACE_LIBDWARF_SHALLOW} ) - # FetchContent_MakeAvailable(libdwarf) - FetchContent_GetProperties(libdwarf) - if(NOT libdwarf_POPULATED) - set(PIC_ALWAYS TRUE) - set(BUILD_DWARFDUMP FALSE) - # set(ENABLE_DECOMPRESSION FALSE) - FetchContent_Populate(libdwarf) - add_subdirectory("${libdwarf_SOURCE_DIR}" "${libdwarf_BINARY_DIR}") - target_include_directories( - dwarf - PRIVATE - ${zstd_SOURCE_DIR}/lib - ) - endif() + FetchContent_MakeAvailable(libdwarf) + target_include_directories( + dwarf + PRIVATE + ${zstd_SOURCE_DIR}/lib + ) endif() if(CPPTRACE_CONAN) target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf) diff --git a/cmake/OptionVariables.cmake b/cmake/OptionVariables.cmake index 541c0b1..e4c7e47 100644 --- a/cmake/OptionVariables.cmake +++ b/cmake/OptionVariables.cmake @@ -176,9 +176,7 @@ option(CPPTRACE_SKIP_UNIT "" OFF) option(CPPTRACE_STD_FORMAT "" ON) option(CPPTRACE_UNPREFIXED_TRY_CATCH "" OFF) option(CPPTRACE_USE_EXTERNAL_GTEST "" OFF) -set(CPPTRACE_ZSTD_REPO "https://github.com/facebook/zstd.git" CACHE STRING "") -set(CPPTRACE_ZSTD_TAG "794ea1b0afca0f020f4e57b6732332231fb23c70" CACHE STRING "") # v1.5.6 -set(CPPTRACE_ZSTD_SHALLOW "1" CACHE STRING "") +set(CPPTRACE_ZSTD_URL "https://github.com/facebook/zstd/releases/download/v1.5.6/zstd-1.5.6.tar.gz" CACHE STRING "") set(CPPTRACE_LIBDWARF_REPO "https://github.com/jeremy-rifkin/libdwarf-lite.git" CACHE STRING "") set(CPPTRACE_LIBDWARF_TAG "97fd68c6026c0237943106d6bc3e83f3661d39e8" CACHE STRING "") # v0.11.0 set(CPPTRACE_LIBDWARF_SHALLOW "1" CACHE STRING "")