diff options
| author | ras0219 <533828+ras0219@users.noreply.github.com> | 2020-07-07 13:53:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-07 13:53:19 -0700 |
| commit | f9bdf139535f25dd0847fecff22a1c8c606da613 (patch) | |
| tree | 9ffe023676b93d7f4bd4400dced790d96b3ac906 /scripts/cmake | |
| parent | 12333a6b96848445fd04b19a8f7e00cdaf2ad0b6 (diff) | |
| download | vcpkg-f9bdf139535f25dd0847fecff22a1c8c606da613.tar.gz vcpkg-f9bdf139535f25dd0847fecff22a1c8c606da613.zip | |
[vcpkg] Implement --editable (#12200)
--editable suppresses binary caching and source re-extraction for packages listed on the command line (similar to --head).
This fundamentally changes the port maintenance loop, so several example documents were updated. To avoid users having substantial changes suddenly destroyed by forgetting to pass --editable, "clean" sources have different extract locations.
The undocumented command `build` implies `--editable`.
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'scripts/cmake')
| -rw-r--r-- | scripts/cmake/vcpkg_extract_source_archive_ex.cmake | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake index 67916d09d..411000bf8 100644 --- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -101,9 +101,16 @@ function(vcpkg_extract_source_archive_ex) string(SHA512 PATCHSET_HASH ${PATCHSET_HASH})
string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH)
set(SOURCE_PATH "${_vesae_WORKING_DIRECTORY}/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}")
+ if (NOT _VCPKG_EDITABLE)
+ string(APPEND SOURCE_PATH ".clean")
+ if(EXISTS ${SOURCE_PATH})
+ message(STATUS "Cleaning sources at ${SOURCE_PATH}. Pass --editable to vcpkg to reuse sources.")
+ file(REMOVE_RECURSE ${SOURCE_PATH})
+ endif()
+ endif()
if(NOT EXISTS ${SOURCE_PATH})
- set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP")
+ set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}.tmp")
file(REMOVE_RECURSE ${TEMP_DIR})
vcpkg_extract_source_archive("${_vesae_ARCHIVE}" "${TEMP_DIR}")
|
