]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: fix `HAVE_ATOMIC`/`HAVE_STDATOMIC` pre-fill for clang-cl
authorViktor Szakats <commit@vsz.me>
Thu, 13 Feb 2025 01:56:11 +0000 (02:56 +0100)
committerViktor Szakats <commit@vsz.me>
Thu, 13 Feb 2025 11:46:40 +0000 (12:46 +0100)
`HAVE_ATOMIC` and `HAVE_STDATOMIC` is available in clang-cl builds.
Adjust the pre-filled values accordingly.

Detected by a temporary job comparing pre-filled and actual values
on AppVeyor CI:
https://ci.appveyor.com/project/curlorg/curl/builds/51506692/job/2v8qrytgdnlah348#L416

Closes #16313

CMake/win32-cache.cmake

index 272f5134d1dac3961a9763f360f42b4b95990e22..0036723b6e380ca3d1e79f2b65ba6a1435f8d0e4 100644 (file)
@@ -52,14 +52,6 @@ if(MINGW)
       set(HAVE_STRTOK_R 0)
     endif()
   endif()
-  if((CMAKE_COMPILER_IS_GNUCC              AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) OR
-     (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6))
-    set(HAVE_STDATOMIC_H 1)
-    set(HAVE_ATOMIC 1)
-  else()
-    set(HAVE_STDATOMIC_H 0)
-    set(HAVE_ATOMIC 0)
-  endif()
 else()
   set(HAVE_LIBGEN_H 0)
   set(HAVE_FTRUNCATE 0)
@@ -73,7 +65,6 @@ else()
   if(MSVC)
     set(HAVE_UNISTD_H 0)
     set(HAVE_STDDEF_H 1)  # detected by CMake internally in check_type_size()
-    set(HAVE_STDATOMIC_H 0)
     if(MSVC_VERSION GREATER_EQUAL 1600)
       set(HAVE_STDINT_H 1)  # detected by CMake internally in check_type_size()
     else()
@@ -95,10 +86,19 @@ else()
     set(HAVE_BASENAME 0)
     set(HAVE_STRTOK_R 0)
     set(HAVE_FILE_OFFSET_BITS 0)
-    set(HAVE_ATOMIC 0)
   endif()
 endif()
 
+if((CMAKE_COMPILER_IS_GNUCC              AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) OR
+   (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6))
+  # MinGW or clang-cl
+  set(HAVE_STDATOMIC_H 1)
+  set(HAVE_ATOMIC 1)
+else()
+  set(HAVE_STDATOMIC_H 0)
+  set(HAVE_ATOMIC 0)
+endif()
+
 # Available in Windows XP and newer
 set(HAVE_GETADDRINFO 1)
 set(HAVE_FREEADDRINFO 1)