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,50 +414,36 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
find_package(zstd) find_package(zstd)
else() else()
cmake_policy(SET CMP0074 NEW) 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( FetchContent_Declare(
zstd zstd
GIT_REPOSITORY ${CPPTRACE_ZSTD_REPO} URL "${CPPTRACE_ZSTD_URL}"
GIT_TAG ${CPPTRACE_ZSTD_TAG} DOWNLOAD_EXTRACT_TIMESTAMP TRUE
GIT_SHALLOW ${CPPTRACE_ZSTD_SHALLOW}
SOURCE_SUBDIR build/cmake SOURCE_SUBDIR build/cmake
) )
# FetchContent_MakeAvailable(zstd) 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()
endif() endif()
# Libdwarf itself # Libdwarf itself
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
# set(PIC_ALWAYS TRUE) set(PIC_ALWAYS TRUE)
# set(BUILD_DWARFDUMP FALSE) set(BUILD_DWARFDUMP FALSE)
FetchContent_Declare( FetchContent_Declare(
libdwarf libdwarf
GIT_REPOSITORY ${CPPTRACE_LIBDWARF_REPO} GIT_REPOSITORY ${CPPTRACE_LIBDWARF_REPO}
GIT_TAG ${CPPTRACE_LIBDWARF_TAG} GIT_TAG ${CPPTRACE_LIBDWARF_TAG}
GIT_SHALLOW ${CPPTRACE_LIBDWARF_SHALLOW} GIT_SHALLOW ${CPPTRACE_LIBDWARF_SHALLOW}
) )
# FetchContent_MakeAvailable(libdwarf) FetchContent_MakeAvailable(libdwarf)
FetchContent_GetProperties(libdwarf) target_include_directories(
if(NOT libdwarf_POPULATED) dwarf
set(PIC_ALWAYS TRUE) PRIVATE
set(BUILD_DWARFDUMP FALSE) ${zstd_SOURCE_DIR}/lib
# 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()
endif() endif()
if(CPPTRACE_CONAN) if(CPPTRACE_CONAN)
target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf) target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf)

View File

@ -176,9 +176,7 @@ option(CPPTRACE_SKIP_UNIT "" OFF)
option(CPPTRACE_STD_FORMAT "" ON) option(CPPTRACE_STD_FORMAT "" ON)
option(CPPTRACE_UNPREFIXED_TRY_CATCH "" OFF) option(CPPTRACE_UNPREFIXED_TRY_CATCH "" OFF)
option(CPPTRACE_USE_EXTERNAL_GTEST "" OFF) option(CPPTRACE_USE_EXTERNAL_GTEST "" OFF)
set(CPPTRACE_ZSTD_REPO "https://github.com/facebook/zstd.git" 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_ZSTD_TAG "794ea1b0afca0f020f4e57b6732332231fb23c70" CACHE STRING "") # v1.5.6
set(CPPTRACE_ZSTD_SHALLOW "1" CACHE STRING "")
set(CPPTRACE_LIBDWARF_REPO "https://github.com/jeremy-rifkin/libdwarf-lite.git" 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_TAG "97fd68c6026c0237943106d6bc3e83f3661d39e8" CACHE STRING "") # v0.11.0
set(CPPTRACE_LIBDWARF_SHALLOW "1" CACHE STRING "") set(CPPTRACE_LIBDWARF_SHALLOW "1" CACHE STRING "")