Use system libarchive if available
This commit is contained in:
22
3rdParty/CMakeLists.txt
vendored
22
3rdParty/CMakeLists.txt
vendored
@@ -17,24 +17,32 @@ add_subdirectory(tracy)
|
||||
add_subdirectory(libstud-uuid)
|
||||
add_subdirectory(rapidyaml)
|
||||
|
||||
if (NOT USE_SYSTEM_LIB_ARCHIVE)
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/deps)
|
||||
execute_process(
|
||||
|
||||
#TODO move into a different file
|
||||
find_package(LibArchive QUIET)
|
||||
if (NOT LibArchive_FOUND)
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/deps)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${TOOLCHAIN_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/libarchive
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/deps
|
||||
)
|
||||
execute_process(
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/deps
|
||||
)
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps/INSTALL)
|
||||
)
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps/INSTALL)
|
||||
else ()
|
||||
message("Using system LibArchive")
|
||||
set(USING_SYSTEM_LIBARCHIVE ON PARENT_SCOPE)
|
||||
endif ()
|
||||
|
||||
function(LinkLibArchive TARGET)
|
||||
find_package(LibArchive REQUIRED)
|
||||
set(ZLIB_USE_STATIC_LIBS ON)
|
||||
find_package(ZLIB REQUIRED)
|
||||
if (NOT USING_SYSTEM_LIBARCHIVE)
|
||||
find_package(LZ4 REQUIRED)
|
||||
find_package(zstd REQUIRED)
|
||||
endif ()
|
||||
target_include_directories(${TARGET} PRIVATE ${LibArchive_INCLUDE_DIR})
|
||||
target_link_libraries(${TARGET} PRIVATE ${LibArchive_LIBRARIES} ${ZLIB_LIBRARIES} ${zstd_LIBRARIES} ${LZ4_LIBRARIES})
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user