* [GNA] Update GNA library to 1191 version * append symlink to libgna.so * append selective unpacking of the archive * changed the criterion for checking the unpacking process (exit code) * remove tabs * add equalToReferenceWithDelta_1191 * removed equalToReferenceWithDelta_1191 * master -> update_gna_library
48 lines
1.5 KiB
CMake
48 lines
1.5 KiB
CMake
# Copyright (C) 2018-2021 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
function (extract archive_path unpacked_path folder files_to_extract result)
|
|
# Slurped from a generated extract-TARGET.cmake file.
|
|
get_filename_component(unpacked_dir ${unpacked_path} DIRECTORY)
|
|
|
|
file(MAKE_DIRECTORY ${unpacked_path})
|
|
|
|
message(STATUS "extracting...
|
|
src='${archive_path}'
|
|
dst='${unpacked_path}'")
|
|
|
|
if(NOT EXISTS "${archive_path}")
|
|
message(FATAL_ERROR "error: file to extract does not exist: '${archive_path}'")
|
|
endif()
|
|
|
|
# Extract it:
|
|
#
|
|
# in case of archive dont have top level folder lets create it
|
|
if (${folder})
|
|
set (unpacked_dir ${unpacked_path})
|
|
message("unpacked_dir= ${unpacked_dir}")
|
|
endif()
|
|
|
|
string(REGEX REPLACE ";" " " list_files_to_extract "${${files_to_extract}}")
|
|
message(STATUS "extracting... [tar xfz] ${list_files_to_extract}")
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${archive_path} ${${files_to_extract}}
|
|
WORKING_DIRECTORY ${unpacked_dir}
|
|
RESULT_VARIABLE rv
|
|
ERROR_VARIABLE err)
|
|
|
|
if (NOT (rv EQUAL 0))
|
|
message(STATUS "error: extract of '${archive_path}' failed: ${err}")
|
|
#invalid archive
|
|
file(REMOVE_RECURSE "${unpacked_path}")
|
|
file(REMOVE_RECURSE "${archive_path}")
|
|
set(${result} 0 PARENT_SCOPE)
|
|
else()
|
|
if (NOT (err STREQUAL ""))
|
|
message(STATUS "${err}")
|
|
endif()
|
|
set(${result} 1 PARENT_SCOPE)
|
|
endif()
|
|
|
|
endfunction (extract)
|