aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorBenjamin Buch <bebuch@users.noreply.github.com>2023-06-06 15:32:45 +0200
committerLasse Collin <lasse.collin@tukaani.org>2023-07-18 13:02:02 +0300
commitd04eb78ab3892d3678c180437dd66379efa051fd (patch)
tree38e5f27c5fbac837104443606843de45db729809 /CMakeLists.txt
parentTranslations: Update the Esperanto translation. (diff)
downloadxz-d04eb78ab3892d3678c180437dd66379efa051fd.tar.xz
CMake: Protects against double find_package
Boost iostream uses `find_package` in quiet mode and then again uses `find_package` with required. This second call triggers a `add_library cannot create imported target "LibLZMA::LibLZMA" because another target with the same name already exists.` This can simply be fixed by skipping the alias part on secondary `find_package` runs.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt16
1 files changed, 9 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55cd358c..458ad49d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -889,13 +889,15 @@ write_basic_package_version_file(
set(LZMA_CONFIG_CONTENTS
"include(\"\${CMAKE_CURRENT_LIST_DIR}/liblzma-targets.cmake\")
-# Be compatible with the spelling used by the FindLibLZMA module. This
-# doesn't use ALIAS because it would make CMake resolve LibLZMA::LibLZMA
-# to liblzma::liblzma instead of keeping the original spelling. Keeping
-# the original spelling is important for good FindLibLZMA compatibility.
-add_library(LibLZMA::LibLZMA INTERFACE IMPORTED)
-set_target_properties(LibLZMA::LibLZMA PROPERTIES
- INTERFACE_LINK_LIBRARIES liblzma::liblzma)
+if(NOT TARGET LibLZMA::LibLZMA)
+ # Be compatible with the spelling used by the FindLibLZMA module. This
+ # doesn't use ALIAS because it would make CMake resolve LibLZMA::LibLZMA
+ # to liblzma::liblzma instead of keeping the original spelling. Keeping
+ # the original spelling is important for good FindLibLZMA compatibility.
+ add_library(LibLZMA::LibLZMA INTERFACE IMPORTED)
+ set_target_properties(LibLZMA::LibLZMA PROPERTIES
+ INTERFACE_LINK_LIBRARIES liblzma::liblzma)
+endif()
")
if(ENABLE_THREADS STREQUAL "posix")