]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable.
authorLasse Collin <lasse.collin@tukaani.org>
Wed, 11 Oct 2023 16:47:44 +0000 (19:47 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Sun, 22 Oct 2023 16:03:52 +0000 (19:03 +0300)
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.

CMakeLists.txt

index 6de086be22bbeda405132f7877993df4465490cd..58cf62afb90dd866a9918e2a263bcc293c725c2f 100644 (file)
@@ -351,6 +351,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")
@@ -380,11 +385,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)
@@ -951,7 +955,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)