1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

Linux: Compile with _FILE_OFFSET_BITS=64 on 32-bit Linux

To avoid problems accessing filesystem, use 64-bit file offsets when
compilation model is 32-bit.  This explicit definition is needed now
that KWSys does not provide LFS settings in its headers anymore.

Fixes: #20568
This commit is contained in:
Marc Chevrier
2020-09-23 18:06:35 +02:00
committed by Brad King
parent c9a3ae1356
commit 5b10f96793

View File

@@ -53,6 +53,12 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^parisc")
endif()
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_definitions(-D_FILE_OFFSET_BITS=64)
endif()
# Workaround for TOC Overflow on ppc64
set(bigTocFlag "")
if(CMAKE_SYSTEM_NAME STREQUAL "AIX" AND