]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: enable more detection on Windows
authorViktor Szakats <commit@vsz.me>
Tue, 11 Oct 2022 07:52:32 +0000 (07:52 +0000)
committerViktor Szakats <commit@vsz.me>
Tue, 11 Oct 2022 07:52:32 +0000 (07:52 +0000)
Enable `HAVE_UNISTD_H`, `HAVE_STRTOK_R` and `HAVE_STRCASECMP` detection
on Windows, instead of having predefined values.

With these features detected correctly, CMake Windows builds get closer
to the autotools and `config-win32.h` ones.

This also fixes detecting `HAVE_FTRUNCATE` correctly, which required
`unistd.h`.

Fixing `ftruncate()` in turn causes a build warning/error with legacy
MinGW/MSYS1 due to an offset type size mismatch. This env misses to
detect `HAVE_FILE_OFFSET_BITS`, which may be a reason. This patch
force-disables `HAVE_FTRUNCATE` for this platform.

Reviewed-by: Daniel Stenberg
Closes #9687

CMake/Platforms/WindowsCache.cmake
CMakeLists.txt

index e056ad0d9e76fceb75b98dd2d4f623ccc5afc871..d6dc5a0fa8289699771039d0fbec7d786efb8da2 100644 (file)
@@ -54,14 +54,11 @@ if(NOT UNIX)
     set(HAVE_TERMIOS_H 0)
     set(HAVE_TERMIO_H 0)
     set(HAVE_TIME_H 1)
-    set(HAVE_UNISTD_H 0)
     set(HAVE_UTIME_H 0)
 
     set(HAVE_SOCKET 1)
     set(HAVE_SELECT 1)
     set(HAVE_STRDUP 1)
-    set(HAVE_STRTOK_R 0)
-    set(HAVE_STRCASECMP 0)
     set(HAVE_STRICMP 1)
     set(HAVE_STRCMPI 1)
     set(HAVE_GETTIMEOFDAY 0)
index 3d11fc593530a778672e3eb7d135d98c18401ce2..156fe790392dcb85d633aa151def7b46fb779f36 100644 (file)
@@ -1293,6 +1293,8 @@ if(WIN32)
 
   if(NOT HAVE_MINGW_ORIGINAL)
     list(APPEND CURL_LIBS "bcrypt")
+  else()
+    set(HAVE_FTRUNCATE OFF)
   endif()
 endif()