aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorBob Kast <bob.kast@emc.com>2018-11-13 15:48:26 -0500
committerBob Kast <bob.kast@emc.com>2018-11-13 15:48:26 -0500
commitd9e39bb4056795a70028b228a746da4889ca7c15 (patch)
tree4853304e1e71e45becedfba5d83e3f5321e0b9c9 /scripts
parent1a9dadf855ab93ff0803fd1ce4ecceec5bf211f0 (diff)
parentffa114aaa43e8bcdf880d6e2c47ee0ed46125070 (diff)
downloadvcpkg-d9e39bb4056795a70028b228a746da4889ca7c15.tar.gz
vcpkg-d9e39bb4056795a70028b228a746da4889ca7c15.zip
Merge branch 'master' of https://github.com/EMCECS/vcpkg
# Conflicts: # ports/ecsutil/CONTROL # ports/ecsutil/portfile.cmake
Diffstat (limited to 'scripts')
-rw-r--r--scripts/bootstrap.ps11
-rw-r--r--scripts/cleanEnvironmentHelper.ps12
-rw-r--r--scripts/cmake/vcpkg_extract_source_archive.cmake104
-rw-r--r--scripts/cmake/vcpkg_from_bitbucket.cmake32
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake74
-rw-r--r--scripts/cmake/vcpkg_from_gitlab.cmake81
-rw-r--r--scripts/toolchains/osx.cmake6
-rw-r--r--scripts/vcpkgTools.xml7
8 files changed, 162 insertions, 145 deletions
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1
index 5554ddc1e..7ebbb2930 100644
--- a/scripts/bootstrap.ps1
+++ b/scripts/bootstrap.ps1
@@ -349,6 +349,7 @@ $arguments = (
"/p:Platform=$platform",
"/p:PlatformToolset=$platformToolset",
"/p:TargetPlatformVersion=$windowsSDK",
+"/p:PreferredToolArchitecture=x64",
"/verbosity:minimal",
"/m",
"/nologo",
diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1
index 0a133f5f8..a3792ecd3 100644
--- a/scripts/cleanEnvironmentHelper.ps1
+++ b/scripts/cleanEnvironmentHelper.ps1
@@ -17,7 +17,7 @@ foreach ($name in $nameSet)
}
# PATH needs to be concatenated as it has values in both machine and user environment. Any other values should be set.
- if ($name -match 'path')
+ if ($name -eq 'path')
{
$pathValuePartial = @()
# Machine values before user values
diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake
index 3aafd4ca4..da0ac611a 100644
--- a/scripts/cmake/vcpkg_extract_source_archive.cmake
+++ b/scripts/cmake/vcpkg_extract_source_archive.cmake
@@ -29,25 +29,19 @@
## * [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake)
include(vcpkg_execute_required_process)
-function(vcpkg_extract_source_archive_ex)
- cmake_parse_arguments(_vesae "" "ARCHIVE;WORKING_DIRECTORY" "" ${ARGN})
-
- if(NOT _vesae_ARCHIVE)
- message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()")
- endif()
-
- if(DEFINED _vesae_WORKING_DIRECTORY)
- set(WORKING_DIRECTORY ${_vesae_WORKING_DIRECTORY})
+function(vcpkg_extract_source_archive ARCHIVE)
+ if(NOT ARGC EQUAL 2)
+ set(WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src")
else()
- set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src)
+ set(WORKING_DIRECTORY ${ARGV1})
endif()
- get_filename_component(ARCHIVE_FILENAME ${_vesae_ARCHIVE} NAME)
+ get_filename_component(ARCHIVE_FILENAME "${ARCHIVE}" NAME)
if(NOT EXISTS ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted)
- message(STATUS "Extracting source ${_vesae_ARCHIVE}")
+ message(STATUS "Extracting source ${ARCHIVE}")
file(MAKE_DIRECTORY ${WORKING_DIRECTORY})
vcpkg_execute_required_process(
- COMMAND ${CMAKE_COMMAND} -E tar xjf ${_vesae_ARCHIVE}
+ COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE}
WORKING_DIRECTORY ${WORKING_DIRECTORY}
LOGNAME extract
)
@@ -55,13 +49,81 @@ function(vcpkg_extract_source_archive_ex)
endif()
endfunction()
-function(vcpkg_extract_source_archive ARCHIVE)
- if(NOT ARGC EQUAL 2)
- vcpkg_extract_source_archive_ex(ARCHIVE ${ARCHIVE})
- else()
- vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- WORKING_DIRECTORY ${ARGV1}
+function(vcpkg_extract_source_archive_ex)
+ cmake_parse_arguments(_vesae "NO_REMOVE_ONE_LEVEL" "OUT_SOURCE_PATH;ARCHIVE;REF;WORKING_DIRECTORY" "PATCHES" ${ARGN})
+
+ if(NOT _vesae_ARCHIVE)
+ message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()")
+ endif()
+
+ if(NOT DEFINED _vesae_OUT_SOURCE_PATH)
+ message(FATAL_ERROR "Must specify OUT_SOURCE_PATH parameter to vcpkg_extract_source_archive_ex()")
+ endif()
+
+ if(NOT DEFINED _vesae_WORKING_DIRECTORY)
+ set(_vesae_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src)
+ endif()
+
+ if(NOT DEFINED _vesae_REF)
+ get_filename_component(_vesae_REF ${_vesae_ARCHIVE} NAME_WE)
+ endif()
+
+ string(REPLACE "/" "-" SANITIZED_REF "${_vesae_REF}")
+
+ # Take the last 10 chars of the REF
+ set(REF_MAX_LENGTH 10)
+ string(LENGTH ${SANITIZED_REF} REF_LENGTH)
+ math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
+ if(FROM_REF LESS 0)
+ set(FROM_REF 0)
+ endif()
+ string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF)
+
+ # Hash the archive hash along with the patches. Take the first 10 chars of the hash
+ file(SHA512 ${_vesae_ARCHIVE} PATCHSET_HASH)
+ foreach(PATCH IN LISTS _vesae_PATCHES)
+ get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}")
+ file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH)
+ string(APPEND PATCHSET_HASH ${CURRENT_HASH})
+ endforeach()
+
+ 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 EXISTS ${SOURCE_PATH})
+ set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP")
+ file(REMOVE_RECURSE ${TEMP_DIR})
+ vcpkg_extract_source_archive("${_vesae_ARCHIVE}" "${TEMP_DIR}")
+
+ if(_vesae_NO_REMOVE_ONE_LEVEL)
+ set(TEMP_SOURCE_PATH ${TEMP_DIR})
+ else()
+ file(GLOB _ARCHIVE_FILES "${TEMP_DIR}/*")
+ list(LENGTH _ARCHIVE_FILES _NUM_ARCHIVE_FILES)
+ set(TEMP_SOURCE_PATH)
+ foreach(dir IN LISTS _ARCHIVE_FILES)
+ if (IS_DIRECTORY ${dir})
+ set(TEMP_SOURCE_PATH "${dir}")
+ break()
+ endif()
+ endforeach()
+
+ if(NOT _NUM_ARCHIVE_FILES EQUAL 2 OR NOT TEMP_SOURCE_PATH)
+ message(FATAL_ERROR "Could not unwrap top level directory from archive. Pass NO_REMOVE_ONE_LEVEL to disable this.")
+ endif()
+ endif()
+
+ vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES ${_vesae_PATCHES}
)
+
+ file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH})
+ file(REMOVE_RECURSE ${TEMP_DIR})
endif()
-endfunction() \ No newline at end of file
+
+ set(${_vesae_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+ message(STATUS "Using source at ${SOURCE_PATH}")
+ return()
+endfunction()
diff --git a/scripts/cmake/vcpkg_from_bitbucket.cmake b/scripts/cmake/vcpkg_from_bitbucket.cmake
index 7eaf550bb..5f23714ea 100644
--- a/scripts/cmake/vcpkg_from_bitbucket.cmake
+++ b/scripts/cmake/vcpkg_from_bitbucket.cmake
@@ -11,6 +11,7 @@
## [REF <v2.0.0>]
## [SHA512 <45d0d7f8cc350...>]
## [HEAD_REF <master>]
+## [PATCHES <patch1.patch> <patch2.patch>...]
## )
## ```
##
@@ -40,6 +41,11 @@
##
## For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms.
##
+## ### PATCHES
+## A list of patches to be applied to the extracted sources.
+##
+## Relative paths are based on the port directory.
+##
## ## Notes:
## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
##
@@ -50,7 +56,7 @@
## * [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake)
function(vcpkg_from_bitbucket)
set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF)
- set(multipleValuesArgs)
+ set(multipleValuesArgs PATCHES)
cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
if(NOT _vdud_OUT_SOURCE_PATH)
@@ -123,8 +129,14 @@ function(vcpkg_from_bitbucket)
SHA512 "${_vdud_SHA512}"
FILENAME "${ORG_NAME}-${REPO_NAME}-${_vdud_REF}.tar.gz"
)
- vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}")
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src ${_version})
+
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ REF "${_vdud_REF}"
+ PATCHES ${_vdud_PATCHES}
+ )
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
return()
endif()
@@ -164,11 +176,6 @@ function(vcpkg_from_bitbucket)
)
endif()
- vcpkg_extract_source_archive_ex(
- ARCHIVE "${ARCHIVE}"
- WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head"
- )
-
# Parse the github refs response with regex.
# TODO: use some JSON swiss-army-knife utility instead.
file(READ "${ARCHIVE_VERSION}" _contents)
@@ -179,5 +186,12 @@ function(vcpkg_from_bitbucket)
# exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build.
set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${_vdud_HEAD_REF})
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${downloaded_file_path}"
+ REF "${_vdud_HEAD_REF}"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head"
+ PATCHES ${_vdud_PATCHES}
+ )
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index 33de8354d..48bfd828a 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -80,16 +80,16 @@ function(vcpkg_from_github)
string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
macro(set_TEMP_SOURCE_PATH BASE BASEREF)
- set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
- if(NOT EXISTS ${TEMP_SOURCE_PATH})
- # Sometimes GitHub strips a leading 'v' off the REF.
- string(REGEX REPLACE "^v" "" REF ${BASEREF})
- string(REPLACE "/" "-" REF ${REF})
- set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
if(NOT EXISTS ${TEMP_SOURCE_PATH})
- message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
+ # Sometimes GitHub strips a leading 'v' off the REF.
+ string(REGEX REPLACE "^v" "" REF ${BASEREF})
+ string(REPLACE "/" "-" REF ${REF})
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
+ if(NOT EXISTS ${TEMP_SOURCE_PATH})
+ message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
+ endif()
endif()
- endif()
endmacro()
if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF)
@@ -111,44 +111,14 @@ function(vcpkg_from_github)
FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz"
)
- # Take the last 10 chars of the REF
- set(REF_MAX_LENGTH 10)
- string(LENGTH ${SANITIZED_REF} REF_LENGTH)
- math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
- if(FROM_REF LESS 0)
- set(FROM_REF 0)
- endif()
- string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF)
-
- # Hash the archive hash along with the patches. Take the first 10 chars of the hash
- set(PATCHSET_HASH "${_vdud_SHA512}")
- foreach(PATCH IN LISTS _vdud_PATCHES)
- get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}")
- file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH)
- string(APPEND PATCHSET_HASH ${CURRENT_HASH})
- endforeach()
-
- string(SHA512 PATCHSET_HASH ${PATCHSET_HASH})
- string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH)
- set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}")
-
- if(NOT EXISTS ${SOURCE_PATH})
- set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP")
- file(REMOVE_RECURSE ${TEMP_DIR})
- vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR})
- set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF})
-
- vcpkg_apply_patches(
- SOURCE_PATH ${TEMP_SOURCE_PATH}
- PATCHES ${_vdud_PATCHES}
- )
-
- file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH})
- file(REMOVE_RECURSE ${TEMP_DIR})
- endif()
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ REF "${SANITIZED_REF}"
+ PATCHES ${_vdud_PATCHES}
+ )
set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
- message(STATUS "Using source at ${SOURCE_PATH}")
return()
endif()
@@ -189,11 +159,6 @@ function(vcpkg_from_github)
)
endif()
- vcpkg_extract_source_archive_ex(
- ARCHIVE "${ARCHIVE}"
- WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head"
- )
-
# Parse the github refs response with regex.
# TODO: use some JSON swiss-army-knife utility instead.
file(READ "${ARCHIVE_VERSION}" _contents)
@@ -206,11 +171,12 @@ function(vcpkg_from_github)
set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
endif()
- set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
- vcpkg_apply_patches(
- SOURCE_PATH ${TEMP_SOURCE_PATH}
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${downloaded_file_path}"
+ REF "${SANITIZED_HEAD_REF}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src/head
PATCHES ${_vdud_PATCHES}
)
- set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE)
- message(STATUS "Using source at ${TEMP_SOURCE_PATH}")
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake
index 2f2198fd6..f13bc054c 100644
--- a/scripts/cmake/vcpkg_from_gitlab.cmake
+++ b/scripts/cmake/vcpkg_from_gitlab.cmake
@@ -11,6 +11,7 @@
## [REF <v10.7.3>]
## [SHA512 <45d0d7f8cc350...>]
## [HEAD_REF <master>]
+## [PATCHES <patch1.patch> <patch2.patch>...]
## )
## ```
##
@@ -45,6 +46,11 @@
##
## For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms.
##
+## ### PATCHES
+## A list of patches to be applied to the extracted sources.
+##
+## Relative paths are based on the port directory.
+##
## ## Notes:
## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
##
@@ -76,28 +82,14 @@ function(vcpkg_from_gitlab)
message(FATAL_ERROR "At least one of REF and HEAD_REF must be specified.")
endif()
- string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO})
- string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
-
- macro(set_TEMP_SOURCE_PATH BASE)
- file(GLOB _ARCHIVE_FILES "${BASE}/${REPO_NAME}*")
- foreach(dir ${_ARCHIVE_FILES})
- if (IS_DIRECTORY ${dir})
- list(APPEND _ARCHIVE_DIRS "${dir}")
- endif()
- endforeach()
- list(LENGTH _ARCHIVE_DIRS _NUM_ARCHIVE_DIRS)
- if(NOT 1 EQUAL ${_NUM_ARCHIVE_DIRS})
- message(FATAL_ERROR "Could not determine source path: There were ${_NUM_ARCHIVE_DIRS} directories extracted from the archive that start with the repo name.")
- endif()
- list(GET _ARCHIVE_DIRS 0 TEMP_SOURCE_PATH)
- endmacro()
-
if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF)
message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.")
set(VCPKG_USE_HEAD_VERSION OFF)
endif()
+ string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO})
+ string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
+
# Handle --no-head scenarios
if(NOT VCPKG_USE_HEAD_VERSION)
if(NOT _vdud_REF)
@@ -112,43 +104,14 @@ function(vcpkg_from_gitlab)
FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz"
)
- # Take the last 10 chars of the REF
- set(REF_MAX_LENGTH 10)
- string(LENGTH ${SANITIZED_REF} REF_LENGTH)
- math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
- if(FROM_REF LESS 0)
- set(FROM_REF 0)
- endif()
- string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF)
-
- # Hash the archive hash along with the patches. Take the first 10 chars of the hash
- set(PATCHSET_HASH "${_vdud_SHA512}")
- foreach(PATCH IN LISTS _vdud_PATCHES)
- file(SHA512 ${PATCH} CURRENT_HASH)
- string(APPEND PATCHSET_HASH ${CURRENT_HASH})
- endforeach()
-
- string(SHA512 PATCHSET_HASH ${PATCHSET_HASH})
- string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH)
- set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}")
-
- if(NOT EXISTS ${SOURCE_PATH})
- set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP")
- file(REMOVE_RECURSE ${TEMP_DIR})
- vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR})
- set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF})
-
- vcpkg_apply_patches(
- SOURCE_PATH ${TEMP_SOURCE_PATH}
- PATCHES ${_vdud_PATCHES}
- )
-
- file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH})
- file(REMOVE_RECURSE ${TEMP_DIR})
- endif()
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ REF "${SANITIZED_REF}"
+ PATCHES ${_vdud_PATCHES}
+ )
set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
-
return()
endif()
@@ -182,10 +145,6 @@ function(vcpkg_from_gitlab)
)
endif()
- vcpkg_extract_source_archive_ex(
- ARCHIVE "${ARCHIVE}"
- WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head"
- )
# There are issues with the Gitlab API project paths being URL-escaped, so we use git here to get the head revision
execute_process(COMMAND ${GIT} ls-remote
"${_vdud_GITLAB_URL}/${ORG_NAME}/${REPO_NAME}.git" "${_vdud_HEAD_REF}"
@@ -199,10 +158,12 @@ function(vcpkg_from_gitlab)
set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
endif()
- set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
- vcpkg_apply_patches(
- SOURCE_PATH ${TEMP_SOURCE_PATH}
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${downloaded_file_path}"
+ REF "${SANITIZED_HEAD_REF}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src/head
PATCHES ${_vdud_PATCHES}
)
- set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE)
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake
index b8f261d09..9c4fdb12e 100644
--- a/scripts/toolchains/osx.cmake
+++ b/scripts/toolchains/osx.cmake
@@ -1,5 +1,11 @@
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
+
+ set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "")
+ set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "")
+else()
+ set(CMAKE_SYSTEM_VERSION "17.0.0" CACHE STRING "")
+ set(CMAKE_SYSTEM_PROCESSOR "x86_64" CACHE STRING "")
endif()
set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "")
diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml
index 320e86275..c2045433d 100644
--- a/scripts/vcpkgTools.xml
+++ b/scripts/vcpkgTools.xml
@@ -73,6 +73,13 @@
<sha512>2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3</sha512>
<archiveName>aria2-1.33.1-win-32bit-build1.zip</archiveName>
</tool>
+ <tool name="ninja" os="windows">
+ <version>1.8.2</version>
+ <exeRelativePath>ninja.exe</exeRelativePath>
+ <url>https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip</url>
+ <sha512>9b9ce248240665fcd6404b989f3b3c27ed9682838225e6dc9b67b551774f251e4ff8a207504f941e7c811e7a8be1945e7bcb94472a335ef15e23a0200a32e6d5</sha512>
+ <archiveName>ninja-win.zip</archiveName>
+ </tool>
<tool name="ninja" os="linux">
<version>1.8.2</version>
<exeRelativePath>ninja</exeRelativePath>