msvc: require VS2005 for large file support
Large file support requires `_fseeki64()`. This function is offered in
VS2005 and upper.
VS2003 has it in the static CRT only, with declaration missing from
headers, so it's not usable.
Ref: https://archive.org/details/X10-38445 (MS Visual Studio .NET 2003)
Ref: 8b76a8aeb2 #15526
Closes #15958
This commit is contained in:
parent
81680a4070
commit
0ad30f0f64
@ -1870,9 +1870,11 @@ include(CMake/OtherTests.cmake)
|
||||
|
||||
add_definitions("-DHAVE_CONFIG_H")
|
||||
|
||||
# For Windows, all compilers used by CMake should support large files
|
||||
if(WIN32)
|
||||
# _fseeki64() requires VS2005
|
||||
if(NOT MSVC OR (MSVC_VERSION GREATER_EQUAL 1400))
|
||||
set(USE_WIN32_LARGE_FILES ON)
|
||||
endif()
|
||||
|
||||
# Use the manifest embedded in the Windows Resource
|
||||
set(CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} -DCURL_EMBED_MANIFEST")
|
||||
@ -1898,7 +1900,7 @@ if(MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||
endif()
|
||||
|
||||
# Use multithreaded compilation on VS 2008+
|
||||
# Use multithreaded compilation on VS2008+
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1500)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||||
endif()
|
||||
|
||||
@ -387,7 +387,8 @@ Vista
|
||||
/* LARGE FILE SUPPORT */
|
||||
/* ---------------------------------------------------------------- */
|
||||
|
||||
#if defined(_MSC_VER) || defined(__MINGW32__)
|
||||
/* _fseeki64() requires VS2005 */
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1400)) || defined(__MINGW32__)
|
||||
# define USE_WIN32_LARGE_FILES
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
# ifdef __MINGW32__
|
||||
|
||||
Loading…
Reference in New Issue
Block a user