aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-09-29 08:27:12 -0700
committerRobert Schumacher <roschuma@microsoft.com>2016-09-29 08:31:12 -0700
commitd9aba9f0fe217b53603b6643c268b5ee6b090267 (patch)
treeb4273555e77bb04cb7ae07e20da0791a1cee876e /scripts
parent36799555441089420f29fcb2724d9fde23bc9ec1 (diff)
downloadvcpkg-d9aba9f0fe217b53603b6643c268b5ee6b090267.tar.gz
vcpkg-d9aba9f0fe217b53603b6643c268b5ee6b090267.zip
[vcpkg] Add extract destination argument to vcpkg_extract_source_archive
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_extract_source_archive.cmake14
1 files changed, 10 insertions, 4 deletions
diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake
index 7e4efde07..70c9fe06b 100644
--- a/scripts/cmake/vcpkg_extract_source_archive.cmake
+++ b/scripts/cmake/vcpkg_extract_source_archive.cmake
@@ -1,16 +1,22 @@
include(vcpkg_execute_required_process)
function(vcpkg_extract_source_archive ARCHIVE)
+ if(NOT ARGC EQUAL 2)
+ set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src)
+ else()
+ set(WORKING_DIRECTORY ${ARGV1})
+ endif()
+
get_filename_component(ARCHIVE_FILENAME ${ARCHIVE} NAME)
- if(NOT EXISTS ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted)
+ if(NOT EXISTS ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted)
message(STATUS "Extracting source ${ARCHIVE}")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src)
+ file(MAKE_DIRECTORY ${WORKING_DIRECTORY})
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
+ WORKING_DIRECTORY ${WORKING_DIRECTORY}
LOGNAME extract
)
- file(WRITE ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted)
+ file(WRITE ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted)
endif()
message(STATUS "Extracting done")
endfunction()