From a79bd30a6fbfe614f47ad77498c46e218dbe2b1d Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sat, 13 Feb 2021 23:31:27 +0200 Subject: [PATCH] CMake: Use interface library for better FindLibLZMA compatibility. https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html Thanks to Markus Rickert. --- CMakeLists.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index afb1dd53..1dfdb4f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -452,9 +452,16 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config.cmake" "include(CMakeFindDependencyMacro) set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_dependency(Threads) + include(\"\${CMAKE_CURRENT_LIST_DIR}/liblzma-targets.cmake\") -# Be compatible with the spelling used by the FindLibLZMA module: -add_library(LibLZMA::LibLZMA ALIAS 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) ") # Set CMAKE_INSTALL_LIBDIR and friends.