From: Lasse Collin Date: Wed, 11 Oct 2023 16:47:44 +0000 (+0300) Subject: CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable. X-Git-Tag: v5.4.5~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=007558a358c48a0175cc8d47d11798d7967282ab;p=thirdparty%2Fxz.git 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. --- 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)