]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Keep compatible with Windows 95 for 32-bit build.
authorhuangqinjin <huangqinjin@gmail.com>
Mon, 13 Dec 2021 12:49:21 +0000 (20:49 +0800)
committerLasse Collin <lasse.collin@tukaani.org>
Tue, 12 Jul 2022 16:03:51 +0000 (19:03 +0300)
CMakeLists.txt

index 1dfdb4f173f6d3f77dd4dd9847f509588e705a7f..49fcd7779933e6f2425753dac76a647dd7278400 100644 (file)
@@ -164,7 +164,17 @@ endif()
 set(THREADS_PREFER_PTHREAD_FLAG TRUE)
 find_package(Threads REQUIRED)
 if(CMAKE_USE_WIN32_THREADS_INIT)
-    add_compile_definitions(MYTHREAD_VISTA)
+    if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+        # Define to 1 when using Windows 95 (and thus XP) compatible threads. This
+        # avoids use of features that were added in Windows Vista.
+        # This is used for 32-bit x86 builds for compatibility reasons since it
+        # makes no measurable difference in performance compared to Vista threads.
+        add_compile_definitions(MYTHREAD_WIN95)
+    else()
+        # Define to 1 when using Windows Vista compatible threads. This uses features
+        # that are not available on Windows XP.
+        add_compile_definitions(MYTHREAD_VISTA)
+    endif()
 else()
     add_compile_definitions(MYTHREAD_POSIX)