mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-08 16:19:36 -06:00
Linux: Do not force 64-bit time_t on 32-bit archs with system libarchive
Commit 1b9e8f833f (Linux: Compile with 64-bit time_t even on 32-bit
architectures, 2025-06-26, v4.1.0-rc2~16^2) broke running with a
system-provided libarchive that uses a 32-bit `time_t`. If CMake
is configured to build with a system libarchive, assume the user
has taken responsibility to match `time_t` sizes.
Fixes: #27448
This commit is contained in:
@@ -68,8 +68,14 @@ endif()
|
||||
|
||||
# Use 64-bit off_t on 32-bit Linux
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
# ensure 64bit offsets are used for filesystem accesses for 32bit compilation
|
||||
add_compile_definitions(_FILE_OFFSET_BITS=64 _TIME_BITS=64)
|
||||
# Use 64-bit off_t even in 32-bit builds.
|
||||
add_compile_definitions(_FILE_OFFSET_BITS=64)
|
||||
|
||||
# Use 64-bit time_t even in 32-bit builds. Skip this with
|
||||
# system libarchive because its ABI uses the default time_t.
|
||||
if (NOT CMAKE_USE_SYSTEM_LIBARCHIVE)
|
||||
add_compile_definitions(_TIME_BITS=64)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Workaround for TOC Overflow on ppc64
|
||||
|
||||
Reference in New Issue
Block a user