vcpkg/scripts/cmake/vcpkg_extract_source_archive.cmake
Robert Schumacher e04ecb3dd8 Add stamp file for extracted archives.
This enables multiple archives to be correctly expanded into the same build tree. Previously, the second archive will detect as being already extracted since 'src' exists.
2016-09-20 21:09:00 -07:00

17 lines
683 B
CMake

include(vcpkg_execute_required_process)
function(vcpkg_extract_source_archive ARCHIVE)
get_filename_component(ARCHIVE_FILENAME ${ARCHIVE} NAME)
if(NOT EXISTS ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted)
message(STATUS "Extracting source ${ARCHIVE}")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src)
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
LOGNAME extract
)
file(WRITE ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted)
endif()
message(STATUS "Extracting done")
endfunction()