Skip to content

FetchContent_Declare uses DOWNLOAD_EXTRACT_TIMESTAMP which is incompatible with CMake < 3.24 #317

@klmckeig

Description

@klmckeig

@mihaic @rfsaliev SVS c binding make file has DOWNLOAD_EXTRACT_TIMESTAMP argument in FetchContent_Declare. This was only available in CMake 3.24 and newer. Amazon Linux ships with CMake 3.22.2. So it will trigger an error

CMake Error at /usr/share/cmake/Modules/ExternalProject.cmake:2806 (message):
  At least one entry of URL is a path (invalid in a list)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FetchContent.cmake:1075 (message):
    CMake step for svs failed: 1

Environment
CMake version: 3.22.2
Compiler: GCC 11.5.0
OS: Amazon Linux 2023 (Linux x86_64)
Build command: cmake -S bindings/c -B build -DSVS_RUNTIME_ENABLE_LVQ_LEANVEC=ON

Suggested Fix

if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24")
    set(_svs_fetch_timestamp DOWNLOAD_EXTRACT_TIMESTAMP TRUE)
else()
    set(_svs_fetch_timestamp "")
endif()
FetchContent_Declare(
    svs
    URL ${SVS_URL}
    ${_svs_fetch_timestamp}
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions