aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2023-10-11 19:47:44 +0300
committerJia Tan <jiat0218@gmail.com>2023-10-31 18:44:59 +0800
commit007558a358c48a0175cc8d47d11798d7967282ab (patch)
treee5ca8e038fed90de5dcbb25d398dc933ac0b6ebe /CMakeLists.txt
parentCMake: Edit threading related messages. (diff)
downloadxz-007558a358c48a0175cc8d47d11798d7967282ab.tar.xz
CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable.
Using set(ENABLE_THREADS "posix") is confusing because it sets a new normal variable and leaves the cache entry with the same name unchanged. The intent wasn't to change the cache entry so this switches to a different variable name.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt10
1 files changed, 7 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1b403f66..687f9e3e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -355,6 +355,11 @@ set_property(CACHE ENABLE_THREADS
# compiler supporting attribute __constructor__.
set(USE_WIN95_THREADS OFF)
+# This is a flag variable set when posix threads (pthreads) are used.
+# It's needed when creating liblzma-config.cmake where dependency on
+# Threads::Threads is only needed with pthreads.
+set(USE_POSIX_THREADS OFF)
+
if(NOT ENABLE_THREADS IN_LIST SUPPORTED_THREADING_METHODS)
message(FATAL_ERROR "'${ENABLE_THREADS}' is not a supported "
"threading method")
@@ -384,11 +389,10 @@ if(ENABLE_THREADS)
endif()
elseif(CMAKE_USE_PTHREADS_INIT)
if(ENABLE_THREADS STREQUAL "posix" OR ENABLE_THREADS STREQUAL "ON")
- # Overwrite ENABLE_THREADS in case it was set to "ON".
# The threading library only needs to be explicitly linked
# for posix threads, so this is needed for creating
# liblzma-config.cmake later.
- set(ENABLE_THREADS "posix")
+ set(USE_POSIX_THREADS ON)
target_link_libraries(liblzma Threads::Threads)
add_compile_definitions(MYTHREAD_POSIX)
@@ -923,7 +927,7 @@ if(NOT TARGET LibLZMA::LibLZMA)
endif()
")
-if(ENABLE_THREADS STREQUAL "posix")
+if(USE_POSIX_THREADS)
set(LZMA_CONFIG_CONTENTS
"include(CMakeFindDependencyMacro)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)