mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
Build: Use imported target LibArchive::LibArchive instead of variables
This commit is contained in:
@@ -26,6 +26,9 @@ The module defines the following ``IMPORTED`` targets:
|
||||
.. versionadded:: 3.6
|
||||
Support for new libarchive 3.2 version string format.
|
||||
|
||||
.. versionadded:: 3.17
|
||||
Provides an imported target.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
find_path(LibArchive_INCLUDE_DIR
|
||||
|
||||
@@ -743,7 +743,6 @@ target_include_directories(
|
||||
"${CMake_BINARY_DIR}/Source"
|
||||
"${CMake_SOURCE_DIR}/Source"
|
||||
"${CMake_SOURCE_DIR}/Source/LexerParser"
|
||||
${CMAKE_TAR_INCLUDES}
|
||||
${CMake_HAIKU_INCLUDE_DIRS}
|
||||
)
|
||||
target_link_libraries(
|
||||
@@ -752,8 +751,8 @@ target_link_libraries(
|
||||
cmstd
|
||||
cmsys
|
||||
EXPAT::EXPAT
|
||||
LibArchive::LibArchive
|
||||
ZLIB::ZLIB
|
||||
${CMAKE_TAR_LIBRARIES}
|
||||
${CMAKE_CURL_LIBRARIES}
|
||||
${CMAKE_JSONCPP_LIBRARIES}
|
||||
${CMAKE_LIBUV_LIBRARIES}
|
||||
|
||||
@@ -259,12 +259,16 @@ if(CMAKE_USE_SYSTEM_LIBARCHIVE)
|
||||
if(NOT LibArchive_FOUND)
|
||||
message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!")
|
||||
endif()
|
||||
set(CMAKE_TAR_INCLUDES ${LibArchive_INCLUDE_DIRS})
|
||||
set(CMAKE_TAR_LIBRARIES ${LibArchive_LIBRARIES})
|
||||
# NOTE `FindLibArchive` got imported targets support since 3.17
|
||||
if (NOT TARGET LibArchive::LibArchive)
|
||||
add_library(LibArchive::LibArchive UNKNOWN IMPORTED)
|
||||
set_target_properties(LibArchive::LibArchive PROPERTIES
|
||||
IMPORTED_LOCATION "${LibArchive_LIBRARIES}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LibArchive_INCLUDE_DIRS}")
|
||||
endif ()
|
||||
else()
|
||||
set(EXPAT_INCLUDE_DIR ${CMAKE_EXPAT_INCLUDES})
|
||||
set(EXPAT_LIBRARY ${CMAKE_EXPAT_LIBRARIES})
|
||||
add_compile_definitions(LIBARCHIVE_STATIC)
|
||||
set(ENABLE_MBEDTLS OFF)
|
||||
set(ENABLE_NETTLE OFF)
|
||||
if(DEFINED CMAKE_USE_OPENSSL)
|
||||
@@ -300,8 +304,9 @@ else()
|
||||
set(ENABLE_SAFESEH "" CACHE INTERNAL "libarchive: No /SAFESEH linker flag")
|
||||
set(WINDOWS_VERSION "WIN7" CACHE INTERNAL "libarchive: Set Windows version to use (Windows only)")
|
||||
add_subdirectory(Utilities/cmlibarchive)
|
||||
add_library(LibArchive::LibArchive ALIAS cmlibarchive)
|
||||
target_compile_definitions(cmlibarchive INTERFACE LIBARCHIVE_STATIC)
|
||||
CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
|
||||
set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
|
||||
endif()
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user