Switch away from FetchContent_Populated, #171

This commit is contained in:
Jeremy Rifkin 2024-09-13 00:42:17 -05:00
parent 142e0b9ea4
commit 4ed90c1585
No known key found for this signature in database
GPG Key ID: 19AA8270105E8EB4
2 changed files with 18 additions and 34 deletions

View File

@ -414,51 +414,37 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
find_package(zstd)
else()
cmake_policy(SET CMP0074 NEW)
FetchContent_Declare(
zstd
GIT_REPOSITORY ${CPPTRACE_ZSTD_REPO}
GIT_TAG ${CPPTRACE_ZSTD_TAG}
GIT_SHALLOW ${CPPTRACE_ZSTD_SHALLOW}
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_Declare(
zstd
URL "${CPPTRACE_ZSTD_URL}"
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
SOURCE_SUBDIR build/cmake
)
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}")
FetchContent_MakeAvailable(libdwarf)
target_include_directories(
dwarf
PRIVATE
${zstd_SOURCE_DIR}/lib
)
endif()
endif()
if(CPPTRACE_CONAN)
target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf)
elseif(CPPTRACE_VCPKG)

View File

@ -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 "")