diff options
author | Benjamin Buch <bebuch@users.noreply.github.com> | 2023-06-06 15:32:45 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2023-07-18 13:02:02 +0300 |
commit | d04eb78ab3892d3678c180437dd66379efa051fd (patch) | |
tree | 38e5f27c5fbac837104443606843de45db729809 /CMakeLists.txt | |
parent | Translations: Update the Esperanto translation. (diff) | |
download | xz-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.txt | 16 |
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") |