summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorhuangqinjin <huangqinjin@gmail.com>2021-12-13 20:49:21 +0800
committerLasse Collin <lasse.collin@tukaani.org>2022-02-06 22:49:39 +0200
commit2bd36c91d03e03b31a4f12fd0afc100ae32d66e2 (patch)
tree8acb160d5ce362e5423a689caeb84685573448c1 /CMakeLists.txt
parent2024fbf2794885277d05378d40b2b8015a7c3b40 (diff)
downloadxz-2bd36c91d03e03b31a4f12fd0afc100ae32d66e2.tar.gz
CMake: Keep compatible with Windows 95 for 32-bit build.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt12
1 files changed, 11 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88bec28..af175d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)