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")
|
add_definitions("-DHAVE_CONFIG_H")
|
||||||
|
|
||||||
# For Windows, all compilers used by CMake should support large files
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
# _fseeki64() requires VS2005
|
||||||
|
if(NOT MSVC OR (MSVC_VERSION GREATER_EQUAL 1400))
|
||||||
set(USE_WIN32_LARGE_FILES ON)
|
set(USE_WIN32_LARGE_FILES ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use the manifest embedded in the Windows Resource
|
# Use the manifest embedded in the Windows Resource
|
||||||
set(CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} -DCURL_EMBED_MANIFEST")
|
set(CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} -DCURL_EMBED_MANIFEST")
|
||||||
@ -1898,7 +1900,7 @@ if(MSVC)
|
|||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||||
endif()
|
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)
|
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1500)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -387,7 +387,8 @@ Vista
|
|||||||
/* LARGE FILE SUPPORT */
|
/* 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
|
# define USE_WIN32_LARGE_FILES
|
||||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
# ifdef __MINGW32__
|
# ifdef __MINGW32__
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user