aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authornicole mazzuca <mazzucan@outlook.com>2020-12-01 13:37:26 -0800
committerGitHub <noreply@github.com>2020-12-01 13:37:26 -0800
commit6b117c9c7e23b933045e0f898120ec837a3816f0 (patch)
tree67eab9ba2c6caca67d6f1423a5db5cbdbc44d40d /scripts
parentf92bf6ee1ec327799c0b1b5efac2365fb7004237 (diff)
downloadvcpkg-6b117c9c7e23b933045e0f898120ec837a3816f0.tar.gz
vcpkg-6b117c9c7e23b933045e0f898120ec837a3816f0.zip
[vcpkg docs] Check for documentation generation in CI (#14614)
* [vcpkg docs] Change how documenting port functions works Instead of using `##`, use comment blocks for documentation. Also, add some minor docs and change RST -> MD so we actually get docs generated. * add CI stuff * regenerate docs * fix vcpkg_find_acquire_program to not use _execute_process
Diffstat (limited to 'scripts')
-rw-r--r--scripts/azure-pipelines/azure-pipelines.yml16
-rw-r--r--scripts/azure-pipelines/windows/Check-CMakeFunctionDocumentation.ps130
-rw-r--r--scripts/cmake/execute_process.cmake20
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake1008
-rw-r--r--scripts/cmake/vcpkg_add_to_path.cmake49
-rw-r--r--scripts/cmake/vcpkg_apply_patches.cmake64
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake65
-rw-r--r--scripts/cmake/vcpkg_build_gn.cmake32
-rw-r--r--scripts/cmake/vcpkg_build_make.cmake97
-rw-r--r--scripts/cmake/vcpkg_build_msbuild.cmake126
-rw-r--r--scripts/cmake/vcpkg_build_ninja.cmake32
-rw-r--r--scripts/cmake/vcpkg_build_nmake.cmake149
-rw-r--r--scripts/cmake/vcpkg_build_qmake.cmake18
-rw-r--r--scripts/cmake/vcpkg_buildpath_length_warning.cmake13
-rw-r--r--scripts/cmake/vcpkg_check_features.cmake292
-rw-r--r--scripts/cmake/vcpkg_check_linkage.cmake65
-rw-r--r--scripts/cmake/vcpkg_clean_executables_in_bin.cmake43
-rw-r--r--scripts/cmake/vcpkg_clean_msbuild.cmake26
-rw-r--r--scripts/cmake/vcpkg_common_definitions.cmake53
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake2
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake133
-rw-r--r--scripts/cmake/vcpkg_configure_gn.cmake58
-rw-r--r--scripts/cmake/vcpkg_configure_make.cmake181
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake74
-rw-r--r--scripts/cmake/vcpkg_configure_qmake.cmake38
-rw-r--r--scripts/cmake/vcpkg_copy_pdbs.cmake49
-rw-r--r--scripts/cmake/vcpkg_copy_tool_dependencies.cmake39
-rw-r--r--scripts/cmake/vcpkg_copy_tools.cmake57
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake104
-rw-r--r--scripts/cmake/vcpkg_execute_build_process.cmake69
-rw-r--r--scripts/cmake/vcpkg_execute_in_download_mode.cmake120
-rw-r--r--scripts/cmake/vcpkg_execute_required_process.cmake94
-rw-r--r--scripts/cmake/vcpkg_execute_required_process_repeat.cmake17
-rw-r--r--scripts/cmake/vcpkg_extract_source_archive.cmake61
-rw-r--r--scripts/cmake/vcpkg_extract_source_archive_ex.cmake109
-rw-r--r--scripts/cmake/vcpkg_fail_port_install.cmake79
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake96
-rw-r--r--scripts/cmake/vcpkg_find_fortran.cmake23
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake101
-rw-r--r--scripts/cmake/vcpkg_fixup_pkgconfig.cmake90
-rw-r--r--scripts/cmake/vcpkg_from_bitbucket.cmake115
-rw-r--r--scripts/cmake/vcpkg_from_git.cmake76
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake143
-rw-r--r--scripts/cmake/vcpkg_from_gitlab.cmake127
-rw-r--r--scripts/cmake/vcpkg_from_sourceforge.cmake132
-rw-r--r--scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake15
-rw-r--r--scripts/cmake/vcpkg_get_windows_sdk.cmake14
-rw-r--r--scripts/cmake/vcpkg_install_cmake.cmake47
-rw-r--r--scripts/cmake/vcpkg_install_gn.cmake44
-rw-r--r--scripts/cmake/vcpkg_install_make.cmake44
-rw-r--r--scripts/cmake/vcpkg_install_meson.cmake29
-rw-r--r--scripts/cmake/vcpkg_install_msbuild.cmake182
-rw-r--r--scripts/cmake/vcpkg_install_nmake.cmake128
-rw-r--r--scripts/cmake/vcpkg_install_qmake.cmake44
-rw-r--r--scripts/cmake/vcpkg_internal_escape_regex_control_characters.cmake (renamed from scripts/cmake/vcpkg_escape_regex_control_characters.cmake)2
-rw-r--r--scripts/cmake/vcpkg_internal_get_cmake_vars.cmake54
-rw-r--r--scripts/cmake/vcpkg_prettify_command.cmake30
-rw-r--r--scripts/cmake/vcpkg_replace_string.cmake20
-rw-r--r--scripts/cmake/vcpkg_test_cmake.cmake1
59 files changed, 2628 insertions, 2411 deletions
diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml
index 1a2852ced..03bf38e4c 100644
--- a/scripts/azure-pipelines/azure-pipelines.yml
+++ b/scripts/azure-pipelines/azure-pipelines.yml
@@ -39,11 +39,27 @@ stages:
filePath: 'scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1'
arguments: '-Root .'
pwsh: true
+- stage: check_documentation_generation
+ displayName: Check if the documentation has been regenerated correctly
+ pool: $(windows-pool)
+ dependsOn: []
+ jobs:
+ - job:
+ workspace:
+ clean: resources
+ steps:
+ - task: Powershell@2
+ displayName: 'Check documentation generation'
+ inputs:
+ filePath: 'scripts/azure-pipelines/windows/Check-CMakeFunctionDocumentation.ps1'
+ arguments: '-Root .'
+ pwsh: true
- stage: run_port_ci
displayName: 'Run the Port CI'
dependsOn:
- check_cxx_formatting
- check_manifest_formatting
+ - check_documentation_generation
jobs:
- template: windows/azure-pipelines.yml
parameters:
diff --git a/scripts/azure-pipelines/windows/Check-CMakeFunctionDocumentation.ps1 b/scripts/azure-pipelines/windows/Check-CMakeFunctionDocumentation.ps1
new file mode 100644
index 000000000..5505c3401
--- /dev/null
+++ b/scripts/azure-pipelines/windows/Check-CMakeFunctionDocumentation.ps1
@@ -0,0 +1,30 @@
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True)]
+ [string]$Root
+)
+
+if (-not (Test-Path "$Root/.vcpkg-root"))
+{
+ Write-Error "The vcpkg root was not at $Root"
+ throw
+}
+
+& "$Root/docs/regenerate.ps1" -VcpkgRoot $Root -WarningAction 'Stop'
+
+$changedFiles = & "$PSScriptRoot/Get-ChangedFiles.ps1" -Directory "$Root/docs"
+if ($null -ne $changedFiles)
+{
+ $msg = @(
+ "",
+ "The documentation files do not seem to have been regenerated.",
+ "Please re-run `docs/regenerate.ps1`."
+ )
+ $msg += ""
+
+ $msg += "This should produce the following diff:"
+ $msg += git diff "$Root/docs"
+
+ Write-Error ($msg -join "`n")
+ throw
+}
diff --git a/scripts/cmake/execute_process.cmake b/scripts/cmake/execute_process.cmake
index 76a3d9a8b..2207cfab2 100644
--- a/scripts/cmake/execute_process.cmake
+++ b/scripts/cmake/execute_process.cmake
@@ -1,10 +1,12 @@
-## # execute_process
-##
-## Intercepts all calls to execute_process() inside portfiles and fails when Download Mode
-## is enabled.
-##
-## In order to execute a process in Download Mode call `vcpkg_execute_in_download_mode()` instead.
-##
+#[===[.md:
+# execute_process
+
+Intercepts all calls to execute_process() inside portfiles and fails when Download Mode
+is enabled.
+
+In order to execute a process in Download Mode call `vcpkg_execute_in_download_mode()` instead.
+#]===]
+
if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS)
set(OVERRIDEN_EXECUTE_PROCESS ON)
@@ -12,9 +14,5 @@ if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS)
macro(execute_process)
message(FATAL_ERROR "This command cannot be executed in Download Mode.\nHalting portfile execution.\n")
endmacro()
- else()
- macro(_execute_process)
- execute_process(${ARGV})
- endmacro()
endif()
endif()
diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake
index 49271eeb6..ac48d1777 100644
--- a/scripts/cmake/vcpkg_acquire_msys.cmake
+++ b/scripts/cmake/vcpkg_acquire_msys.cmake
@@ -1,519 +1,521 @@
-## # vcpkg_acquire_msys
-##
-## Download and prepare an MSYS2 instance.
-##
-## ## Usage
-## ```cmake
-## vcpkg_acquire_msys(<MSYS_ROOT_VAR>
-## PACKAGES <package>...
-## [NO_DEFAULT_PACKAGES]
-## [DIRECT_PACKAGES <URL> <SHA512> <URL> <SHA512> ...]
-## )
-## ```
-##
-## ## Parameters
-## ### MSYS_ROOT_VAR
-## An out-variable that will be set to the path to MSYS2.
-##
-## ### PACKAGES
-## A list of packages to acquire in msys.
-##
-## To ensure a package is available: `vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.16)`
-##
-## ### NO_DEFAULT_PACKAGES
-## Exclude the normal base packages.
-##
-## The list of base packages includes: bash, coreutils, sed, grep, gawk, diffutils, make, and pkg-config
-##
-## ### DIRECT_PACKAGES
-## A list of URL/SHA512 pairs to acquire in msys.
-##
-## This parameter can be used by a port to privately extend the list of msys packages to be acquired.
-## The URLs can be found on the msys2 website[1] and should be a direct archive link:
-##
-## https://repo.msys2.org/mingw/i686/mingw-w64-i686-gettext-0.19.8.1-9-any.pkg.tar.zst
-##
-## [1] https://packages.msys2.org/search
-##
-## ## Notes
-## A call to `vcpkg_acquire_msys` will usually be followed by a call to `bash.exe`:
-## ```cmake
-## vcpkg_acquire_msys(MSYS_ROOT)
-## set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
-##
-## vcpkg_execute_required_process(
-## COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
-## WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
-## LOGNAME build-${TARGET_TRIPLET}-rel
-## )
-## ```
-##
-## ## Examples
-##
-## * [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
-## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake)
-## * [libvpx](https://github.com/Microsoft/vcpkg/blob/master/ports/libvpx/portfile.cmake)
+#[===[.md:
+# vcpkg_acquire_msys
-function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
- # parse parameters such that semicolons in options arguments to COMMAND don't get erased
- cmake_parse_arguments(PARSE_ARGV 0 _am "NO_DEFAULT_PACKAGES" "" "PACKAGES;DIRECT_PACKAGES")
+Download and prepare an MSYS2 instance.
- set(TOTAL_HASH 0)
- set(ARCHIVES)
+## Usage
+```cmake
+vcpkg_acquire_msys(<MSYS_ROOT_VAR>
+ PACKAGES <package>...
+ [NO_DEFAULT_PACKAGES]
+ [DIRECT_PACKAGES <URL> <SHA512> <URL> <SHA512> ...]
+)
+```
- set(PACKAGES ${_am_PACKAGES})
+## Parameters
+### MSYS_ROOT_VAR
+An out-variable that will be set to the path to MSYS2.
- if(NOT _am_NO_DEFAULT_PACKAGES)
- list(APPEND PACKAGES bash coreutils sed grep gawk diffutils make pkg-config)
- endif()
+### PACKAGES
+A list of packages to acquire in msys.
- macro(msys_package_download URL SHA FILENAME)
- set(URLS "${URL}")
- # Mirror list from https://github.com/msys2/MSYS2-packages/blob/master/pacman-mirrors/mirrorlist.msys
- # Sourceforge is not used because it does not keep older package versions
- set(MIRRORS
- "https://www2.futureware.at/~nickoe/msys2-mirror/"
- "https://mirror.yandex.ru/mirrors/msys2/"
- "https://mirrors.tuna.tsinghua.edu.cn/msys2/"
- "https://mirrors.ustc.edu.cn/msys2/"
- "https://mirror.bit.edu.cn/msys2/"
- "https://mirror.selfnet.de/msys2/"
- "https://mirrors.sjtug.sjtu.edu.cn/msys2/"
- )
+To ensure a package is available: `vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.16)`
- foreach(MIRROR IN LISTS MIRRORS)
- string(REPLACE "https://repo.msys2.org/" "${MIRROR}" MIRROR_URL "${URL}")
- list(APPEND URLS "${MIRROR_URL}")
- endforeach()
- vcpkg_download_distfile(MSYS_ARCHIVE
- URLS ${URLS}
- SHA512 "${SHA}"
- FILENAME "msys-${FILENAME}"
- QUIET
- )
- string(APPEND TOTAL_HASH "${SHA}")
- list(APPEND ARCHIVES "${MSYS_ARCHIVE}")
- endmacro()
+### NO_DEFAULT_PACKAGES
+Exclude the normal base packages.
- macro(msys_package)
- cmake_parse_arguments(p "ZST;ANY" "URL;NAME;SHA512;VERSION;REPO" "DEPS" ${ARGN})
- if(p_URL AND NOT p_NAME)
- if(NOT p_URL MATCHES "^https://repo\\.msys2\\.org/.*/(([^-]+(-[^0-9][^-]*)*)-.+\\.pkg\\.tar\\.(xz|zst))\$")
- message(FATAL_ERROR "Regex does not match supplied URL to vcpkg_acquire_msys: ${p_URL}")
- endif()
- set(FILENAME "${CMAKE_MATCH_1}")
- set(p_NAME "${CMAKE_MATCH_2}")
- else()
- if(p_ZST)
- set(EXT zst)
- else()
- set(EXT xz)
- endif()
- if(p_ANY)
- set(ARCH any)
- else()
- set(ARCH x86_64)
- endif()
- if(NOT p_REPO)
- set(p_REPO msys/x86_64)
- endif()
- set(FILENAME "${p_NAME}-${p_VERSION}-${ARCH}.pkg.tar.${EXT}")
- set(p_URL "https://repo.msys2.org/${p_REPO}/${FILENAME}")
- endif()
- if("${p_NAME}" IN_LIST PACKAGES)
- list(REMOVE_ITEM PACKAGES "${p_NAME}")
- list(APPEND PACKAGES ${p_DEPS})
- msys_package_download("${p_URL}" "${p_SHA512}" "${FILENAME}")
+The list of base packages includes: bash, coreutils, sed, grep, gawk, diffutils, make, and pkg-config
+
+### DIRECT_PACKAGES
+A list of URL/SHA512 pairs to acquire in msys.
+
+This parameter can be used by a port to privately extend the list of msys packages to be acquired.
+The URLs can be found on the msys2 website[1] and should be a direct archive link:
+
+ https://repo.msys2.org/mingw/i686/mingw-w64-i686-gettext-0.19.8.1-9-any.pkg.tar.zst
+
+[1] https://packages.msys2.org/search
+
+## Notes
+A call to `vcpkg_acquire_msys` will usually be followed by a call to `bash.exe`:
+```cmake
+vcpkg_acquire_msys(MSYS_ROOT)
+set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
+
+vcpkg_execute_required_process(
+ COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME build-${TARGET_TRIPLET}-rel
+)
+```
+
+## Examples
+
+* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
+* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake)
+* [libvpx](https://github.com/Microsoft/vcpkg/blob/master/ports/libvpx/portfile.cmake)
+#]===]
+
+function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
+ # parse parameters such that semicolons in options arguments to COMMAND don't get erased
+ cmake_parse_arguments(PARSE_ARGV 0 _am "NO_DEFAULT_PACKAGES" "" "PACKAGES;DIRECT_PACKAGES")
+
+ set(TOTAL_HASH 0)
+ set(ARCHIVES)
+
+ set(PACKAGES ${_am_PACKAGES})
+
+ if(NOT _am_NO_DEFAULT_PACKAGES)
+ list(APPEND PACKAGES bash coreutils sed grep gawk diffutils make pkg-config)
endif()
- endmacro()
- unset(N)
- foreach(P IN LISTS _am_DIRECT_PACKAGES)
- if(NOT DEFINED N)
- set(N "${P}")
- else()
- get_filename_component(FILENAME "${N}" NAME)
- msys_package_download("${N}" "${P}" "${FILENAME}")
- unset(N)
+ macro(msys_package_download URL SHA FILENAME)
+ set(URLS "${URL}")
+ # Mirror list from https://github.com/msys2/MSYS2-packages/blob/master/pacman-mirrors/mirrorlist.msys
+ # Sourceforge is not used because it does not keep older package versions
+ set(MIRRORS
+ "https://www2.futureware.at/~nickoe/msys2-mirror/"
+ "https://mirror.yandex.ru/mirrors/msys2/"
+ "https://mirrors.tuna.tsinghua.edu.cn/msys2/"
+ "https://mirrors.ustc.edu.cn/msys2/"
+ "https://mirror.bit.edu.cn/msys2/"
+ "https://mirror.selfnet.de/msys2/"
+ "https://mirrors.sjtug.sjtu.edu.cn/msys2/"
+ )
+
+ foreach(MIRROR IN LISTS MIRRORS)
+ string(REPLACE "https://repo.msys2.org/" "${MIRROR}" MIRROR_URL "${URL}")
+ list(APPEND URLS "${MIRROR_URL}")
+ endforeach()
+ vcpkg_download_distfile(MSYS_ARCHIVE
+ URLS ${URLS}
+ SHA512 "${SHA}"
+ FILENAME "msys-${FILENAME}"
+ QUIET
+ )
+ string(APPEND TOTAL_HASH "${SHA}")
+ list(APPEND ARCHIVES "${MSYS_ARCHIVE}")
+ endmacro()
+
+ macro(msys_package)
+ cmake_parse_arguments(p "ZST;ANY" "URL;NAME;SHA512;VERSION;REPO" "DEPS" ${ARGN})
+ if(p_URL AND NOT p_NAME)
+ if(NOT p_URL MATCHES "^https://repo\\.msys2\\.org/.*/(([^-]+(-[^0-9][^-]*)*)-.+\\.pkg\\.tar\\.(xz|zst))\$")
+ message(FATAL_ERROR "Regex does not match supplied URL to vcpkg_acquire_msys: ${p_URL}")
+ endif()
+ set(FILENAME "${CMAKE_MATCH_1}")
+ set(p_NAME "${CMAKE_MATCH_2}")
+ else()
+ if(p_ZST)
+ set(EXT zst)
+ else()
+ set(EXT xz)
+ endif()
+ if(p_ANY)
+ set(ARCH any)
+ else()
+ set(ARCH x86_64)
+ endif()
+ if(NOT p_REPO)
+ set(p_REPO msys/x86_64)
+ endif()
+ set(FILENAME "${p_NAME}-${p_VERSION}-${ARCH}.pkg.tar.${EXT}")
+ set(p_URL "https://repo.msys2.org/${p_REPO}/${FILENAME}")
+ endif()
+ if("${p_NAME}" IN_LIST PACKAGES)
+ list(REMOVE_ITEM PACKAGES "${p_NAME}")
+ list(APPEND PACKAGES ${p_DEPS})
+ msys_package_download("${p_URL}" "${p_SHA512}" "${FILENAME}")
+ endif()
+ endmacro()
+
+ unset(N)
+ foreach(P IN LISTS _am_DIRECT_PACKAGES)
+ if(NOT DEFINED N)
+ set(N "${P}")
+ else()
+ get_filename_component(FILENAME "${N}" NAME)
+ msys_package_download("${N}" "${P}" "${FILENAME}")
+ unset(N)
+ endif()
+ endforeach()
+ if(DEFINED N)
+ message(FATAL_ERROR "vcpkg_acquire_msys(... DIRECT_PACKAGES ...) requires exactly pairs of URL/SHA512")
endif()
- endforeach()
- if(DEFINED N)
- message(FATAL_ERROR "vcpkg_acquire_msys(... DIRECT_PACKAGES ...) requires exactly pairs of URL/SHA512")
- endif()
- # To add new entries, use https://packages.msys2.org/package/$PACKAGE?repo=msys
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/unzip-6.0-2-x86_64.pkg.tar.xz"
- SHA512 b8a1e0ce6deff26939cb46267f80ada0a623b7d782e80873cea3d388b4dc3a1053b14d7565b31f70bc904bf66f66ab58ccc1cd6bfa677065de1f279dd331afb9
- DEPS libbz2
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz"
- SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/patch-2.7.6-1-x86_64.pkg.tar.xz"
- SHA512 04d06b9d5479f129f56e8290e0afe25217ffa457ec7bed3e576df08d4a85effd80d6e0ad82bd7541043100799b608a64da3c8f535f8ea173d326da6194902e8c
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gzip-1.10-1-x86_64.pkg.tar.xz"
- SHA512 2d0a60f2c384e3b9e2bed2212867c85333545e51ee0f583a33914e488e43c265ed0017cd4430a6e3dafdca99c0414b3756a4b9cc92a6f04d5566eff8b68def75
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz"
- SHA512 1cf2a07022113010e00e150e7004732013a793d49e7a6ac7c2be27a0b2c0ce3366150584b9974e30df042f8876a84d6a77c1a46f0607e38ebe18f8a25f51c32d
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/autoconf-2.69-5-any.pkg.tar.xz"
- SHA512 66b9c97bd3d1dfe2a2ab576235b6b8c204a9e4c099ba14cf5d0139e564bba1e735e3b1083354b4cac8c6c42233cbdd5e1e277e32cadfe24017b94d2fbdeb5617
- DEPS m4
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/diffutils-3.7-1-x86_64.pkg.tar.xz"
- SHA512 0c39837a26b2111bb6310cdfe0bc14656e3d57456ad8023f59c9386634a8f1f236915c79a57348b64c508897c73ed88d8abce2b9ac512a427e9a3956939f2040
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/binutils-2.34-4-x86_64.pkg.tar.zst"
- SHA512 5271288d11489879082bc1f2298bb8bedbcfcf6ee19f8a9b3b552b6a4395543d9385bb833e3c32b1560bff1b411d2be503e2c12a7201bf37b85cfacc5f5baba3
- DEPS libiconv libintl
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libtool-2.4.6-9-x86_64.pkg.tar.xz"
- SHA512 b309799e5a9d248ef66eaf11a0bd21bf4e8b9bd5c677c627ec83fa760ce9f0b54ddf1b62cbb436e641fbbde71e3b61cb71ff541d866f8ca7717a3a0dbeb00ebf
- DEPS grep sed coreutils file
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/file-5.39-1-x86_64.pkg.tar.zst"
- SHA512 be51dd0f6143a2f34f2a3e7d412866eb12511f25daaf3a5478240537733a67d7797a3a55a8893e5638589c06bca5af20aed5ded7db0bf19fbf52b30fae08cadd
- DEPS gcc-libs zlib libbz2
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz"
- SHA512 b607da40d3388b440f2a09e154f21966cd55ad77e02d47805f78a9dee5de40226225bf0b8335fdfd4b83f25ead3098e9cb974d4f202f28827f8468e30e3b790d
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/bzip2-1.0.8-2-x86_64.pkg.tar.xz"
- SHA512 336f5b59eb9cf4e93b537a212509d84f72cd9b8a97bf8ac0596eff298f3c0979bdea6c605244d5913670b9d20b017e5ee327f1e606f546a88e177a03c589a636
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz"
- SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/coreutils-8.32-1-x86_64.pkg.tar.xz"
- SHA512 1a2ae4f296954421ce36f764b9b1c77ca72fc8583c46060b817677d0ad6adc7d7e3c2bbe1ae0179afd116a3d62f28e59eae2f7c84c1c8ffb7d22d2f2b40c0cdc
- DEPS libiconv libintl gmp
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/grep-3.0-2-x86_64.pkg.tar.xz"
- SHA512 c784d5f8a929ae251f2ffaccf7ab0b3936ae9f012041e8f074826dd6077ad0a859abba19feade1e71b3289cc640626dfe827afe91c272b38a1808f228f2fdd00
- DEPS libiconv libintl libpcre
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/sed-4.8-1-x86_64.pkg.tar.xz"
- SHA512 b6e7ed0af9e04aba4992ee26d8616f7ac675c8137bb28558c049d50709afb571b33695ce21d01e5b7fe8e188c008dd2e8cbafc72a7e2a919c2d678506095132b
- DEPS libintl
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libpcre-8.44-1-x86_64.pkg.tar.xz"
- SHA512 e9e56386fc5cca0f3c36cee21eda91300d9a13a962ec2f52eeea00f131915daea1cfeb0e1b30704bf3cc4357d941d356e0d72192bab3006c2548e18cd96dad77
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/m4-1.4.18-2-x86_64.pkg.tar.xz"
- SHA512 061e9243c1e013aa093546e3872984ad47b7fc9d64d4c39dcce62e750ed632645df00be3fe382a2f55f3bf623dd0d649e2092be23e8f22f921f582e41893e36a
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/automake-wrapper-11-1-any.pkg.tar.xz"
- SHA512 0fcfc80c31fd0bda5a46c55e9100a86d2fc788a92c7e2ca4fd281e551375c62eb5b9cc9ad9338bb44a815bf0b1d1b60b882c8e68ca3ea529b442f2d03d1d3e1f
- DEPS gawk
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gawk-5.1.0-1-x86_64.pkg.tar.xz"
- SHA512 4e2be747b184f27945df6fb37d52d56fd8117d2fe4b289370bcdb5b15a4cf90cbeaea98cf9e64bcbfa2c13db50d8bd14cbd719c5f31b420842da903006dbc959
- DEPS libintl libreadline mpfr
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst"
- SHA512 d64fa60e188124591d41fc097d7eb51d7ea4940bac05cdcf5eafde951ed1eaa174468f5ede03e61106e1633e3428964b34c96de76321ed8853b398fbe8c4d072
- DEPS gmp gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gmp-6.2.0-1-x86_64.pkg.tar.xz"
- SHA512 1389a443e775bb255d905665dd577bef7ed71d51a8c24d118097f8119c08c4dfe67505e88ddd1e9a3764dd1d50ed8b84fa34abefa797d257e90586f0cbf54de8
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/xz-5.2.5-1-x86_64.pkg.tar.xz" # this seems to require immediate updating on version bumps.
- SHA512 99d092c3398277e47586cead103b41e023e9432911fb7bdeafb967b826f6a57d32e58afc94c8230dad5b5ec2aef4f10d61362a6d9e410a6645cf23f076736bba
- DEPS liblzma libiconv gettext
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/liblzma-5.2.5-1-x86_64.pkg.tar.xz"
- SHA512 8d5c04354fdc7309e73abce679a4369c0be3dc342de51cef9d2a932b7df6a961c8cb1f7e373b1b8b2be40343a95fbd57ac29ebef63d4a2074be1d865e28ca6ad
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libreadline-8.0.004-1-x86_64.pkg.tar.xz"
- SHA512 42760bddedccc8d93507c1e3a7a81595dc6392b5e4319d24a85275eb04c30eb79078e4247eb2cdd00ff3884d932639130c89bf1b559310a17fa4858062491f97
- DEPS ncurses
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/ncurses-6.2-1-x86_64.pkg.tar.xz"
- SHA512 d4dc566d3dbd32e7646e328cb350689ede7eaa7008c8ed971072f8869a2986fe3935e7df1700851b52716af7ef20c49f9e6628d3163a5e9208a8872b5014eaea
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/automake1.16-1.16.2-1-any.pkg.tar.zst"
- SHA512 568d1250a31a53452e029d1c236da66d67fffa786a8713128027d33a6a9408cda6e493e9c1555a816efee6245b05a1ef8f9ce3482c39de71356c2e983d926bf7
- DEPS perl
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/automake1.15-1.15.1-1-any.pkg.tar.xz"
- SHA512 d5bb245ab1bb6b57c40ef97755bfb0919dcceb0eccc33e848809922bf6b032f9e4eb36d89aedf41542051277d92238bd48a74115867db0bbc1e1db1c975cc72c
- DEPS perl
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/perl-5.32.0-1-x86_64.pkg.tar.zst"
- SHA512 8acc6c4901bd2e24faf1951084d70029847f05e870826e07b8d9a5d90144f4aa0ab6e568e77c28c36650f016ee75ce78b0356c75673b212c992401f7f1543dd8
- DEPS libcrypt
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libcrypt-2.1-2-x86_64.pkg.tar.xz"
- SHA512 59a13f79f560934f880d68209a58a3c39ee4a1d24500035bde90d7a6f6ab0d4f72fe14edea6f19a8eb54d4d53b0b6ad4589b388f1521a07ab24a0f8307619cab
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-1-x86_64.pkg.tar.xz"
- SHA512 f1d70f0b4ebcfeb3fa2156a7a4f7b0b404795853e05361de14054dc6658a6154915bb982626cbfe76bef0828325f993f30da6817361ca8d7ea440a40023fa864
- DEPS libiconv
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/make-4.3-1-x86_64.pkg.tar.xz"
- SHA512 7306dec7859edc27d70a24ab4b396728481484a426c5aa2f7e9fed2635b3b25548b05b7d37a161a86a8edaa5922948bee8c99b1e8a078606e69ca48a433fe321
- DEPS libintl msys2-runtime
- )
+ # To add new entries, use https://packages.msys2.org/package/$PACKAGE?repo=msys
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/unzip-6.0-2-x86_64.pkg.tar.xz"
+ SHA512 b8a1e0ce6deff26939cb46267f80ada0a623b7d782e80873cea3d388b4dc3a1053b14d7565b31f70bc904bf66f66ab58ccc1cd6bfa677065de1f279dd331afb9
+ DEPS libbz2
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz"
+ SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/patch-2.7.6-1-x86_64.pkg.tar.xz"
+ SHA512 04d06b9d5479f129f56e8290e0afe25217ffa457ec7bed3e576df08d4a85effd80d6e0ad82bd7541043100799b608a64da3c8f535f8ea173d326da6194902e8c
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/gzip-1.10-1-x86_64.pkg.tar.xz"
+ SHA512 2d0a60f2c384e3b9e2bed2212867c85333545e51ee0f583a33914e488e43c265ed0017cd4430a6e3dafdca99c0414b3756a4b9cc92a6f04d5566eff8b68def75
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz"
+ SHA512 1cf2a07022113010e00e150e7004732013a793d49e7a6ac7c2be27a0b2c0ce3366150584b9974e30df042f8876a84d6a77c1a46f0607e38ebe18f8a25f51c32d
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/autoconf-2.69-5-any.pkg.tar.xz"
+ SHA512 66b9c97bd3d1dfe2a2ab576235b6b8c204a9e4c099ba14cf5d0139e564bba1e735e3b1083354b4cac8c6c42233cbdd5e1e277e32cadfe24017b94d2fbdeb5617
+ DEPS m4
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/diffutils-3.7-1-x86_64.pkg.tar.xz"
+ SHA512 0c39837a26b2111bb6310cdfe0bc14656e3d57456ad8023f59c9386634a8f1f236915c79a57348b64c508897c73ed88d8abce2b9ac512a427e9a3956939f2040
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/binutils-2.34-4-x86_64.pkg.tar.zst"
+ SHA512 5271288d11489879082bc1f2298bb8bedbcfcf6ee19f8a9b3b552b6a4395543d9385bb833e3c32b1560bff1b411d2be503e2c12a7201bf37b85cfacc5f5baba3
+ DEPS libiconv libintl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libtool-2.4.6-9-x86_64.pkg.tar.xz"
+ SHA512 b309799e5a9d248ef66eaf11a0bd21bf4e8b9bd5c677c627ec83fa760ce9f0b54ddf1b62cbb436e641fbbde71e3b61cb71ff541d866f8ca7717a3a0dbeb00ebf
+ DEPS grep sed coreutils file
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/file-5.39-1-x86_64.pkg.tar.zst"
+ SHA512 be51dd0f6143a2f34f2a3e7d412866eb12511f25daaf3a5478240537733a67d7797a3a55a8893e5638589c06bca5af20aed5ded7db0bf19fbf52b30fae08cadd
+ DEPS gcc-libs zlib libbz2
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz"
+ SHA512 b607da40d3388b440f2a09e154f21966cd55ad77e02d47805f78a9dee5de40226225bf0b8335fdfd4b83f25ead3098e9cb974d4f202f28827f8468e30e3b790d
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/bzip2-1.0.8-2-x86_64.pkg.tar.xz"
+ SHA512 336f5b59eb9cf4e93b537a212509d84f72cd9b8a97bf8ac0596eff298f3c0979bdea6c605244d5913670b9d20b017e5ee327f1e606f546a88e177a03c589a636
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz"
+ SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/coreutils-8.32-1-x86_64.pkg.tar.xz"
+ SHA512 1a2ae4f296954421ce36f764b9b1c77ca72fc8583c46060b817677d0ad6adc7d7e3c2bbe1ae0179afd116a3d62f28e59eae2f7c84c1c8ffb7d22d2f2b40c0cdc
+ DEPS libiconv libintl gmp
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/grep-3.0-2-x86_64.pkg.tar.xz"
+ SHA512 c784d5f8a929ae251f2ffaccf7ab0b3936ae9f012041e8f074826dd6077ad0a859abba19feade1e71b3289cc640626dfe827afe91c272b38a1808f228f2fdd00
+ DEPS libiconv libintl libpcre
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/sed-4.8-1-x86_64.pkg.tar.xz"
+ SHA512 b6e7ed0af9e04aba4992ee26d8616f7ac675c8137bb28558c049d50709afb571b33695ce21d01e5b7fe8e188c008dd2e8cbafc72a7e2a919c2d678506095132b
+ DEPS libintl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libpcre-8.44-1-x86_64.pkg.tar.xz"
+ SHA512 e9e56386fc5cca0f3c36cee21eda91300d9a13a962ec2f52eeea00f131915daea1cfeb0e1b30704bf3cc4357d941d356e0d72192bab3006c2548e18cd96dad77
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/m4-1.4.18-2-x86_64.pkg.tar.xz"
+ SHA512 061e9243c1e013aa093546e3872984ad47b7fc9d64d4c39dcce62e750ed632645df00be3fe382a2f55f3bf623dd0d649e2092be23e8f22f921f582e41893e36a
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/automake-wrapper-11-1-any.pkg.tar.xz"
+ SHA512 0fcfc80c31fd0bda5a46c55e9100a86d2fc788a92c7e2ca4fd281e551375c62eb5b9cc9ad9338bb44a815bf0b1d1b60b882c8e68ca3ea529b442f2d03d1d3e1f
+ DEPS gawk
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/gawk-5.1.0-1-x86_64.pkg.tar.xz"
+ SHA512 4e2be747b184f27945df6fb37d52d56fd8117d2fe4b289370bcdb5b15a4cf90cbeaea98cf9e64bcbfa2c13db50d8bd14cbd719c5f31b420842da903006dbc959
+ DEPS libintl libreadline mpfr
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst"
+ SHA512 d64fa60e188124591d41fc097d7eb51d7ea4940bac05cdcf5eafde951ed1eaa174468f5ede03e61106e1633e3428964b34c96de76321ed8853b398fbe8c4d072
+ DEPS gmp gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/gmp-6.2.0-1-x86_64.pkg.tar.xz"
+ SHA512 1389a443e775bb255d905665dd577bef7ed71d51a8c24d118097f8119c08c4dfe67505e88ddd1e9a3764dd1d50ed8b84fa34abefa797d257e90586f0cbf54de8
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/xz-5.2.5-1-x86_64.pkg.tar.xz" # this seems to require immediate updating on version bumps.
+ SHA512 99d092c3398277e47586cead103b41e023e9432911fb7bdeafb967b826f6a57d32e58afc94c8230dad5b5ec2aef4f10d61362a6d9e410a6645cf23f076736bba
+ DEPS liblzma libiconv gettext
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/liblzma-5.2.5-1-x86_64.pkg.tar.xz"
+ SHA512 8d5c04354fdc7309e73abce679a4369c0be3dc342de51cef9d2a932b7df6a961c8cb1f7e373b1b8b2be40343a95fbd57ac29ebef63d4a2074be1d865e28ca6ad
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libreadline-8.0.004-1-x86_64.pkg.tar.xz"
+ SHA512 42760bddedccc8d93507c1e3a7a81595dc6392b5e4319d24a85275eb04c30eb79078e4247eb2cdd00ff3884d932639130c89bf1b559310a17fa4858062491f97
+ DEPS ncurses
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/ncurses-6.2-1-x86_64.pkg.tar.xz"
+ SHA512 d4dc566d3dbd32e7646e328cb350689ede7eaa7008c8ed971072f8869a2986fe3935e7df1700851b52716af7ef20c49f9e6628d3163a5e9208a8872b5014eaea
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/automake1.16-1.16.2-1-any.pkg.tar.zst"
+ SHA512 568d1250a31a53452e029d1c236da66d67fffa786a8713128027d33a6a9408cda6e493e9c1555a816efee6245b05a1ef8f9ce3482c39de71356c2e983d926bf7
+ DEPS perl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/automake1.15-1.15.1-1-any.pkg.tar.xz"
+ SHA512 d5bb245ab1bb6b57c40ef97755bfb0919dcceb0eccc33e848809922bf6b032f9e4eb36d89aedf41542051277d92238bd48a74115867db0bbc1e1db1c975cc72c
+ DEPS perl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/perl-5.32.0-1-x86_64.pkg.tar.zst"
+ SHA512 8acc6c4901bd2e24faf1951084d70029847f05e870826e07b8d9a5d90144f4aa0ab6e568e77c28c36650f016ee75ce78b0356c75673b212c992401f7f1543dd8
+ DEPS libcrypt
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libcrypt-2.1-2-x86_64.pkg.tar.xz"
+ SHA512 59a13f79f560934f880d68209a58a3c39ee4a1d24500035bde90d7a6f6ab0d4f72fe14edea6f19a8eb54d4d53b0b6ad4589b388f1521a07ab24a0f8307619cab
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-1-x86_64.pkg.tar.xz"
+ SHA512 f1d70f0b4ebcfeb3fa2156a7a4f7b0b404795853e05361de14054dc6658a6154915bb982626cbfe76bef0828325f993f30da6817361ca8d7ea440a40023fa864
+ DEPS libiconv
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/make-4.3-1-x86_64.pkg.tar.xz"
+ SHA512 7306dec7859edc27d70a24ab4b396728481484a426c5aa2f7e9fed2635b3b25548b05b7d37a161a86a8edaa5922948bee8c99b1e8a078606e69ca48a433fe321
+ DEPS libintl msys2-runtime
+ )
msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gettext-devel-0.19.8.1-1-x86_64.pkg.tar.xz"
- SHA512 648f74c23e4f92145cdd0d45ff5285c2df34e855a9e75e5463dd6646967f8cf34a18ce357c6f498a4680e6d7b84e2d1697ba9deee84da8ea6bb14bbdb594ee22
- DEPS gettext
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gettext-0.19.8.1-1-x86_64.pkg.tar.xz"
- SHA512 c8c42d084c297746548963f7ec7a7df46241886f3e637e779811ee4a8fee6058f892082bb2658f6777cbffba2de4bcdfd68e846ba63c6a6552c9efb0c8c1de50
- DEPS libintl libgettextpo libasprintf
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libgettextpo-0.19.8.1-1-x86_64.pkg.tar.xz"
- SHA512 480b782a79b0ce71ed9939ae3a6821fc2f5a63358733965c62cee027d0e6c88e255df1d62379ee47f5a7f8ffe163e554e318dba22c67dc67469b10aa3248edf7
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libasprintf-0.19.8.1-1-x86_64.pkg.tar.xz"
- SHA512 a2e8027b9bbee20f8cf60851130ca2af436641b1fb66054f8deba118da7ebecb1cd188224dcf08e4c5b7cde85b412efab058afef2358e843c9de8eb128ca448c
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/findutils-4.7.0-1-x86_64.pkg.tar.xz"
- SHA512 fd09a24562b196ff252f4b5de86ed977280306a8c628792930812f146fcf7355f9d87434bbabe25e6cc17d8bd028f6bc68fc02e5bea83137a49cf5cc6f509e10
- DEPS libintl libiconv
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libintl-0.19.8.1-1-x86_64.pkg.tar.xz"
- SHA512 4e54c252b828c862f376d8f5a2410ee623a43d70cbb07d0b8ac20c25096f59fb3ae8dcd011d1792bec76f0b0b9411d0e184ee23707995761dc50eb76f9fc6b92
- DEPS libiconv
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/libiconv-1.16-2-x86_64.pkg.tar.zst"
- SHA512 3ab569eca9887ef85e7dd5dbca3143d8a60f7103f370a7ecc979a58a56b0c8dcf1f54ac3df4495bc306bd44bf36ee285aaebbb221c4eebfc912cf47d347d45fc
- DEPS gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/gcc-libs-9.3.0-1-x86_64.pkg.tar.xz"
- SHA512 2816afbf45aa0ff47f94a623ad083d9421bca5284dc55683c2f1bc09ea0eadfe720afb75aafef60c2ff6384d051c4fbe2a744bb16a20acf34c04dc59b17c3d8c
- DEPS msys2-runtime
- )
- msys_package(
- URL "https://repo.msys2.org/msys/x86_64/msys2-runtime-3.1.6-3-x86_64.pkg.tar.xz"
- SHA512 f094a7f4926195ef7ba015f0c5c56587b1faa94d85530f07aaaa5557a1494c3bd75257d4687c8401cbf1328d23e5586a92b05f0a872caebb1a7e941a07829776
- )
+ URL "https://repo.msys2.org/msys/x86_64/gettext-devel-0.19.8.1-1-x86_64.pkg.tar.xz"
+ SHA512 648f74c23e4f92145cdd0d45ff5285c2df34e855a9e75e5463dd6646967f8cf34a18ce357c6f498a4680e6d7b84e2d1697ba9deee84da8ea6bb14bbdb594ee22
+ DEPS gettext
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/gettext-0.19.8.1-1-x86_64.pkg.tar.xz"
+ SHA512 c8c42d084c297746548963f7ec7a7df46241886f3e637e779811ee4a8fee6058f892082bb2658f6777cbffba2de4bcdfd68e846ba63c6a6552c9efb0c8c1de50
+ DEPS libintl libgettextpo libasprintf
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libgettextpo-0.19.8.1-1-x86_64.pkg.tar.xz"
+ SHA512 480b782a79b0ce71ed9939ae3a6821fc2f5a63358733965c62cee027d0e6c88e255df1d62379ee47f5a7f8ffe163e554e318dba22c67dc67469b10aa3248edf7
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libasprintf-0.19.8.1-1-x86_64.pkg.tar.xz"
+ SHA512 a2e8027b9bbee20f8cf60851130ca2af436641b1fb66054f8deba118da7ebecb1cd188224dcf08e4c5b7cde85b412efab058afef2358e843c9de8eb128ca448c
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/findutils-4.7.0-1-x86_64.pkg.tar.xz"
+ SHA512 fd09a24562b196ff252f4b5de86ed977280306a8c628792930812f146fcf7355f9d87434bbabe25e6cc17d8bd028f6bc68fc02e5bea83137a49cf5cc6f509e10
+ DEPS libintl libiconv
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libintl-0.19.8.1-1-x86_64.pkg.tar.xz"
+ SHA512 4e54c252b828c862f376d8f5a2410ee623a43d70cbb07d0b8ac20c25096f59fb3ae8dcd011d1792bec76f0b0b9411d0e184ee23707995761dc50eb76f9fc6b92
+ DEPS libiconv
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/libiconv-1.16-2-x86_64.pkg.tar.zst"
+ SHA512 3ab569eca9887ef85e7dd5dbca3143d8a60f7103f370a7ecc979a58a56b0c8dcf1f54ac3df4495bc306bd44bf36ee285aaebbb221c4eebfc912cf47d347d45fc
+ DEPS gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/gcc-libs-9.3.0-1-x86_64.pkg.tar.xz"
+ SHA512 2816afbf45aa0ff47f94a623ad083d9421bca5284dc55683c2f1bc09ea0eadfe720afb75aafef60c2ff6384d051c4fbe2a744bb16a20acf34c04dc59b17c3d8c
+ DEPS msys2-runtime
+ )
+ msys_package(
+ URL "https://repo.msys2.org/msys/x86_64/msys2-runtime-3.1.6-3-x86_64.pkg.tar.xz"
+ SHA512 f094a7f4926195ef7ba015f0c5c56587b1faa94d85530f07aaaa5557a1494c3bd75257d4687c8401cbf1328d23e5586a92b05f0a872caebb1a7e941a07829776
+ )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-numpy-1.19.0-1-any.pkg.tar.zst"
- SHA512 15791fff23deda17a4452c9ca3f23210ed77ee20dcdd6e0c31d0e626a63aeb93d15ed814078729101f1cce96129b4b5e3c898396b003d794a52d7169dd027465
- DEPS mingw-w64-x86_64-openblas mingw-w64-x86_64-python
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openblas-0.3.10-2-any.pkg.tar.zst"
- SHA512 3cf15ef191ceb303a7e40ad98aca94c56211b245617c17682379b5606a1a76e12d04fa1a83c6109e89620200a74917bcd981380c7749dda12fa8e79f0b923877
- DEPS mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libwinpthread
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-10.2.0-1-any.pkg.tar.zst"
- SHA512 c2dee2957356fa51aae39d907d0cc07f966028b418f74a1ea7ea551ff001c175d86781f980c0cf994207794322dcd369fa122ab78b6c6d0f0ab01e39a754e780
- DEPS mingw-w64-x86_64-gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-3.8.5-1-any.pkg.tar.zst"
- SHA512 49bbcaa9479ff95fd21b473a1bc286886b204ec3e2e0d9466322e96a9ee07ccd8116024b54b967a87e4752057004475cac5060605e87bd5057de45efe5122a25
- DEPS mingw-w64-x86_64-bzip2 mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libffi mingw-w64-x86_64-mpdecimal mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-tcl mingw-w64-x86_64-tk mingw-w64-x86_64-xz mingw-w64-x86_64-zlib
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-bzip2-1.0.8-1-any.pkg.tar.xz"
- SHA512 6e01b26a2144f99ca00406dbce5b8c3e928ec8a3ff77e0b741b26aaf9c927e9bea8cb1b5f38cd59118307e10dd4523a0ea2a1ea61f798f99e6d605ef1d100503
- DEPS mingw-w64-x86_64-gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpdecimal-2.5.0-1-any.pkg.tar.zst"
- SHA512 48130ff676c0235bad4648527021e597ee00aa49a4443740a134005877e2ff2ca27b30a0ac86b923192a65348b36de4e8d3f9c57d76ab42b2e21d1a92dbf7ccf
- DEPS mingw-w64-x86_64-gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.2-1-any.pkg.tar.xz"
- SHA512 1cbffe0e181a3d4ceaa8f39b2a649584b2c7d689e6a057d85cb9f84edece2cf60eddc220127c7fa4f29e4aa6e8fb4f568ef9d73582d08168607135af977407e0
- DEPS mingw-w64-x86_64-libsystre
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libsystre-1.0.1-4-any.pkg.tar.xz"
- SHA512 6540e896636d00d1ea4782965b3fe4d4ef1e32e689a98d25e2987191295b319eb1de2e56be3a4b524ff94f522a6c3e55f8159c1a6f58c8739e90f8e24e2d40d8
- DEPS mingw-w64-x86_64-libtre
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtre-git-r128.6fb7206-2-any.pkg.tar.xz"
- NAME mingw-w64-x86_64-libtre
- VERSION git-r128.6fb7206-2
- ANY
- REPO mingw/x86_64
- SHA512 d595dbcf3a3b6ed098e46f370533ab86433efcd6b4d3dcf00bbe944ab8c17db7a20f6535b523da43b061f071a3b8aa651700b443ae14ec752ae87500ccc0332d
- DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.1.1.g-1-any.pkg.tar.xz"
- SHA512 81681089a19cae7dbdee1bc9d3148f03458fa7a1d2fd105be39299b3a0c91b34450bcfe2ad86622bc6819da1558d7217deb0807b4a7bed942a9a7a786fcd54a3
- DEPS mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ca-certificates-20200601-1-any.pkg.tar.zst"
- SHA512 21a81e1529a3ad4f6eceb3b7d4e36400712d3a690d3991131573d4aae8364965757f9b02054d93c853eb75fbb7f6173a278b122450c800b2c9a1e8017dd35e28
- DEPS mingw-w64-x86_64-p11-kit
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-p11-kit-0.23.20-2-any.pkg.tar.xz"
- SHA512 c441c4928465a98aa53917df737b728275bc0f6e9b41e13de7c665a37d2111b46f057bb652a1d5a6c7cdf8a74ea15e365a727671b698f5bbb5a7cfd0b889935e
- DEPS mingw-w64-x86_64-gettext mingw-w64-x86_64-libffi mingw-w64-x86_64-libtasn1
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtasn1-4.16.0-1-any.pkg.tar.xz"
- SHA512 c450cd49391b46af552a89f2f6e2c21dd5da7d40e7456b380290c514a0f06bcbd63f0f972b3c173c4237bec7b652ff22d2d330e8fdf5c888558380bd2667be64
- DEPS mingw-w64-x86_64-gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-sqlite3-3.33.0-1-any.pkg.tar.zst"
- SHA512 eae319f87c9849049347f132efc2ecc46e9ac1ead55542e31a3ea216932a4fa5c5bae8d468d2f050e1e22068ac9fbe9d8e1aa7612cc0110cafe6605032adeb0f
- DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-readline mingw-w64-x86_64-tcl
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.0.004-1-any.pkg.tar.xz"
- SHA512 e3fb3030a50f677697bec0da39ba2eb979dc28991ad0e29012cbf1bda82723176148510bf924b7fce7a0b79e7b078232d69e07f3fbb7d657b8ee631841730120
- DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-termcap
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-termcap-1.3.1-6-any.pkg.tar.zst"
- SHA512 602d182ba0f1e20c4c51ae09b327c345bd736e6e4f22cd7d58374ac68c705dd0af97663b9b94d41870457f46bb9110abb29186d182196133618fc460f71d1300
- DEPS mingw-w64-x86_64-gcc-libs
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.10-1-any.pkg.tar.xz"
- SHA512 3be88b87d5e77a875ea98f0bce4192242e550eeb1b0d44abfee9c8797135a45dd3219b89006de99458dd3f9ae47da77dccc63dab25cea93fbc285af756264eb8
- DEPS mingw-w64-x86_64-tcl
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.10-1-any.pkg.tar.xz"
- SHA512 c3f21588e19725598878ef13145fbe7a995c2a0c678ef0a4782e28fd64d65fe3271178369bf0c54e92123eba82f2d3da6ae2fc34acd3b20150d1e173be1c0f8f
- DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-1-any.pkg.tar.xz"
- SHA512 0e1336a1565cda6e78996d69ba973aaa3522392ab586f70b0b93dbe09be50baf3e14f8ba0afcc665bc885508f1a898b16f206f89eaa3cbc9985afeea6ff1c02b
- DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-9-any.pkg.tar.zst"
- SHA512 571a36cf60e40172aaa7a5a40b1db60bbea145d9f399603a625a57ca106679f6feb53fda73d935ce8f0057935cad5b9a8770ae4f065e54e1554a1932b48eec97
- DEPS mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libiconv
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-1-any.pkg.tar.zst"
- SHA512 d17eff08c83d08ef020d999a2ead0d25036ada1c1bf6ed7c02bad9b56840ee5a3304acd790d86f52b83b09c1e788f0cecdf7254dc6760c3c7e478f65882cd32d
- DEPS mingw-w64-x86_64-gmp mingw-w64-x86_64-libwinpthread mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.0-1-any.pkg.tar.zst"
- SHA512 e2e561ef7c1bd85bbf021ecbe4df1cfd377a5b426ec0091f267111b9f18d476d5f95a40e0ffbd97aee5f331c49dc7a8dfc2111d54cc979643fae30e564d671aa
- DEPS mingw-w64-x86_64-mpfr
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-2-any.pkg.tar.zst"
- SHA512 14739667242b8852f0d26547eb3297899a51fd1edafc7101b4e7489273e1efb9cb8422fc067361e3c3694c2afcc6c49fc89537f9f811ad5b9b595873112ee890
- DEPS mingw-w64-x86_64-gmp
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-1-any.pkg.tar.xz"
- SHA512 0b22b7363e27cec706eb79ee0c45b5fe7088a5ca69e0868e7366481ed2ea9b3f6623d340cebba0b5ed3d79e4dfc7cf15f53530eb260c6d4057bfc3d92eb8c7bc
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.2.9-1-any.pkg.tar.xz"
- SHA512 1f747b9c7e6ee680b6d8f76429e81a42e2d4ab72d5d930207c90f4513cca5158c08c8296889fd27fe07a275cdeff5d34b5de0e6d1cd982d2e1d05765d6c8c31a
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-1-any.pkg.tar.xz"
- SHA512 90451ac2dadcd3f1310b6af977d4c56d239500743a3d67e4f8df915e6e6f65f34d4244843d8bac5718642973be5312c17cb3fb0b4c64732cda06437e9f1ce86d
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-1-any.pkg.tar.xz"
- SHA512 c8e2fda532c753e0b1004596bf737c3669355f32af9b45d96c23fcef14994ba21ddf4f75138bdecc94cbf8a8c449eff530d24b74a0da47793e24ce92d154f411
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-7-any.pkg.tar.xz"
- SHA512 bbd4a549efc2a5f4b1e9f1be00331e8726d80401a9c6117afa9d5dd92f4ac42a06cf2ce491a988e5c6ed7a6e536f8f1746081f4944bc6d473ccd16390fea27fe
- )
- msys_package(
- URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst"
- NAME mingw-w64-x86_64-libwinpthread
- VERSION git-8.0.0.5906.c9a21571-1
- ANY
- ZST
- REPO mingw/x86_64
- SHA512 a6969a5db1c55ba458c1a047d0a2a9d2db6cc24266ea47f740598b149a601995d2de734a0984ac5e57ee611d5982cbc03fd6fc0f498435e8d6401bf15724caad
- )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-numpy-1.19.0-1-any.pkg.tar.zst"
+ SHA512 15791fff23deda17a4452c9ca3f23210ed77ee20dcdd6e0c31d0e626a63aeb93d15ed814078729101f1cce96129b4b5e3c898396b003d794a52d7169dd027465
+ DEPS mingw-w64-x86_64-openblas mingw-w64-x86_64-python
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openblas-0.3.10-2-any.pkg.tar.zst"
+ SHA512 3cf15ef191ceb303a7e40ad98aca94c56211b245617c17682379b5606a1a76e12d04fa1a83c6109e89620200a74917bcd981380c7749dda12fa8e79f0b923877
+ DEPS mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libwinpthread
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-10.2.0-1-any.pkg.tar.zst"
+ SHA512 c2dee2957356fa51aae39d907d0cc07f966028b418f74a1ea7ea551ff001c175d86781f980c0cf994207794322dcd369fa122ab78b6c6d0f0ab01e39a754e780
+ DEPS mingw-w64-x86_64-gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-3.8.5-1-any.pkg.tar.zst"
+ SHA512 49bbcaa9479ff95fd21b473a1bc286886b204ec3e2e0d9466322e96a9ee07ccd8116024b54b967a87e4752057004475cac5060605e87bd5057de45efe5122a25
+ DEPS mingw-w64-x86_64-bzip2 mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libffi mingw-w64-x86_64-mpdecimal mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-tcl mingw-w64-x86_64-tk mingw-w64-x86_64-xz mingw-w64-x86_64-zlib
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-bzip2-1.0.8-1-any.pkg.tar.xz"
+ SHA512 6e01b26a2144f99ca00406dbce5b8c3e928ec8a3ff77e0b741b26aaf9c927e9bea8cb1b5f38cd59118307e10dd4523a0ea2a1ea61f798f99e6d605ef1d100503
+ DEPS mingw-w64-x86_64-gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpdecimal-2.5.0-1-any.pkg.tar.zst"
+ SHA512 48130ff676c0235bad4648527021e597ee00aa49a4443740a134005877e2ff2ca27b30a0ac86b923192a65348b36de4e8d3f9c57d76ab42b2e21d1a92dbf7ccf
+ DEPS mingw-w64-x86_64-gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.2-1-any.pkg.tar.xz"
+ SHA512 1cbffe0e181a3d4ceaa8f39b2a649584b2c7d689e6a057d85cb9f84edece2cf60eddc220127c7fa4f29e4aa6e8fb4f568ef9d73582d08168607135af977407e0
+ DEPS mingw-w64-x86_64-libsystre
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libsystre-1.0.1-4-any.pkg.tar.xz"
+ SHA512 6540e896636d00d1ea4782965b3fe4d4ef1e32e689a98d25e2987191295b319eb1de2e56be3a4b524ff94f522a6c3e55f8159c1a6f58c8739e90f8e24e2d40d8
+ DEPS mingw-w64-x86_64-libtre
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtre-git-r128.6fb7206-2-any.pkg.tar.xz"
+ NAME mingw-w64-x86_64-libtre
+ VERSION git-r128.6fb7206-2
+ ANY
+ REPO mingw/x86_64
+ SHA512 d595dbcf3a3b6ed098e46f370533ab86433efcd6b4d3dcf00bbe944ab8c17db7a20f6535b523da43b061f071a3b8aa651700b443ae14ec752ae87500ccc0332d
+ DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.1.1.g-1-any.pkg.tar.xz"
+ SHA512 81681089a19cae7dbdee1bc9d3148f03458fa7a1d2fd105be39299b3a0c91b34450bcfe2ad86622bc6819da1558d7217deb0807b4a7bed942a9a7a786fcd54a3
+ DEPS mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ca-certificates-20200601-1-any.pkg.tar.zst"
+ SHA512 21a81e1529a3ad4f6eceb3b7d4e36400712d3a690d3991131573d4aae8364965757f9b02054d93c853eb75fbb7f6173a278b122450c800b2c9a1e8017dd35e28
+ DEPS mingw-w64-x86_64-p11-kit
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-p11-kit-0.23.20-2-any.pkg.tar.xz"
+ SHA512 c441c4928465a98aa53917df737b728275bc0f6e9b41e13de7c665a37d2111b46f057bb652a1d5a6c7cdf8a74ea15e365a727671b698f5bbb5a7cfd0b889935e
+ DEPS mingw-w64-x86_64-gettext mingw-w64-x86_64-libffi mingw-w64-x86_64-libtasn1
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtasn1-4.16.0-1-any.pkg.tar.xz"
+ SHA512 c450cd49391b46af552a89f2f6e2c21dd5da7d40e7456b380290c514a0f06bcbd63f0f972b3c173c4237bec7b652ff22d2d330e8fdf5c888558380bd2667be64
+ DEPS mingw-w64-x86_64-gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-sqlite3-3.33.0-1-any.pkg.tar.zst"
+ SHA512 eae319f87c9849049347f132efc2ecc46e9ac1ead55542e31a3ea216932a4fa5c5bae8d468d2f050e1e22068ac9fbe9d8e1aa7612cc0110cafe6605032adeb0f
+ DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-readline mingw-w64-x86_64-tcl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.0.004-1-any.pkg.tar.xz"
+ SHA512 e3fb3030a50f677697bec0da39ba2eb979dc28991ad0e29012cbf1bda82723176148510bf924b7fce7a0b79e7b078232d69e07f3fbb7d657b8ee631841730120
+ DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-termcap
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-termcap-1.3.1-6-any.pkg.tar.zst"
+ SHA512 602d182ba0f1e20c4c51ae09b327c345bd736e6e4f22cd7d58374ac68c705dd0af97663b9b94d41870457f46bb9110abb29186d182196133618fc460f71d1300
+ DEPS mingw-w64-x86_64-gcc-libs
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.10-1-any.pkg.tar.xz"
+ SHA512 3be88b87d5e77a875ea98f0bce4192242e550eeb1b0d44abfee9c8797135a45dd3219b89006de99458dd3f9ae47da77dccc63dab25cea93fbc285af756264eb8
+ DEPS mingw-w64-x86_64-tcl
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.10-1-any.pkg.tar.xz"
+ SHA512 c3f21588e19725598878ef13145fbe7a995c2a0c678ef0a4782e28fd64d65fe3271178369bf0c54e92123eba82f2d3da6ae2fc34acd3b20150d1e173be1c0f8f
+ DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-1-any.pkg.tar.xz"
+ SHA512 0e1336a1565cda6e78996d69ba973aaa3522392ab586f70b0b93dbe09be50baf3e14f8ba0afcc665bc885508f1a898b16f206f89eaa3cbc9985afeea6ff1c02b
+ DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-9-any.pkg.tar.zst"
+ SHA512 571a36cf60e40172aaa7a5a40b1db60bbea145d9f399603a625a57ca106679f6feb53fda73d935ce8f0057935cad5b9a8770ae4f065e54e1554a1932b48eec97
+ DEPS mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libiconv
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-1-any.pkg.tar.zst"
+ SHA512 d17eff08c83d08ef020d999a2ead0d25036ada1c1bf6ed7c02bad9b56840ee5a3304acd790d86f52b83b09c1e788f0cecdf7254dc6760c3c7e478f65882cd32d
+ DEPS mingw-w64-x86_64-gmp mingw-w64-x86_64-libwinpthread mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.0-1-any.pkg.tar.zst"
+ SHA512 e2e561ef7c1bd85bbf021ecbe4df1cfd377a5b426ec0091f267111b9f18d476d5f95a40e0ffbd97aee5f331c49dc7a8dfc2111d54cc979643fae30e564d671aa
+ DEPS mingw-w64-x86_64-mpfr
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-2-any.pkg.tar.zst"
+ SHA512 14739667242b8852f0d26547eb3297899a51fd1edafc7101b4e7489273e1efb9cb8422fc067361e3c3694c2afcc6c49fc89537f9f811ad5b9b595873112ee890
+ DEPS mingw-w64-x86_64-gmp
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-1-any.pkg.tar.xz"
+ SHA512 0b22b7363e27cec706eb79ee0c45b5fe7088a5ca69e0868e7366481ed2ea9b3f6623d340cebba0b5ed3d79e4dfc7cf15f53530eb260c6d4057bfc3d92eb8c7bc
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.2.9-1-any.pkg.tar.xz"
+ SHA512 1f747b9c7e6ee680b6d8f76429e81a42e2d4ab72d5d930207c90f4513cca5158c08c8296889fd27fe07a275cdeff5d34b5de0e6d1cd982d2e1d05765d6c8c31a
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-1-any.pkg.tar.xz"
+ SHA512 90451ac2dadcd3f1310b6af977d4c56d239500743a3d67e4f8df915e6e6f65f34d4244843d8bac5718642973be5312c17cb3fb0b4c64732cda06437e9f1ce86d
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-1-any.pkg.tar.xz"
+ SHA512 c8e2fda532c753e0b1004596bf737c3669355f32af9b45d96c23fcef14994ba21ddf4f75138bdecc94cbf8a8c449eff530d24b74a0da47793e24ce92d154f411
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-7-any.pkg.tar.xz"
+ SHA512 bbd4a549efc2a5f4b1e9f1be00331e8726d80401a9c6117afa9d5dd92f4ac42a06cf2ce491a988e5c6ed7a6e536f8f1746081f4944bc6d473ccd16390fea27fe
+ )
+ msys_package(
+ URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst"
+ NAME mingw-w64-x86_64-libwinpthread
+ VERSION git-8.0.0.5906.c9a21571-1
+ ANY
+ ZST
+ REPO mingw/x86_64
+ SHA512 a6969a5db1c55ba458c1a047d0a2a9d2db6cc24266ea47f740598b149a601995d2de734a0984ac5e57ee611d5982cbc03fd6fc0f498435e8d6401bf15724caad
+ )
- if(PACKAGES)
- message(FATAL_ERROR "Unknown packages were required for vcpkg_acquire_msys(${_am_PACKAGES}): ${PACKAGES}\nThis can be resolved by explicitly passing URL/SHA pairs to DIRECT_PACKAGES.")
- endif()
+ if(PACKAGES)
+ message(FATAL_ERROR "Unknown packages were required for vcpkg_acquire_msys(${_am_PACKAGES}): ${PACKAGES}\nThis can be resolved by explicitly passing URL/SHA pairs to DIRECT_PACKAGES.")
+ endif()
- string(SHA512 TOTAL_HASH "${TOTAL_HASH}")
- string(SUBSTRING "${TOTAL_HASH}" 0 16 TOTAL_HASH)
- set(PATH_TO_ROOT ${DOWNLOADS}/tools/msys2/${TOTAL_HASH})
- if(NOT EXISTS "${PATH_TO_ROOT}")
- file(REMOVE_RECURSE ${PATH_TO_ROOT}.tmp)
- file(MAKE_DIRECTORY ${PATH_TO_ROOT}.tmp/tmp)
- set(I 0)
- foreach(ARCHIVE IN LISTS ARCHIVES)
- vcpkg_execute_required_process(
- ALLOW_IN_DOWNLOAD_MODE
- COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE}
- LOGNAME msys-${TARGET_TRIPLET}-${I}
- WORKING_DIRECTORY ${PATH_TO_ROOT}.tmp
- )
- math(EXPR I "${I} + 1")
- endforeach()
- file(RENAME ${PATH_TO_ROOT}.tmp ${PATH_TO_ROOT})
- endif()
- message(STATUS "Using msys root at ${DOWNLOADS}/tools/msys2/${TOTAL_HASH}")
- set(${PATH_TO_ROOT_OUT} ${PATH_TO_ROOT} PARENT_SCOPE)
+ string(SHA512 TOTAL_HASH "${TOTAL_HASH}")
+ string(SUBSTRING "${TOTAL_HASH}" 0 16 TOTAL_HASH)
+ set(PATH_TO_ROOT ${DOWNLOADS}/tools/msys2/${TOTAL_HASH})
+ if(NOT EXISTS "${PATH_TO_ROOT}")
+ file(REMOVE_RECURSE ${PATH_TO_ROOT}.tmp)
+ file(MAKE_DIRECTORY ${PATH_TO_ROOT}.tmp/tmp)
+ set(I 0)
+ foreach(ARCHIVE IN LISTS ARCHIVES)
+ vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
+ COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE}
+ LOGNAME msys-${TARGET_TRIPLET}-${I}
+ WORKING_DIRECTORY ${PATH_TO_ROOT}.tmp
+ )
+ math(EXPR I "${I} + 1")
+ endforeach()
+ file(RENAME ${PATH_TO_ROOT}.tmp ${PATH_TO_ROOT})
+ endif()
+ message(STATUS "Using msys root at ${DOWNLOADS}/tools/msys2/${TOTAL_HASH}")
+ set(${PATH_TO_ROOT_OUT} ${PATH_TO_ROOT} PARENT_SCOPE)
endfunction()
diff --git a/scripts/cmake/vcpkg_add_to_path.cmake b/scripts/cmake/vcpkg_add_to_path.cmake
index 05763b2ef..6239db048 100644
--- a/scripts/cmake/vcpkg_add_to_path.cmake
+++ b/scripts/cmake/vcpkg_add_to_path.cmake
@@ -1,26 +1,27 @@
-## # vcpkg_add_to_path
-##
-## Add a directory to the PATH environment variable
-##
-## ## Usage
-## ```cmake
-## vcpkg_add_to_path([PREPEND] <${PYTHON3_DIR}>)
-## ```
-##
-## ## Parameters
-## ### <positional>
-## The directory to add
-##
-## ### PREPEND
-## Prepends the directory.
-##
-## The default is to append.
-##
-## ## Examples:
-## * [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75)
-## * [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15)
-## * [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13)
-##
+#[===[
+# vcpkg_add_to_path
+
+Add a directory to the PATH environment variable
+
+## Usage
+```cmake
+vcpkg_add_to_path([PREPEND] <${PYTHON3_DIR}>)
+```
+
+## Parameters
+### <positional>
+The directory to add
+
+### PREPEND
+Prepends the directory.
+
+The default is to append.
+
+## Examples:
+* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75)
+* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15)
+* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13)
+#]===]
function(vcpkg_add_to_path)
if(NOT "${ARGC}" STREQUAL "1" AND NOT "${ARGC}" STREQUAL "2")
message(FATAL_ERROR "vcpkg_add_to_path() only accepts 1 or 2 arguments.")
@@ -36,4 +37,4 @@ function(vcpkg_add_to_path)
endif()
set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${ARGV0}")
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_apply_patches.cmake b/scripts/cmake/vcpkg_apply_patches.cmake
index 5ca7dbca0..25ba45331 100644
--- a/scripts/cmake/vcpkg_apply_patches.cmake
+++ b/scripts/cmake/vcpkg_apply_patches.cmake
@@ -1,34 +1,36 @@
-## # vcpkg_apply_patches
-##
-## Apply a set of patches to a source tree. This function is deprecated in favor of the `PATCHES` argument to `vcpkg_from_github()` et al.
-##
-## ## Usage
-## ```cmake
-## vcpkg_apply_patches(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [QUIET]
-## PATCHES <patch1.patch>...
-## )
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## The source path in which apply the patches. By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### PATCHES
-## A list of patches that are applied to the source tree.
-##
-## Generally, these take the form of `${CMAKE_CURRENT_LIST_DIR}/some.patch` to select patches in the `port\<port>\` directory.
-##
-## ### QUIET
-## Disables the warning message upon failure.
-##
-## This should only be used for edge cases, such as patches that are known to fail even on a clean source tree.
-##
-## ## Examples
-##
-## * [libbson](https://github.com/Microsoft/vcpkg/blob/master/ports/libbson/portfile.cmake)
-## * [gdal](https://github.com/Microsoft/vcpkg/blob/master/ports/gdal/portfile.cmake)
+#[===[.md
+# vcpkg_apply_patches
+
+Apply a set of patches to a source tree. This function is deprecated in favor of the `PATCHES` argument to `vcpkg_from_github()` et al.
+
+## Usage
+```cmake
+vcpkg_apply_patches(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [QUIET]
+ PATCHES <patch1.patch>...
+)
+```
+
+## Parameters
+### SOURCE_PATH
+The source path in which apply the patches. By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### PATCHES
+A list of patches that are applied to the source tree.
+
+Generally, these take the form of `${CMAKE_CURRENT_LIST_DIR}/some.patch` to select patches in the `port\<port>\` directory.
+
+### QUIET
+Disables the warning message upon failure.
+
+This should only be used for edge cases, such as patches that are known to fail even on a clean source tree.
+
+## Examples
+
+* [libbson](https://github.com/Microsoft/vcpkg/blob/master/ports/libbson/portfile.cmake)
+* [gdal](https://github.com/Microsoft/vcpkg/blob/master/ports/gdal/portfile.cmake)
+#]===]
include(vcpkg_execute_in_download_mode)
diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index a429ebf4b..d463d29c7 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -1,34 +1,37 @@
-## # vcpkg_build_cmake
-##
-## Build a cmake project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_build_cmake([DISABLE_PARALLEL] [TARGET <target>])
-## ```
-##
-## ## Parameters:
-## ### DISABLE_PARALLEL
-## The underlying buildsystem will be instructed to not parallelize
-##
-## ### TARGET
-## The target passed to the cmake build command (`cmake --build . --target <target>`). If not specified, no target will
-## be passed.
-##
-## ### ADD_BIN_TO_PATH
-## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
-##
-## ## Notes:
-## This command should be preceeded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md).
-## You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the
-## "install" target
-##
-## ## Examples:
-##
-## * [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
-## * [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
-## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
-## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#[===[.md:
+# vcpkg_build_cmake
+
+Build a cmake project.
+
+## Usage:
+```cmake
+vcpkg_build_cmake([DISABLE_PARALLEL] [TARGET <target>])
+```
+
+## Parameters:
+### DISABLE_PARALLEL
+The underlying buildsystem will be instructed to not parallelize
+
+### TARGET
+The target passed to the cmake build command (`cmake --build . --target <target>`). If not specified, no target will
+be passed.
+
+### ADD_BIN_TO_PATH
+Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
+
+## Notes:
+This command should be preceeded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md).
+You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the
+"install" target
+
+## Examples:
+
+* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
+* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
+* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#]===]
+
function(vcpkg_build_cmake)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _bc "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "TARGET;LOGFILE_ROOT" "")
diff --git a/scripts/cmake/vcpkg_build_gn.cmake b/scripts/cmake/vcpkg_build_gn.cmake
index cf0ea89cf..3952e7eed 100644
--- a/scripts/cmake/vcpkg_build_gn.cmake
+++ b/scripts/cmake/vcpkg_build_gn.cmake
@@ -1,18 +1,20 @@
-## # vcpkg_build_gn
-##
-## Build a GN project
-##
-## ## Usage:
-## ```cmake
-## vcpkg_build_gn(
-## [TARGETS <target>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### TARGETS
-## Only build the specified targets.
+#[===[.md:
+# vcpkg_build_gn
+
+Build a GN project
+
+## Usage:
+```cmake
+vcpkg_build_gn(
+ [TARGETS <target>...]
+)
+```
+
+## Parameters:
+### TARGETS
+Only build the specified targets.
+#]===]
function(vcpkg_build_gn)
vcpkg_build_ninja(${ARGN})
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake
index d74db5f45..654fb8799 100644
--- a/scripts/cmake/vcpkg_build_make.cmake
+++ b/scripts/cmake/vcpkg_build_make.cmake
@@ -1,50 +1,53 @@
-## # vcpkg_build_make
-##
-## Build a linux makefile project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_build_make([BUILD_TARGET <target>]
-## [ADD_BIN_TO_PATH]
-## [ENABLE_INSTALL])
-## [MAKEFILE <makefileName>]
-## [LOGFILE_ROOT <logfileroot>])
-## ```
-##
-## ### BUILD_TARGET
-## The target passed to the make build command (`./make <target>`). If not specified, the 'all' target will
-## be passed.
-##
-## ### ADD_BIN_TO_PATH
-## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
-##
-## ### ENABLE_INSTALL
-## IF the port supports the install target use vcpkg_install_make() instead of vcpkg_build_make()
-##
-## ### MAKEFILE
-## Specifies the Makefile as a relative path from the root of the sources passed to `vcpkg_configure_make()`
-##
-## ### BUILD_TARGET
-## The target passed to the make build command (`./make <target>`). If not specified, the 'all' target will
-## be passed.
-##
-## ### DISABLE_PARALLEL
-## The underlying buildsystem will be instructed to not parallelize
-##
-## ### SUBPATH
-## Additional subdir to invoke make in. Useful if only parts of a port should be built.
-##
-## ## Notes:
-## This command should be preceeded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md).
-## You can use the alias [`vcpkg_install_make()`](vcpkg_configure_make.md) function if your CMake script supports the
-## "install" target
-##
-## ## Examples
-##
-## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
-## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
-## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
-## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#[===[.md:
+# vcpkg_build_make
+
+Build a linux makefile project.
+
+## Usage:
+```cmake
+vcpkg_build_make([BUILD_TARGET <target>]
+ [ADD_BIN_TO_PATH]
+ [ENABLE_INSTALL]
+ [MAKEFILE <makefileName>]
+ [LOGFILE_ROOT <logfileroot>])
+```
+
+### BUILD_TARGET
+The target passed to the make build command (`./make <target>`). If not specified, the 'all' target will
+be passed.
+
+### ADD_BIN_TO_PATH
+Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
+
+### ENABLE_INSTALL
+IF the port supports the install target use vcpkg_install_make() instead of vcpkg_build_make()
+
+### MAKEFILE
+Specifies the Makefile as a relative path from the root of the sources passed to `vcpkg_configure_make()`
+
+### BUILD_TARGET
+The target passed to the make build command (`./make <target>`). If not specified, the 'all' target will
+be passed.
+
+### DISABLE_PARALLEL
+The underlying buildsystem will be instructed to not parallelize
+
+### SUBPATH
+Additional subdir to invoke make in. Useful if only parts of a port should be built.
+
+## Notes:
+This command should be preceeded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md).
+You can use the alias [`vcpkg_install_make()`](vcpkg_install_make.md) function if your CMake script supports the
+"install" target
+
+## Examples
+
+* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
+* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
+* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#]===]
+
function(vcpkg_build_make)
if(NOT _VCPKG_CMAKE_VARS_FILE)
# vcpkg_build_make called without using vcpkg_configure_make before
diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake
index 19b136cd2..a682c6a17 100644
--- a/scripts/cmake/vcpkg_build_msbuild.cmake
+++ b/scripts/cmake/vcpkg_build_msbuild.cmake
@@ -1,65 +1,67 @@
-## # vcpkg_build_msbuild
-##
-## Build a msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`.
-##
-## ## Usage
-## ```cmake
-## vcpkg_build_msbuild(
-## PROJECT_PATH <${SOURCE_PATH}/port.sln>
-## [RELEASE_CONFIGURATION <Release>]
-## [DEBUG_CONFIGURATION <Debug>]
-## [TARGET <Build>]
-## [TARGET_PLATFORM_VERSION <10.0.15063.0>]
-## [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
-## [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
-## [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
-## [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
-## [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
-## [USE_VCPKG_INTEGRATION]
-## )
-## ```
-##
-## ## Parameters
-## ### USE_VCPKG_INTEGRATION
-## Apply the normal `integrate install` integration for building the project.
-##
-## By default, projects built with this command will not automatically link libraries or have header paths set.
-##
-## ### PROJECT_PATH
-## The path to the solution (`.sln`) or project (`.vcxproj`) file.
-##
-## ### RELEASE_CONFIGURATION
-## The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
-##
-## ### DEBUG_CONFIGURATION
-## The configuration (``/p:Configuration`` msbuild parameter)
-## used for Debug builds.
-##
-## ### TARGET_PLATFORM_VERSION
-## The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
-##
-## ### TARGET
-## The MSBuild target to build. (``/t:<TARGET>``)
-##
-## ### PLATFORM
-## The platform (``/p:Platform`` msbuild parameter) used for the build.
-##
-## ### PLATFORM_TOOLSET
-## The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
-##
-## ### OPTIONS
-## Additional options passed to msbuild for all builds.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
-##
-## ## Examples
-##
-## * [chakracore](https://github.com/Microsoft/vcpkg/blob/master/ports/chakracore/portfile.cmake)
-## * [cppunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cppunit/portfile.cmake)
+#[===[.md:
+# vcpkg_build_msbuild
+
+Build a msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`.
+
+## Usage
+```cmake
+vcpkg_build_msbuild(
+ PROJECT_PATH <${SOURCE_PATH}/port.sln>
+ [RELEASE_CONFIGURATION <Release>]
+ [DEBUG_CONFIGURATION <Debug>]
+ [TARGET <Build>]
+ [TARGET_PLATFORM_VERSION <10.0.15063.0>]
+ [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
+ [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
+ [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
+ [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
+ [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+ [USE_VCPKG_INTEGRATION]
+)
+```
+
+## Parameters
+### USE_VCPKG_INTEGRATION
+Apply the normal `integrate install` integration for building the project.
+
+By default, projects built with this command will not automatically link libraries or have header paths set.
+
+### PROJECT_PATH
+The path to the solution (`.sln`) or project (`.vcxproj`) file.
+
+### RELEASE_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
+
+### DEBUG_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter)
+used for Debug builds.
+
+### TARGET_PLATFORM_VERSION
+The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
+
+### TARGET
+The MSBuild target to build. (``/t:<TARGET>``)
+
+### PLATFORM
+The platform (``/p:Platform`` msbuild parameter) used for the build.
+
+### PLATFORM_TOOLSET
+The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
+
+### OPTIONS
+Additional options passed to msbuild for all builds.
+
+### OPTIONS_RELEASE
+Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
+
+## Examples
+
+* [chakracore](https://github.com/Microsoft/vcpkg/blob/master/ports/chakracore/portfile.cmake)
+* [cppunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cppunit/portfile.cmake)
+#]===]
function(vcpkg_build_msbuild)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
diff --git a/scripts/cmake/vcpkg_build_ninja.cmake b/scripts/cmake/vcpkg_build_ninja.cmake
index d49cc5c1f..2c9276e63 100644
--- a/scripts/cmake/vcpkg_build_ninja.cmake
+++ b/scripts/cmake/vcpkg_build_ninja.cmake
@@ -1,17 +1,19 @@
-## # vcpkg_build_ninja
-##
-## Build a ninja project
-##
-## ## Usage:
-## ```cmake
-## vcpkg_build_ninja(
-## [TARGETS <target>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### TARGETS
-## Only build the specified targets.
+#[===[.md:
+# vcpkg_build_ninja
+
+Build a ninja project
+
+## Usage:
+```cmake
+vcpkg_build_ninja(
+ [TARGETS <target>...]
+)
+```
+
+## Parameters:
+### TARGETS
+Only build the specified targets.
+#]===]
function(vcpkg_build_ninja)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
@@ -35,4 +37,4 @@ function(vcpkg_build_ninja)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
build(${TARGET_TRIPLET}-rel)
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake
index 7f81ca293..583ea6df2 100644
--- a/scripts/cmake/vcpkg_build_nmake.cmake
+++ b/scripts/cmake/vcpkg_build_nmake.cmake
@@ -1,76 +1,79 @@
-## # vcpkg_build_nmake
-##
-## Build a msvc makefile project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_build_nmake(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [NO_DEBUG]
-## [TARGET <all>]
-## [PROJECT_SUBPATH <${SUBPATH}>]
-## [PROJECT_NAME <${MAKEFILE_NAME}>]
-## [PRERUN_SHELL <${SHELL_PATH}>]
-## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
-## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
-## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
-## [TARGET <target>])
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## Specifies the directory containing the source files.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### PROJECT_SUBPATH
-## Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile.
-##
-## ### PROJECT_NAME
-## Specifies the name of msvc makefile name.
-## Default is `makefile.vc`
-##
-## ### NO_DEBUG
-## This port doesn't support debug mode.
-##
-## ### ENABLE_INSTALL
-## Install binaries after build.
-##
-## ### PRERUN_SHELL
-## Script that needs to be called before build
-##
-## ### PRERUN_SHELL_DEBUG
-## Script that needs to be called before debug build
-##
-## ### PRERUN_SHELL_RELEASE
-## Script that needs to be called before release build
-##
-## ### OPTIONS
-## Additional options passed to generate during the generation.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`.
-##
-## ### TARGET
-## The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will
-## be passed.
-##
-## ### ADD_BIN_TO_PATH
-## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
-##
-## ## Notes:
-## This command should be preceeded by a call to [`vcpkg_configure_nmake()`](vcpkg_configure_nmake.md).
-## You can use the alias [`vcpkg_install_nmake()`](vcpkg_configure_nmake.md) function if your CMake script supports the
-## "install" target
-##
-## ## Examples
-##
-## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
-## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+#[===[.md:
+# vcpkg_build_nmake
+
+Build a msvc makefile project.
+
+## Usage:
+```cmake
+vcpkg_build_nmake(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [NO_DEBUG]
+ [TARGET <all>]
+ [PROJECT_SUBPATH <${SUBPATH}>]
+ [PROJECT_NAME <${MAKEFILE_NAME}>]
+ [PRERUN_SHELL <${SHELL_PATH}>]
+ [PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
+ [PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+ [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
+ [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
+ [TARGET <target>])
+```
+
+## Parameters
+### SOURCE_PATH
+Specifies the directory containing the source files.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### PROJECT_SUBPATH
+Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile.
+
+### PROJECT_NAME
+Specifies the name of msvc makefile name.
+Default is `makefile.vc`
+
+### NO_DEBUG
+This port doesn't support debug mode.
+
+### ENABLE_INSTALL
+Install binaries after build.
+
+### PRERUN_SHELL
+Script that needs to be called before build
+
+### PRERUN_SHELL_DEBUG
+Script that needs to be called before debug build
+
+### PRERUN_SHELL_RELEASE
+Script that needs to be called before release build
+
+### OPTIONS
+Additional options passed to generate during the generation.
+
+### OPTIONS_RELEASE
+Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`.
+
+### TARGET
+The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will
+be passed.
+
+### ADD_BIN_TO_PATH
+Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
+
+## Notes:
+This command should be preceeded by a call to [`vcpkg_configure_nmake()`](vcpkg_configure_nmake.md).
+You can use the alias [`vcpkg_install_nmake()`](vcpkg_install_nmake.md) function if your CMake script supports the
+"install" target
+
+## Examples
+
+* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
+* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+#]===]
+
function(vcpkg_build_nmake)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _bn
diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake
index 5568c080c..fd00f590f 100644
--- a/scripts/cmake/vcpkg_build_qmake.cmake
+++ b/scripts/cmake/vcpkg_build_qmake.cmake
@@ -1,11 +1,13 @@
-#.rst:
-# .. command:: vcpkg_build_qmake
-#
-# Build a qmake-based project, previously configured using vcpkg_configure_qmake.
-#
-# ::
-# vcpkg_build_qmake()
-#
+#[===[.md:
+# vcpkg_build_qmake
+
+Build a qmake-based project, previously configured using vcpkg_configure_qmake.
+
+```cmake
+vcpkg_build_qmake()
+```
+#]===]
+
function(vcpkg_build_qmake)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS")
diff --git a/scripts/cmake/vcpkg_buildpath_length_warning.cmake b/scripts/cmake/vcpkg_buildpath_length_warning.cmake
index b7ef10bb8..c3cc6d0f6 100644
--- a/scripts/cmake/vcpkg_buildpath_length_warning.cmake
+++ b/scripts/cmake/vcpkg_buildpath_length_warning.cmake
@@ -1,3 +1,14 @@
+#[===[.md:
+# vcpkg_buildpath_length_warning
+
+Warns the user if their vcpkg installation path might be too long for the package they're installing.
+
+## Usage
+```cmake
+vcpkg_buildpath_length_warning(13)
+```
+#]===]
+
function(vcpkg_buildpath_length_warning WARNING_LENGTH)
string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
if(BUILDTREES_PATH_LENGTH GREATER ${WARNING_LENGTH} AND CMAKE_HOST_WIN32)
@@ -5,4 +16,4 @@ function(vcpkg_buildpath_length_warning WARNING_LENGTH)
"We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
)
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake
index 404a1b61d..c22903eaa 100644
--- a/scripts/cmake/vcpkg_check_features.cmake
+++ b/scripts/cmake/vcpkg_check_features.cmake
@@ -1,148 +1,150 @@
-## # vcpkg_check_features
-## Check if one or more features are a part of a package installation.
-##
-## ## Usage
-## ```cmake
-## vcpkg_check_features(
-## OUT_FEATURE_OPTIONS <FEATURE_OPTIONS>
-## [FEATURES
-## <cuda> <WITH_CUDA>
-## [<opencv> <WITH_OPENCV>]
-## ...]
-## [INVERTED_FEATURES
-## <cuda> <IGNORE_PACKAGE_CUDA>
-## [<opencv> <IGNORE_PACKAGE_OPENCV>]
-## ...]
-## )
-## ```
-## `vcpkg_check_features()` accepts these parameters:
-##
-## * `OUT_FEATURE_OPTIONS`:
-## An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS`
-## and then set it to contain a list of option definitions (`-D<OPTION_NAME>=ON|OFF`).
-##
-## This should be set to `FEATURE_OPTIONS` by convention.
-##
-## * `FEATURES`:
-## A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs.
-## For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of:
-##
-## * `-D<OPTION_NAME>=ON`, if a feature is specified for installation,
-## * `-D<OPTION_NAME>=OFF`, otherwise.
-##
-## * `INVERTED_FEATURES`:
-## A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`.
-## For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of:
-##
-## * `-D<OPTION_NAME>=OFF`, if a feature is specified for installation,
-## * `-D<OPTION_NAME>=ON`, otherwise.
-##
-##
-## ## Notes
-##
-## The `FEATURES` name parameter can be omitted if no `INVERTED_FEATURES` are used.
-##
-## At least one (`FEATURE_NAME`, `OPTION_NAME`) pair must be passed to the function call.
-##
-## Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication.
-## If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists,
-## two conflicting definitions are added to `OUT_FEATURE_OPTIONS`.
-##
-##
-## ## Examples
-##
-## ### Example 1: Regular features
-##
-## ```cmake
-## $ ./vcpkg install mimalloc[asm,secure]
-##
-## # ports/mimalloc/portfile.cmake
-## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
-## # Keyword FEATURES is optional if INVERTED_FEATURES are not used
-## asm MI_SEE_ASM
-## override MI_OVERRIDE
-## secure MI_SECURE
-## )
-##
-## vcpkg_configure_cmake(
-## SOURCE_PATH ${SOURCE_PATH}
-## PREFER_NINJA
-## OPTIONS
-## # Expands to "-DMI_SEE_ASM=ON; -DMI_OVERRIDE=OFF; -DMI_SECURE=ON"
-## ${FEATURE_OPTIONS}
-## )
-## ```
-##
-## ### Example 2: Inverted features
-##
-## ```cmake
-## $ ./vcpkg install cpprestsdk[websockets]
-##
-## # ports/cpprestsdk/portfile.cmake
-## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
-## INVERTED_FEATURES # <- Keyword INVERTED_FEATURES required
-## brotli CPPREST_EXCLUDE_BROTLI
-## websockets CPPREST_EXCLUDE_WEBSOCKETS
-## )
-##
-## vcpkg_configure_cmake(
-## SOURCE_PATH ${SOURCE_PATH}
-## PREFER_NINJA
-## OPTIONS
-## # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON; -DCPPREST_EXCLUDE_WEBSOCKETS=OFF"
-## ${FEATURE_OPTIONS}
-## )
-## ```
-##
-## ### Example 3: Set multiple options for same feature
-##
-## ```cmake
-## $ ./vcpkg install pcl[cuda]
-##
-## # ports/pcl/portfile.cmake
-## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
-## cuda WITH_CUDA
-## cuda BUILD_CUDA
-## cuda BUILD_GPU
-## )
-##
-## vcpkg_configure_cmake(
-## SOURCE_PATH ${SOURCE_PATH}
-## PREFER_NINJA
-## OPTIONS
-## # Expands to "-DWITH_CUDA=ON; -DBUILD_CUDA=ON; -DBUILD_GPU=ON"
-## ${FEATURE_OPTIONS}
-## )
-## ```
-##
-## ### Example 4: Use regular and inverted features
-##
-## ```cmake
-## $ ./vcpkg install rocksdb[tbb]
-##
-## # ports/rocksdb/portfile.cmake
-## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
-## FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used
-## tbb WITH_TBB
-## INVERTED_FEATURES
-## tbb ROCKSDB_IGNORE_PACKAGE_TBB
-## )
-##
-## vcpkg_configure_cmake(
-## SOURCE_PATH ${SOURCE_PATH}
-## PREFER_NINJA
-## OPTIONS
-## # Expands to "-DWITH_TBB=ON; -DROCKSDB_IGNORE_PACKAGE_TBB=OFF"
-## ${FEATURE_OPTIONS}
-## )
-## ```
-##
-## ## Examples in portfiles
-##
-## * [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
-## * [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake)
-## * [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake)
-##
+#[===[.md:
+# vcpkg_check_features
+Check if one or more features are a part of a package installation.
+
+## Usage
+```cmake
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS <FEATURE_OPTIONS>
+ [FEATURES
+ <cuda> <WITH_CUDA>
+ [<opencv> <WITH_OPENCV>]
+ ...]
+ [INVERTED_FEATURES
+ <cuda> <IGNORE_PACKAGE_CUDA>
+ [<opencv> <IGNORE_PACKAGE_OPENCV>]
+ ...]
+)
+```
+`vcpkg_check_features()` accepts these parameters:
+
+* `OUT_FEATURE_OPTIONS`:
+ An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS`
+ and then set it to contain a list of option definitions (`-D<OPTION_NAME>=ON|OFF`).
+
+ This should be set to `FEATURE_OPTIONS` by convention.
+
+* `FEATURES`:
+ A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs.
+ For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of:
+
+ * `-D<OPTION_NAME>=ON`, if a feature is specified for installation,
+ * `-D<OPTION_NAME>=OFF`, otherwise.
+
+* `INVERTED_FEATURES`:
+ A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`.
+ For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of:
+
+ * `-D<OPTION_NAME>=OFF`, if a feature is specified for installation,
+ * `-D<OPTION_NAME>=ON`, otherwise.
+
+
+## Notes
+
+The `FEATURES` name parameter can be omitted if no `INVERTED_FEATURES` are used.
+
+At least one (`FEATURE_NAME`, `OPTION_NAME`) pair must be passed to the function call.
+
+Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication.
+If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists,
+two conflicting definitions are added to `OUT_FEATURE_OPTIONS`.
+
+
+## Examples
+
+### Example 1: Regular features
+
+```cmake
+$ ./vcpkg install mimalloc[asm,secure]
+
+# ports/mimalloc/portfile.cmake
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ # Keyword FEATURES is optional if INVERTED_FEATURES are not used
+ asm MI_SEE_ASM
+ override MI_OVERRIDE
+ secure MI_SECURE
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ # Expands to "-DMI_SEE_ASM=ON; -DMI_OVERRIDE=OFF; -DMI_SECURE=ON"
+ ${FEATURE_OPTIONS}
+)
+```
+
+### Example 2: Inverted features
+
+```cmake
+$ ./vcpkg install cpprestsdk[websockets]
+
+# ports/cpprestsdk/portfile.cmake
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ INVERTED_FEATURES # <- Keyword INVERTED_FEATURES required
+ brotli CPPREST_EXCLUDE_BROTLI
+ websockets CPPREST_EXCLUDE_WEBSOCKETS
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON; -DCPPREST_EXCLUDE_WEBSOCKETS=OFF"
+ ${FEATURE_OPTIONS}
+)
+```
+
+### Example 3: Set multiple options for same feature
+
+```cmake
+$ ./vcpkg install pcl[cuda]
+
+# ports/pcl/portfile.cmake
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ cuda WITH_CUDA
+ cuda BUILD_CUDA
+ cuda BUILD_GPU
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ # Expands to "-DWITH_CUDA=ON; -DBUILD_CUDA=ON; -DBUILD_GPU=ON"
+ ${FEATURE_OPTIONS}
+)
+```
+
+### Example 4: Use regular and inverted features
+
+```cmake
+$ ./vcpkg install rocksdb[tbb]
+
+# ports/rocksdb/portfile.cmake
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used
+ tbb WITH_TBB
+ INVERTED_FEATURES
+ tbb ROCKSDB_IGNORE_PACKAGE_TBB
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ # Expands to "-DWITH_TBB=ON; -DROCKSDB_IGNORE_PACKAGE_TBB=OFF"
+ ${FEATURE_OPTIONS}
+)
+```
+
+## Examples in portfiles
+
+* [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+* [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake)
+* [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake)
+#]===]
+
function(vcpkg_check_features)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _vcf "" "OUT_FEATURE_OPTIONS" "FEATURES;INVERTED_FEATURES")
diff --git a/scripts/cmake/vcpkg_check_linkage.cmake b/scripts/cmake/vcpkg_check_linkage.cmake
index 101adc4fd..9a8a7acb0 100644
--- a/scripts/cmake/vcpkg_check_linkage.cmake
+++ b/scripts/cmake/vcpkg_check_linkage.cmake
@@ -1,34 +1,37 @@
-## # vcpkg_check_linkage
-##
-## Asserts the available library and CRT linkage options for the port.
-##
-## ## Usage
-## ```cmake
-## vcpkg_check_linkage(
-## [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY]
-## [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT]
-## )
-## ```
-##
-## ## Parameters
-## ### ONLY_STATIC_LIBRARY
-## Indicates that this port can only be built with static library linkage.
-##
-## ### ONLY_DYNAMIC_LIBRARY
-## Indicates that this port can only be built with dynamic/shared library linkage.
-##
-## ### ONLY_STATIC_CRT
-## Indicates that this port can only be built with static CRT linkage.
-##
-## ### ONLY_DYNAMIC_CRT
-## Indicates that this port can only be built with dynamic/shared CRT linkage.
-##
-## ## Notes
-## This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports.
-##
-## ## Examples
-##
-## * [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+#[===[.md:
+# vcpkg_check_linkage
+
+Asserts the available library and CRT linkage options for the port.
+
+## Usage
+```cmake
+vcpkg_check_linkage(
+ [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY]
+ [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT]
+)
+```
+
+## Parameters
+### ONLY_STATIC_LIBRARY
+Indicates that this port can only be built with static library linkage.
+
+### ONLY_DYNAMIC_LIBRARY
+Indicates that this port can only be built with dynamic/shared library linkage.
+
+### ONLY_STATIC_CRT
+Indicates that this port can only be built with static CRT linkage.
+
+### ONLY_DYNAMIC_CRT
+Indicates that this port can only be built with dynamic/shared CRT linkage.
+
+## Notes
+This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports.
+
+## Examples
+
+* [abseil](https://github.com/Microsoft/vcpkg/blob/master/ports/abseil/portfile.cmake)
+#]===]
+
function(vcpkg_check_linkage)
cmake_parse_arguments(_csc "ONLY_STATIC_LIBRARY;ONLY_DYNAMIC_LIBRARY;ONLY_DYNAMIC_CRT;ONLY_STATIC_CRT" "" "" ${ARGN})
diff --git a/scripts/cmake/vcpkg_clean_executables_in_bin.cmake b/scripts/cmake/vcpkg_clean_executables_in_bin.cmake
index b479bd3d0..077e23cc3 100644
--- a/scripts/cmake/vcpkg_clean_executables_in_bin.cmake
+++ b/scripts/cmake/vcpkg_clean_executables_in_bin.cmake
@@ -1,23 +1,26 @@
-## # vcpkg_clean_executables_in_bin
-##
-## Remove specified executables found in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. If, after all specified executables have been removed, and the `bin` and `debug/bin` directories are empty, then also delete `bin` and `debug/bin` directories.
-##
-## ## Usage
-## ```cmake
-## vcpkg_clean_executables_in_bin(
-## FILE_NAMES <file1>...
-## )
-## ```
-##
-## ## Parameters
-## ### FILE_NAMES
-## A list of executable filenames without extension.
-##
-## ## Notes
-## Generally, there is no need to call this function manually. Instead, pass an extra `AUTO_CLEAN` argument when calling `vcpkg_copy_tools`.
-##
-## ## Examples
-## * [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake)
+#[===[.md:
+# vcpkg_clean_executables_in_bin
+
+Remove specified executables found in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. If, after all specified executables have been removed, and the `bin` and `debug/bin` directories are empty, then also delete `bin` and `debug/bin` directories.
+
+## Usage
+```cmake
+vcpkg_clean_executables_in_bin(
+ FILE_NAMES <file1>...
+)
+```
+
+## Parameters
+### FILE_NAMES
+A list of executable filenames without extension.
+
+## Notes
+Generally, there is no need to call this function manually. Instead, pass an extra `AUTO_CLEAN` argument when calling `vcpkg_copy_tools`.
+
+## Examples
+* [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake)
+#]===]
+
function(vcpkg_clean_executables_in_bin)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _vct "" "" "FILE_NAMES")
diff --git a/scripts/cmake/vcpkg_clean_msbuild.cmake b/scripts/cmake/vcpkg_clean_msbuild.cmake
index b0d77dfd2..ead78706d 100644
--- a/scripts/cmake/vcpkg_clean_msbuild.cmake
+++ b/scripts/cmake/vcpkg_clean_msbuild.cmake
@@ -1,15 +1,17 @@
-## # vcpkg_clean_msbuild
-##
-## Clean intermediate files generated by `vcpkg_install_msbuild()`.
-##
-## ## Usage
-## ```cmake
-## vcpkg_clean_msbuild()
-## ```
-##
-## ## Examples
-##
-## * [xalan-c](https://github.com/Microsoft/vcpkg/blob/master/ports/xalan-c/portfile.cmake)
+#[===[.md:
+# vcpkg_clean_msbuild
+
+Clean intermediate files generated by `vcpkg_install_msbuild()`.
+
+## Usage
+```cmake
+vcpkg_clean_msbuild()
+```
+
+## Examples
+
+* [xalan-c](https://github.com/Microsoft/vcpkg/blob/master/ports/xalan-c/portfile.cmake)
+#]===]
function(vcpkg_clean_msbuild)
file(REMOVE_RECURSE
diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake
index 33c66c3ec..10e5338d0 100644
--- a/scripts/cmake/vcpkg_common_definitions.cmake
+++ b/scripts/cmake/vcpkg_common_definitions.cmake
@@ -1,29 +1,30 @@
-## # vcpkg_common_definitions
-##
-## File contains helpful variabls for portfiles which are commonly needed or used.
-##
-## ## The following variables are available:
-## ```cmake
-## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD, OPENBSD. only defined if <target>
-## VCPKG_HOST_IS_<target> with <host> being one of the following: WINDOWS, LINUX, OSX, FREEBSD, OPENBSD. only defined if <host>
-## VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
-## VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
-## VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
-## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
-## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
-## VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX)
-## VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX)
-## VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles
-## VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles
-## VCPKG_SYSTEM_LIBRARIES list of libraries are provide by the toolchain and are not managed by vcpkg
-## ```
-##
-## CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target
-## Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that
-## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
-##
+#[===[.md:
+# vcpkg_common_definitions
+
+File contains helpful variabls for portfiles which are commonly needed or used.
+
+## The following variables are available:
+```cmake
+VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD, OPENBSD. only defined if <target>
+VCPKG_HOST_IS_<target> with <host> being one of the following: WINDOWS, LINUX, OSX, FREEBSD, OPENBSD. only defined if <host>
+VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
+VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
+VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
+VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
+VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
+VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
+VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
+VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX)
+VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX)
+VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles
+VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles
+VCPKG_SYSTEM_LIBRARIES list of libraries are provide by the toolchain and are not managed by vcpkg
+```
+
+CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target
+Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that
+portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
+#]===]
#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index 4aeb9524a..6b6959cd8 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -1 +1,3 @@
+# DEPRECATED
+
message("${_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "vcpkg_common_functions has been removed and all values are automatically provided in all portfile.cmake invocations. Please remove `include(vcpkg_common_functions)`.")
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index 2f22d34a1..8800d45eb 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -1,68 +1,71 @@
-## # vcpkg_configure_cmake
-##
-## Configure CMake for Debug and Release builds of a project.
-##
-## ## Usage
-## ```cmake
-## vcpkg_configure_cmake(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [PREFER_NINJA]
-## [DISABLE_PARALLEL_CONFIGURE]
-## [NO_CHARSET_FLAG]
-## [GENERATOR <"NMake Makefiles">]
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
-## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
-## )
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## Specifies the directory containing the `CMakeLists.txt`.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### PREFER_NINJA
-## Indicates that, when available, Vcpkg should use Ninja to perform the build.
-## This should be specified unless the port is known to not work under Ninja.
-##
-## ### DISABLE_PARALLEL_CONFIGURE
-## Disables running the CMake configure step in parallel.
-## This is needed for libraries which write back into their source directory during configure.
-##
-## This also disables CMAKE_DISABLE_SOURCE_CHANGES.
-##
-## ### NO_CHARSET_FLAG
-## Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`.
-##
-## This is needed for libraries that set their own source code's character set.
-##
-## ### GENERATOR
-## Specifies the precise generator to use.
-##
-## This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build.
-## If used for this purpose, it should be set to `"NMake Makefiles"`.
-##
-## ### OPTIONS
-## Additional options passed to CMake during the configuration.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to CMake during the Release configuration. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to CMake during the Debug configuration. These are in addition to `OPTIONS`.
-##
-## ### LOGNAME
-## Name of the log to write the output of the configure call to.
-##
-## ## Notes
-## This command supplies many common arguments to CMake. To see the full list, examine the source.
-##
-## ## Examples
-##
-## * [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
-## * [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
-## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
-## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#[===[.md:
+# vcpkg_configure_cmake
+
+Configure CMake for Debug and Release builds of a project.
+
+## Usage
+```cmake
+vcpkg_configure_cmake(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [PREFER_NINJA]
+ [DISABLE_PARALLEL_CONFIGURE]
+ [NO_CHARSET_FLAG]
+ [GENERATOR <"NMake Makefiles">]
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+ [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
+ [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
+)
+```
+
+## Parameters
+### SOURCE_PATH
+Specifies the directory containing the `CMakeLists.txt`.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### PREFER_NINJA
+Indicates that, when available, Vcpkg should use Ninja to perform the build.
+This should be specified unless the port is known to not work under Ninja.
+
+### DISABLE_PARALLEL_CONFIGURE
+Disables running the CMake configure step in parallel.
+This is needed for libraries which write back into their source directory during configure.
+
+This also disables CMAKE_DISABLE_SOURCE_CHANGES.
+
+### NO_CHARSET_FLAG
+Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`.
+
+This is needed for libraries that set their own source code's character set.
+
+### GENERATOR
+Specifies the precise generator to use.
+
+This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build.
+If used for this purpose, it should be set to `"NMake Makefiles"`.
+
+### OPTIONS
+Additional options passed to CMake during the configuration.
+
+### OPTIONS_RELEASE
+Additional options passed to CMake during the Release configuration. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to CMake during the Debug configuration. These are in addition to `OPTIONS`.
+
+### LOGNAME
+Name of the log to write the output of the configure call to.
+
+## Notes
+This command supplies many common arguments to CMake. To see the full list, examine the source.
+
+## Examples
+
+* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
+* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
+* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#]===]
+
function(vcpkg_configure_cmake)
# parse parameters such that semicolons in arguments to OPTIONS don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _csc
diff --git a/scripts/cmake/vcpkg_configure_gn.cmake b/scripts/cmake/vcpkg_configure_gn.cmake
index 5d083aed8..883463402 100644
--- a/scripts/cmake/vcpkg_configure_gn.cmake
+++ b/scripts/cmake/vcpkg_configure_gn.cmake
@@ -1,30 +1,32 @@
-## # vcpkg_configure_gn
-##
-## Generate Ninja (GN) targets
-##
-## ## Usage:
-## ```cmake
-## vcpkg_configure_gn(
-## SOURCE_PATH <SOURCE_PATH>
-## [OPTIONS <OPTIONS>]
-## [OPTIONS_DEBUG <OPTIONS_DEBUG>]
-## [OPTIONS_RELEASE <OPTIONS_RELEASE>]
-## )
-## ```
-##
-## ## Parameters:
-## ### SOURCE_PATH (required)
-## The path to the GN project.
-##
-## ### OPTIONS
-## Options to be passed to both the debug and release targets.
-## Note: Must be provided as a space-separated string.
-##
-## ### OPTIONS_DEBUG (space-separated string)
-## Options to be passed to the debug target.
-##
-## ### OPTIONS_RELEASE (space-separated string)
-## Options to be passed to the release target.
+#[===[.md:
+# vcpkg_configure_gn
+
+Generate Ninja (GN) targets
+
+## Usage:
+```cmake
+vcpkg_configure_gn(
+ SOURCE_PATH <SOURCE_PATH>
+ [OPTIONS <OPTIONS>]
+ [OPTIONS_DEBUG <OPTIONS_DEBUG>]
+ [OPTIONS_RELEASE <OPTIONS_RELEASE>]
+)
+```
+
+## Parameters:
+### SOURCE_PATH (required)
+The path to the GN project.
+
+### OPTIONS
+Options to be passed to both the debug and release targets.
+Note: Must be provided as a space-separated string.
+
+### OPTIONS_DEBUG (space-separated string)
+Options to be passed to the debug target.
+
+### OPTIONS_RELEASE (space-separated string)
+Options to be passed to the release target.
+#]===]
function(vcpkg_configure_gn)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
@@ -56,4 +58,4 @@ function(vcpkg_configure_gn)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
generate(${TARGET_TRIPLET}-rel "--args=${_vcg_OPTIONS} ${_vcg_OPTIONS_RELEASE}")
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake
index 8e079b64d..8a7b27be8 100644
--- a/scripts/cmake/vcpkg_configure_make.cmake
+++ b/scripts/cmake/vcpkg_configure_make.cmake
@@ -1,91 +1,94 @@
-## # vcpkg_configure_make
-##
-## Configure configure for Debug and Release builds of a project.
-##
-## ## Usage
-## ```cmake
-## vcpkg_configure_make(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [AUTOCONFIG]
-## [USE_WRAPPERS]
-## [DETERMINE_BUILD_TRIPLET]
-## [BUILD_TRIPLET "--host=x64 --build=i686-unknown-pc"]
-## [NO_ADDITIONAL_PATHS]
-## [CONFIG_DEPENDENT_ENVIRONMENT <SOME_VAR>...]
-## [CONFIGURE_ENVIRONMENT_VARIABLES <SOME_ENVVAR>...]
-## [ADD_BIN_TO_PATH]
-## [NO_DEBUG]
-## [SKIP_CONFIGURE]
-## [PROJECT_SUBPATH <${PROJ_SUBPATH}>]
-## [PRERUN_SHELL <${SHELL_PATH}>]
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
-## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
-## )
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## Specifies the directory containing the `configure`/`configure.ac`.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### PROJECT_SUBPATH
-## Specifies the directory containing the ``configure`/`configure.ac`.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### SKIP_CONFIGURE
-## Skip configure process
-##
-## ### USE_WRAPPERS
-## Use autotools ar-lib and compile wrappers (only applies to windows cl and lib)
-##
-## ### BUILD_TRIPLET
-## Used to pass custom --build/--target/--host to configure. Can be globally overwritten by VCPKG_MAKE_BUILD_TRIPLET
-##
-## ### DETERMINE_BUILD_TRIPLET
-## For ports having a configure script following the autotools rules for selecting the triplet
-##
-## ### NO_ADDITIONAL_PATHS
-## Don't pass any additional paths except for --prefix to the configure call
-##
-## ### AUTOCONFIG
-## Need to use autoconfig to generate configure file.
-##
-## ### PRERUN_SHELL
-## Script that needs to be called before configuration (do not use for batch files which simply call autoconf or configure)
-##
-## ### ADD_BIN_TO_PATH
-## Adds the appropriate Release and Debug `bin\` directories to the path during configure such that executables can run against the in-tree DLLs.
-##
-## ## DISABLE_VERBOSE_FLAGS
-## do not pass '--disable-silent-rules --verbose' to configure
-##
-## ### OPTIONS
-## Additional options passed to configure during the configuration.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`.
-##
-## ### CONFIG_DEPENDENT_ENVIRONMENT
-## List of additional configuration dependent environment variables to set.
-## Pass SOMEVAR to set the environment and have SOMEVAR_(DEBUG|RELEASE) set in the portfile to the appropriate values
-## General environment variables can be set from within the portfile itself.
-##
-## ### CONFIGURE_ENVIRONMENT_VARIABLES
-## List of additional environment variables to pass via the configure call.
-##
-## ## Notes
-## This command supplies many common arguments to configure. To see the full list, examine the source.
-##
-## ## Examples
-##
-## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
-## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
-## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
-## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#[===[.md:
+# vcpkg_configure_make
+
+Configure configure for Debug and Release builds of a project.
+
+## Usage
+```cmake
+vcpkg_configure_make(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [AUTOCONFIG]
+ [USE_WRAPPERS]
+ [DETERMINE_BUILD_TRIPLET]
+ [BUILD_TRIPLET "--host=x64 --build=i686-unknown-pc"]
+ [NO_ADDITIONAL_PATHS]
+ [CONFIG_DEPENDENT_ENVIRONMENT <SOME_VAR>...]
+ [CONFIGURE_ENVIRONMENT_VARIABLES <SOME_ENVVAR>...]
+ [ADD_BIN_TO_PATH]
+ [NO_DEBUG]
+ [SKIP_CONFIGURE]
+ [PROJECT_SUBPATH <${PROJ_SUBPATH}>]
+ [PRERUN_SHELL <${SHELL_PATH}>]
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+ [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
+ [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
+)
+```
+
+## Parameters
+### SOURCE_PATH
+Specifies the directory containing the `configure`/`configure.ac`.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### PROJECT_SUBPATH
+Specifies the directory containing the ``configure`/`configure.ac`.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### SKIP_CONFIGURE
+Skip configure process
+
+### USE_WRAPPERS
+Use autotools ar-lib and compile wrappers (only applies to windows cl and lib)
+
+### BUILD_TRIPLET
+Used to pass custom --build/--target/--host to configure. Can be globally overwritten by VCPKG_MAKE_BUILD_TRIPLET
+
+### DETERMINE_BUILD_TRIPLET
+For ports having a configure script following the autotools rules for selecting the triplet
+
+### NO_ADDITIONAL_PATHS
+Don't pass any additional paths except for --prefix to the configure call
+
+### AUTOCONFIG
+Need to use autoconfig to generate configure file.
+
+### PRERUN_SHELL
+Script that needs to be called before configuration (do not use for batch files which simply call autoconf or configure)
+
+### ADD_BIN_TO_PATH
+Adds the appropriate Release and Debug `bin\` directories to the path during configure such that executables can run against the in-tree DLLs.
+
+## DISABLE_VERBOSE_FLAGS
+do not pass '--disable-silent-rules --verbose' to configure
+
+### OPTIONS
+Additional options passed to configure during the configuration.
+
+### OPTIONS_RELEASE
+Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`.
+
+### CONFIG_DEPENDENT_ENVIRONMENT
+List of additional configuration dependent environment variables to set.
+Pass SOMEVAR to set the environment and have SOMEVAR_(DEBUG|RELEASE) set in the portfile to the appropriate values
+General environment variables can be set from within the portfile itself.
+
+### CONFIGURE_ENVIRONMENT_VARIABLES
+List of additional environment variables to pass via the configure call.
+
+## Notes
+This command supplies many common arguments to configure. To see the full list, examine the source.
+
+## Examples
+
+* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
+* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
+* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#]===]
+
macro(_vcpkg_determine_host_mingw out_var)
if(DEFINED ENV{PROCESSOR_ARCHITEW6432})
set(HOST_ARCH $ENV{PROCESSOR_ARCHITEW6432})
@@ -202,7 +205,7 @@ macro(_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags _SUFFIX)
endmacro()
function(vcpkg_configure_make)
- # parse parameters such that semicolons in options arguments to COMMAND don't get erased
+ # parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _csc
"AUTOCONFIG;SKIP_CONFIGURE;COPY_SOURCE;DISABLE_VERBOSE_FLAGS;NO_ADDITIONAL_PATHS;ADD_BIN_TO_PATH;USE_WRAPPERS;DETERMINE_BUILD_TRIPLET"
"SOURCE_PATH;PROJECT_SUBPATH;PRERUN_SHELL;BUILD_TRIPLET"
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake
index 8bcb654d9..212bcf076 100644
--- a/scripts/cmake/vcpkg_configure_meson.cmake
+++ b/scripts/cmake/vcpkg_configure_meson.cmake
@@ -1,38 +1,41 @@
-## # vcpkg_configure_meson
-##
-## Configure Meson for Debug and Release builds of a project.
-##
-## ## Usage
-## ```cmake
-## vcpkg_configure_meson(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
-## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
-## )
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## Specifies the directory containing the `meson.build`.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### OPTIONS
-## Additional options passed to Meson during the configuration.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to Meson during the Release configuration. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`.
-##
-## ## Notes
-## This command supplies many common arguments to Meson. To see the full list, examine the source.
-##
-## ## Examples
-##
-## * [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake)
-## * [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake)
+#[===[.md:
+# vcpkg_configure_meson
+
+Configure Meson for Debug and Release builds of a project.
+
+## Usage
+```cmake
+vcpkg_configure_meson(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+ [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
+ [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
+)
+```
+
+## Parameters
+### SOURCE_PATH
+Specifies the directory containing the `meson.build`.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### OPTIONS
+Additional options passed to Meson during the configuration.
+
+### OPTIONS_RELEASE
+Additional options passed to Meson during the Release configuration. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`.
+
+## Notes
+This command supplies many common arguments to Meson. To see the full list, examine the source.
+
+## Examples
+
+* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake)
+* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake)
+#]===]
+
function(vcpkg_internal_meson_generate_native_file) #https://mesonbuild.com/Native-environments.html
set(NATIVE "[binaries]\n")
#set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT)
@@ -60,7 +63,6 @@ function(vcpkg_internal_meson_generate_native_file) #https://mesonbuild.com/Nati
string(APPEND NATIVE "cpp_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n")
endif()
string(APPEND NATIVE "cmake = '${CMAKE_COMMAND}'\n")
-
string(APPEND NATIVE "[built-in options]\n") #https://mesonbuild.com/Builtin-options.html
if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe")
string(APPEND NATIVE "cpp_eh='none'\n") # To make sure meson is not adding eh flags by itself using msvc
diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake
index f0baabb6a..6fa3a609a 100644
--- a/scripts/cmake/vcpkg_configure_qmake.cmake
+++ b/scripts/cmake/vcpkg_configure_qmake.cmake
@@ -1,19 +1,23 @@
-#.rst:
-# .. command:: vcpkg_configure_qmake
-#
-# Configure a qmake-based project.
-#
-# ::
-# vcpkg_configure_qmake(SOURCE_PATH <pro_file_path>
-# [OPTIONS arg1 [arg2 ...]]
-# [OPTIONS_RELEASE arg1 [arg2 ...]]
-# [OPTIONS_DEBUG arg1 [arg2 ...]]
-# )
-#
-# ``SOURCE_PATH``
-# The path to the *.pro qmake project file.
-# ``OPTIONS[_RELEASE|_DEBUG]``
-# The options passed to qmake.
+#[===[.md:
+# vcpkg_configure_qmake
+
+Configure a qmake-based project.
+
+```cmake
+vcpkg_configure_qmake(
+ SOURCE_PATH <pro_file_path>
+ [OPTIONS arg1 [arg2 ...]]
+ [OPTIONS_RELEASE arg1 [arg2 ...]]
+ [OPTIONS_DEBUG arg1 [arg2 ...]]
+)
+```
+
+### SOURCE_PATH
+The path to the *.pro qmake project file.
+
+### OPTIONS, OPTIONS\_RELEASE, OPTIONS\_DEBUG
+The options passed to qmake.
+#]===]
function(vcpkg_configure_qmake)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
@@ -127,4 +131,4 @@ function(vcpkg_configure_qmake)
endif()
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_copy_pdbs.cmake b/scripts/cmake/vcpkg_copy_pdbs.cmake
index d3cb7e6ec..db91420b6 100644
--- a/scripts/cmake/vcpkg_copy_pdbs.cmake
+++ b/scripts/cmake/vcpkg_copy_pdbs.cmake
@@ -1,25 +1,28 @@
-## # vcpkg_copy_pdbs
-##
-## Automatically locate pdbs in the build tree and copy them adjacent to all DLLs.
-##
-## ## Usage
-## ```cmake
-## vcpkg_copy_pdbs([BUILD_PATHS <${CURRENT_PACKAGES_DIR}/bin/*.dll> ...])
-## ```
-##
-## ## Notes
-## This command should always be called by portfiles after they have finished rearranging the binary output.
-##
-## ## Parameters
-## ### BUILD_PATHS
-## Path patterns passed to `file(GLOB_RECURSE)` for locating dlls.
-##
-## Defaults to `${CURRENT_PACKAGES_DIR}/bin/*.dll` and `${CURRENT_PACKAGES_DIR}/debug/bin/*.dll`.
-##
-## ## Examples
-##
-## * [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
-## * [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+#[===[.md:
+# vcpkg_copy_pdbs
+
+Automatically locate pdbs in the build tree and copy them adjacent to all DLLs.
+
+## Usage
+```cmake
+vcpkg_copy_pdbs([BUILD_PATHS <${CURRENT_PACKAGES_DIR}/bin/*.dll> ...])
+```
+
+## Notes
+This command should always be called by portfiles after they have finished rearranging the binary output.
+
+## Parameters
+### BUILD_PATHS
+Path patterns passed to `file(GLOB_RECURSE)` for locating dlls.
+
+Defaults to `${CURRENT_PACKAGES_DIR}/bin/*.dll` and `${CURRENT_PACKAGES_DIR}/debug/bin/*.dll`.
+
+## Examples
+
+* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
+* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+#]===]
+
function(vcpkg_copy_pdbs)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _vcp "" "" "BUILD_PATHS")
@@ -75,4 +78,4 @@ function(vcpkg_copy_pdbs)
endif()
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
index 63e9b6fb1..ba0f31920 100644
--- a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
+++ b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
@@ -1,21 +1,24 @@
-## # vcpkg_copy_tool_dependencies
-##
-## Copy all DLL dependencies of built tools into the tool folder.
-##
-## ## Usage
-## ```cmake
-## vcpkg_copy_tool_dependencies(<${CURRENT_PACKAGES_DIR}/tools/${PORT}>)
-## ```
-## ## Parameters
-## The path to the directory containing the tools.
-##
-## ## Notes
-## This command should always be called by portfiles after they have finished rearranging the binary output, if they have any tools.
-##
-## ## Examples
-##
-## * [glib](https://github.com/Microsoft/vcpkg/blob/master/ports/glib/portfile.cmake)
-## * [fltk](https://github.com/Microsoft/vcpkg/blob/master/ports/fltk/portfile.cmake)
+#[===[.md:
+# vcpkg_copy_tool_dependencies
+
+Copy all DLL dependencies of built tools into the tool folder.
+
+## Usage
+```cmake
+vcpkg_copy_tool_dependencies(<${CURRENT_PACKAGES_DIR}/tools/${PORT}>)
+```
+## Parameters
+The path to the directory containing the tools.
+
+## Notes
+This command should always be called by portfiles after they have finished rearranging the binary output, if they have any tools.
+
+## Examples
+
+* [glib](https://github.com/Microsoft/vcpkg/blob/master/ports/glib/portfile.cmake)
+* [fltk](https://github.com/Microsoft/vcpkg/blob/master/ports/fltk/portfile.cmake)
+#]===]
+
function(vcpkg_copy_tool_dependencies TOOL_DIR)
if (VCPKG_TARGET_IS_WINDOWS)
find_program(PWSH_EXE pwsh)
diff --git a/scripts/cmake/vcpkg_copy_tools.cmake b/scripts/cmake/vcpkg_copy_tools.cmake
index 37cfabd3b..628bfc506 100644
--- a/scripts/cmake/vcpkg_copy_tools.cmake
+++ b/scripts/cmake/vcpkg_copy_tools.cmake
@@ -1,30 +1,33 @@
-## # vcpkg_copy_tools
-##
-## Copy tools and all their DLL dependencies into the `tools` folder.
-##
-## ## Usage
-## ```cmake
-## vcpkg_copy_tools(
-## TOOL_NAMES <tool1>...
-## [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>]
-## [AUTO_CLEAN]
-## )
-## ```
-## ## Parameters
-## ### TOOL_NAMES
-## A list of tool filenames without extension.
-##
-## ### SEARCH_DIR
-## The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if ommited.
-##
-## ### AUTO_CLEAN
-## Auto clean executables in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`.
-##
-## ## Examples
-##
-## * [cpuinfo](https://github.com/microsoft/vcpkg/blob/master/ports/cpuinfo/portfile.cmake)
-## * [nanomsg](https://github.com/microsoft/vcpkg/blob/master/ports/nanomsg/portfile.cmake)
-## * [uriparser](https://github.com/microsoft/vcpkg/blob/master/ports/uriparser/portfile.cmake)
+#[===[.md:
+# vcpkg_copy_tools
+
+Copy tools and all their DLL dependencies into the `tools` folder.
+
+## Usage
+```cmake
+vcpkg_copy_tools(
+ TOOL_NAMES <tool1>...
+ [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>]
+ [AUTO_CLEAN]
+)
+```
+## Parameters
+### TOOL_NAMES
+A list of tool filenames without extension.
+
+### SEARCH_DIR
+The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if ommited.
+
+### AUTO_CLEAN
+Auto clean executables in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`.
+
+## Examples
+
+* [cpuinfo](https://github.com/microsoft/vcpkg/blob/master/ports/cpuinfo/portfile.cmake)
+* [nanomsg](https://github.com/microsoft/vcpkg/blob/master/ports/nanomsg/portfile.cmake)
+* [uriparser](https://github.com/microsoft/vcpkg/blob/master/ports/uriparser/portfile.cmake)
+#]===]
+
function(vcpkg_copy_tools)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _vct "AUTO_CLEAN" "SEARCH_DIR" "TOOL_NAMES")
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index ff42fd64e..8f250c67e 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -1,54 +1,56 @@
-## # vcpkg_download_distfile
-##
-## Download and cache a file needed for this port.
-##
-## This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command.
-##
-## ## Usage
-## ```cmake
-## vcpkg_download_distfile(
-## <OUT_VARIABLE>
-## URLS <http://mainUrl> <http://mirror1>...
-## FILENAME <output.zip>
-## SHA512 <5981de...>
-## )
-## ```
-## ## Parameters
-## ### OUT_VARIABLE
-## This variable will be set to the full path to the downloaded file. This can then immediately be passed in to [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md) for sources.
-##
-## ### URLS
-## A list of URLs to be consulted. They will be tried in order until one of the downloaded files successfully matches the SHA512 given.
-##
-## ### FILENAME
-## The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
-##
-## ### SHA512
-## The expected hash for the file.
-##
-## If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch.
-##
-## ### QUIET
-## Suppress output on cache hit
-##
-## ### SKIP_SHA512
-## Skip SHA512 hash check for file.
-##
-## This switch is only valid when building with the `--head` command line flag.
-##
-## ### HEADERS
-## A list of headers to append to the download request. This can be used for authentication during a download.
-##
-## Headers should be specified as "<header-name>: <header-value>".
-##
-## ## Notes
-## The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects.
-##
-## ## Examples
-##
-## * [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake)
-## * [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake)
-## * [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake)
+#[===[.md:
+# vcpkg_download_distfile
+
+Download and cache a file needed for this port.
+
+This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command.
+
+## Usage
+```cmake
+vcpkg_download_distfile(
+ <OUT_VARIABLE>
+ URLS <http://mainUrl> <http://mirror1>...
+ FILENAME <output.zip>
+ SHA512 <5981de...>
+)
+```
+## Parameters
+### OUT_VARIABLE
+This variable will be set to the full path to the downloaded file. This can then immediately be passed in to [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md) for sources.
+
+### URLS
+A list of URLs to be consulted. They will be tried in order until one of the downloaded files successfully matches the SHA512 given.
+
+### FILENAME
+The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
+
+### SHA512
+The expected hash for the file.
+
+If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch.
+
+### QUIET
+Suppress output on cache hit
+
+### SKIP_SHA512
+Skip SHA512 hash check for file.
+
+This switch is only valid when building with the `--head` command line flag.
+
+### HEADERS
+A list of headers to append to the download request. This can be used for authentication during a download.
+
+Headers should be specified as "<header-name>: <header-value>".
+
+## Notes
+The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects.
+
+## Examples
+
+* [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake)
+* [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake)
+* [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake)
+#]===]
include(vcpkg_execute_in_download_mode)
diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake
index 9f9374184..2fc583d22 100644
--- a/scripts/cmake/vcpkg_execute_build_process.cmake
+++ b/scripts/cmake/vcpkg_execute_build_process.cmake
@@ -1,36 +1,39 @@
-## # vcpkg_execute_build_process
-##
-## Execute a required build process
-##
-## ## Usage
-## ```cmake
-## vcpkg_execute_build_process(
-## COMMAND <cmd> [<args>...]
-## [NO_PARALLEL_COMMAND <cmd> [<args>...]]
-## WORKING_DIRECTORY </path/to/dir>
-## LOGNAME <log_name>)
-## )
-## ```
-## ## Parameters
-## ### COMMAND
-## The command to be executed, along with its arguments.
-##
-## ### NO_PARALLEL_COMMAND
-## Optional parameter which specifies a non-parallel command to attempt if a
-## failure potentially due to parallelism is detected.
-##
-## ### WORKING_DIRECTORY
-## The directory to execute the command in.
-##
-## ### LOGNAME
-## The prefix to use for the log files.
-##
-## This should be a unique name for different triplets so that the logs don't
-## conflict when building multiple at once.
-##
-## ## Examples
-##
-## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake)
+#[===[.md:
+# vcpkg_execute_build_process
+
+Execute a required build process
+
+## Usage
+```cmake
+vcpkg_execute_build_process(
+ COMMAND <cmd> [<args>...]
+ [NO_PARALLEL_COMMAND <cmd> [<args>...]]
+ WORKING_DIRECTORY </path/to/dir>
+ LOGNAME <log_name>)
+)
+```
+## Parameters
+### COMMAND
+The command to be executed, along with its arguments.
+
+### NO_PARALLEL_COMMAND
+Optional parameter which specifies a non-parallel command to attempt if a
+failure potentially due to parallelism is detected.
+
+### WORKING_DIRECTORY
+The directory to execute the command in.
+
+### LOGNAME
+The prefix to use for the log files.
+
+This should be a unique name for different triplets so that the logs don't
+conflict when building multiple at once.
+
+## Examples
+
+* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake)
+#]===]
+
include(vcpkg_prettify_command)
function(vcpkg_execute_build_process)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
diff --git a/scripts/cmake/vcpkg_execute_in_download_mode.cmake b/scripts/cmake/vcpkg_execute_in_download_mode.cmake
index 752ef40e2..8ef773729 100644
--- a/scripts/cmake/vcpkg_execute_in_download_mode.cmake
+++ b/scripts/cmake/vcpkg_execute_in_download_mode.cmake
@@ -1,59 +1,67 @@
-## # vcpkg_execute_in_download_mode
-##
-## Execute a process even in download mode.
-##
-## ## Usage
-## ```cmake
-## vcpkg_execute_in_download_mode(
-## COMMAND <cmd> [<arguments>...]
-## OUTPUT_QUIET ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE
-## WORKING_DIRECTORY <dir>
-## TIMEOUT <seconds>
-## RESULT_VARIABLE <seconds>
-## OUTPUT_VARIABLE <var_out>
-## ERROR_VARIABLE <var_err>
-## INPUT_FILE <f_in>
-## OUTPUT_FILE <f_out>
-## ERROR_FILE <f_err>
-## ENCODING <enc>
-## )
-## ```
-##
-## The signature of this function is identical with `execute_process()` except that
-## it only accepts one COMMAND argument, i.e., does not support chaining multiple
-## commands with pipes.
-##
-## See `execute_process()` for a detailed description of the parameters.
+#[===[.md:
+# vcpkg_execute_in_download_mode
+
+Execute a process even in download mode.
+
+## Usage
+```cmake
+vcpkg_execute_in_download_mode(
+ COMMAND <cmd> [<arguments>]
+ [WORKING_DIRECTORY <dir>]
+ [TIMEOUT <seconds>]
+ [RESULT_VARIABLE <variable>]
+ [OUTPUT_VARIABLE <variable>]
+ [ERROR_VARIABLE <variable>]
+ [INPUT_FILE <file>]
+ [OUTPUT_FILE <file>]
+ [ERROR_FILE <file>]
+ [OUTPUT_QUIET]
+ [ERROR_QUIET]
+ [OUTPUT_STRIP_TRAILING_WHITESPACE]
+ [ERROR_STRIP_TRAILING_WHITESPACE]
+ [ENCODING <name>]
+)
+```
+
+The signature of this function is identical to `execute_process()` except that
+it only accepts one COMMAND argument, i.e., does not support chaining multiple
+commands with pipes.
+
+See [`execute_process()`] for a detailed description of the parameters.
+
+[`execute_process()`]: https://cmake.org/cmake/help/latest/command/execute_process.html
+#]===]
+
function(vcpkg_execute_in_download_mode)
- # parse parameters such that semicolons in options arguments to COMMAND don't get erased
- cmake_parse_arguments(PARSE_ARGV 0 vcpkg_execute_in_download_mode
- "OUTPUT_QUIET;ERROR_QUIET;OUTPUT_STRIP_TRAILING_WHITESPACE;ERROR_STRIP_TRAILING_WHITESPACE"
- "WORKING_DIRECTORY;TIMEOUT;RESULT_VARIABLE;RESULTS_VARIABLE;OUTPUT_VARIABLE;ERROR_VARIABLE;INPUT_FILE;OUTPUT_FILE;ERROR_FILE;ENCODING"
- "COMMAND")
-
- # collect all other present parameters
- set(other_args "")
- foreach(arg OUTPUT_QUIET ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
- if(vcpkg_execute_in_download_mode_${arg})
- list(APPEND other_args ${arg})
- endif()
- endforeach()
- foreach(arg WORKING_DIRECTORY TIMEOUT RESULT_VARIABLE RESULTS_VARIABLE OUTPUT_VARIABLE ERROR_VARIABLE INPUT_FILE OUTPUT_FILE ERROR_FILE ENCODING)
- if(vcpkg_execute_in_download_mode_${arg})
- list(APPEND other_args ${arg} ${vcpkg_execute_in_download_mode_${arg}})
+ # parse parameters such that semicolons in options arguments to COMMAND don't get erased
+ cmake_parse_arguments(PARSE_ARGV 0 vcpkg_execute_in_download_mode
+ "OUTPUT_QUIET;ERROR_QUIET;OUTPUT_STRIP_TRAILING_WHITESPACE;ERROR_STRIP_TRAILING_WHITESPACE"
+ "WORKING_DIRECTORY;TIMEOUT;RESULT_VARIABLE;RESULTS_VARIABLE;OUTPUT_VARIABLE;ERROR_VARIABLE;INPUT_FILE;OUTPUT_FILE;ERROR_FILE;ENCODING"
+ "COMMAND")
+
+ # collect all other present parameters
+ set(other_args "")
+ foreach(arg OUTPUT_QUIET ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
+ if(vcpkg_execute_in_download_mode_${arg})
+ list(APPEND other_args ${arg})
+ endif()
+ endforeach()
+ foreach(arg WORKING_DIRECTORY TIMEOUT RESULT_VARIABLE RESULTS_VARIABLE OUTPUT_VARIABLE ERROR_VARIABLE INPUT_FILE OUTPUT_FILE ERROR_FILE ENCODING)
+ if(vcpkg_execute_in_download_mode_${arg})
+ list(APPEND other_args ${arg} ${vcpkg_execute_in_download_mode_${arg}})
+ endif()
+ endforeach()
+
+ if (DEFINED VCPKG_DOWNLOAD_MODE)
+ _execute_process(COMMAND ${vcpkg_execute_in_download_mode_COMMAND} ${other_args})
+ else()
+ execute_process(COMMAND ${vcpkg_execute_in_download_mode_COMMAND} ${other_args})
endif()
- endforeach()
-
- if (DEFINED VCPKG_DOWNLOAD_MODE)
- _execute_process(COMMAND ${vcpkg_execute_in_download_mode_COMMAND} ${other_args})
- else()
- execute_process(COMMAND ${vcpkg_execute_in_download_mode_COMMAND} ${other_args})
- endif()
-
- # pass output parameters back to caller's scope
- foreach(arg RESULT_VARIABLE RESULTS_VARIABLE OUTPUT_VARIABLE ERROR_VARIABLE)
- if(vcpkg_execute_in_download_mode_${arg})
- set(${vcpkg_execute_in_download_mode_${arg}} ${${vcpkg_execute_in_download_mode_${arg}}} PARENT_SCOPE)
- endif()
- endforeach()
+
+ # pass output parameters back to caller's scope
+ foreach(arg RESULT_VARIABLE RESULTS_VARIABLE OUTPUT_VARIABLE ERROR_VARIABLE)
+ if(vcpkg_execute_in_download_mode_${arg})
+ set(${vcpkg_execute_in_download_mode_${arg}} ${${vcpkg_execute_in_download_mode_${arg}}} PARENT_SCOPE)
+ endif()
+ endforeach()
endfunction()
diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake
index 454d97b80..4b8d24761 100644
--- a/scripts/cmake/vcpkg_execute_required_process.cmake
+++ b/scripts/cmake/vcpkg_execute_required_process.cmake
@@ -1,49 +1,51 @@
-## # vcpkg_execute_required_process
-##
-## Execute a process with logging and fail the build if the command fails.
-##
-## ## Usage
-## ```cmake
-## vcpkg_execute_required_process(
-## COMMAND <${PERL}> [<arguments>...]
-## WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg>
-## LOGNAME <build-${TARGET_TRIPLET}-dbg>
-## [TIMEOUT <seconds>]
-## [OUTPUT_VARIABLE <var>]
-## [ERROR_VARIABLE <var>]
-## )
-## ```
-## ## Parameters
-## ### ALLOW_IN_DOWNLOAD_MODE
-## Allows the command to execute in Download Mode.
-## [See execute_process() override](../../scripts/cmake/execute_process.cmake).
-##
-## ### COMMAND
-## The command to be executed, along with its arguments.
-##
-## ### WORKING_DIRECTORY
-## The directory to execute the command in.
-##
-## ### LOGNAME
-## The prefix to use for the log files.
-##
-## ### TIMEOUT
-## Optional timeout after which to terminate the command.
-##
-## ### OUTPUT_VARIABLE
-## Optional variable to receive stdout of the command.
-##
-## ### ERROR_VARIABLE
-## Optional variable to receive stderr of the command.
-##
-## This should be a unique name for different triplets so that the logs don't conflict when building multiple at once.
-##
-## ## Examples
-##
-## * [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
-## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
-## * [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
-## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
+#[===[.md:
+# vcpkg_execute_required_process
+
+Execute a process with logging and fail the build if the command fails.
+
+## Usage
+```cmake
+vcpkg_execute_required_process(
+ COMMAND <${PERL}> [<arguments>...]
+ WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg>
+ LOGNAME <build-${TARGET_TRIPLET}-dbg>
+ [TIMEOUT <seconds>]
+ [OUTPUT_VARIABLE <var>]
+ [ERROR_VARIABLE <var>]
+)
+```
+## Parameters
+### ALLOW_IN_DOWNLOAD_MODE
+Allows the command to execute in Download Mode.
+[See execute_process() override](../../scripts/cmake/execute_process.cmake).
+
+### COMMAND
+The command to be executed, along with its arguments.
+
+### WORKING_DIRECTORY
+The directory to execute the command in.
+
+### LOGNAME
+The prefix to use for the log files.
+
+### TIMEOUT
+Optional timeout after which to terminate the command.
+
+### OUTPUT_VARIABLE
+Optional variable to receive stdout of the command.
+
+### ERROR_VARIABLE
+Optional variable to receive stderr of the command.
+
+This should be a unique name for different triplets so that the logs don't conflict when building multiple at once.
+
+## Examples
+
+* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
+* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
+* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
+* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
+#]===]
include(vcpkg_prettify_command)
include(vcpkg_execute_in_download_mode)
diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake
index 91b847dc5..ba9debfad 100644
--- a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake
+++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake
@@ -1,4 +1,19 @@
-# Usage: vcpkg_execute_required_process_repeat(COUNT <num> COMMAND <cmd> [<args>...] WORKING_DIRECTORY </path/to/dir> LOGNAME <my_log_name>)
+#[===[.md:
+# vcpkg_execute_required_process_repeat
+
+Execute a process until the command succeeds, or until the COUNT is reached.
+
+## Usage
+```cmake
+vcpkg_execute_required_process_repeat(
+ COUNT <num>
+ COMMAND <cmd> [<arguments>]
+ WORKING_DIRECTORY <directory>
+ LOGNAME <name>
+)
+```
+#]===]
+
include(vcpkg_prettify_command)
function(vcpkg_execute_required_process_repeat)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake
index fbae94b55..631d6da59 100644
--- a/scripts/cmake/vcpkg_extract_source_archive.cmake
+++ b/scripts/cmake/vcpkg_extract_source_archive.cmake
@@ -1,32 +1,35 @@
-## # vcpkg_extract_source_archive
-##
-## Extract an archive into the source directory. Deprecated in favor of [`vcpkg_extract_source_archive_ex`](vcpkg_extract_source_archive_ex.md).
-##
-## ## Usage
-## ```cmake
-## vcpkg_extract_source_archive(
-## <${ARCHIVE}> [<${TARGET_DIRECTORY}>]
-## )
-## ```
-## ## Parameters
-## ### ARCHIVE
-## The full path to the archive to be extracted.
-##
-## This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md).
-##
-## ### TARGET_DIRECTORY
-## If specified, the archive will be extracted into the target directory instead of `${CURRENT_BUILDTREES_DIR}\src\`.
-##
-## This can be used to mimic git submodules, by extracting into a subdirectory of another archive.
-##
-## ## Notes
-## This command will also create a tracking file named <FILENAME>.extracted in the TARGET_DIRECTORY. This file, when present, will suppress the extraction of the archive.
-##
-## ## Examples
-##
-## * [libraw](https://github.com/Microsoft/vcpkg/blob/master/ports/libraw/portfile.cmake)
-## * [protobuf](https://github.com/Microsoft/vcpkg/blob/master/ports/protobuf/portfile.cmake)
-## * [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake)
+#[===[.md:
+# vcpkg_extract_source_archive
+
+Extract an archive into the source directory. Deprecated in favor of [`vcpkg_extract_source_archive_ex`](vcpkg_extract_source_archive_ex.md).
+
+## Usage
+```cmake
+vcpkg_extract_source_archive(
+ <${ARCHIVE}> [<${TARGET_DIRECTORY}>]
+)
+```
+## Parameters
+### ARCHIVE
+The full path to the archive to be extracted.
+
+This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md).
+
+### TARGET_DIRECTORY
+If specified, the archive will be extracted into the target directory instead of `${CURRENT_BUILDTREES_DIR}/src/`.
+
+This can be used to mimic git submodules, by extracting into a subdirectory of another archive.
+
+## Notes
+This command will also create a tracking file named <FILENAME>.extracted in the TARGET_DIRECTORY. This file, when present, will suppress the extraction of the archive.
+
+## Examples
+
+* [libraw](https://github.com/Microsoft/vcpkg/blob/master/ports/libraw/portfile.cmake)
+* [protobuf](https://github.com/Microsoft/vcpkg/blob/master/ports/protobuf/portfile.cmake)
+* [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake)
+#]===]
+
include(vcpkg_execute_required_process)
function(vcpkg_extract_source_archive ARCHIVE)
diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake
index d1a7febee..bef245b5a 100644
--- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake
+++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake
@@ -1,56 +1,59 @@
-## # vcpkg_extract_source_archive_ex
-##
-## Extract an archive into the source directory. Replaces [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md).
-##
-## ## Usage
-## ```cmake
-## vcpkg_extract_source_archive_ex(
-## SKIP_PATCH_CHECK
-## OUT_SOURCE_PATH <SOURCE_PATH>
-## ARCHIVE <${ARCHIVE}>
-## [REF <1.0.0>]
-## [NO_REMOVE_ONE_LEVEL]
-## [WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/src>]
-## [PATCHES <a.patch>...]
-## )
-## ```
-## ## Parameters
-## ### SKIP_PATCH_CHECK
-## If this option is set the failure to apply a patch is ignored.
-##
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### ARCHIVE
-## The full path to the archive to be extracted.
-##
-## This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md).
-##
-## ### REF
-## A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated.
-##
-## By convention, this is set to the version number or tag fetched
-##
-## ### WORKING_DIRECTORY
-## If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`.
-##
-## Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`).
-##
-## ### PATCHES
-## A list of patches to be applied to the extracted sources.
-##
-## Relative paths are based on the port directory.
-##
-## ### NO_REMOVE_ONE_LEVEL
-## Specifies that the default removal of the top level folder should not occur.
-##
-## ## Examples
-##
-## * [bzip2](https://github.com/Microsoft/vcpkg/blob/master/ports/bzip2/portfile.cmake)
-## * [sqlite3](https://github.com/Microsoft/vcpkg/blob/master/ports/sqlite3/portfile.cmake)
-## * [cairo](https://github.com/Microsoft/vcpkg/blob/master/ports/cairo/portfile.cmake)
+#[===[.md:
+# vcpkg_extract_source_archive_ex
+
+Extract an archive into the source directory. Replaces [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md).
+
+## Usage
+```cmake
+vcpkg_extract_source_archive_ex(
+ SKIP_PATCH_CHECK
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ ARCHIVE <${ARCHIVE}>
+ [REF <1.0.0>]
+ [NO_REMOVE_ONE_LEVEL]
+ [WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/src>]
+ [PATCHES <a.patch>...]
+)
+```
+## Parameters
+### SKIP_PATCH_CHECK
+If this option is set the failure to apply a patch is ignored.
+
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### ARCHIVE
+The full path to the archive to be extracted.
+
+This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md).
+
+### REF
+A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated.
+
+By convention, this is set to the version number or tag fetched
+
+### WORKING_DIRECTORY
+If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`.
+
+Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`).
+
+### PATCHES
+A list of patches to be applied to the extracted sources.
+
+Relative paths are based on the port directory.
+
+### NO_REMOVE_ONE_LEVEL
+Specifies that the default removal of the top level folder should not occur.
+
+## Examples
+
+* [bzip2](https://github.com/Microsoft/vcpkg/blob/master/ports/bzip2/portfile.cmake)
+* [sqlite3](https://github.com/Microsoft/vcpkg/blob/master/ports/sqlite3/portfile.cmake)
+* [cairo](https://github.com/Microsoft/vcpkg/blob/master/ports/cairo/portfile.cmake)
+#]===]
+
include(vcpkg_apply_patches)
include(vcpkg_extract_source_archive)
diff --git a/scripts/cmake/vcpkg_fail_port_install.cmake b/scripts/cmake/vcpkg_fail_port_install.cmake
index 5288226eb..9e919aa02 100644
--- a/scripts/cmake/vcpkg_fail_port_install.cmake
+++ b/scripts/cmake/vcpkg_fail_port_install.cmake
@@ -1,41 +1,44 @@
-## # vcpkg_fail_port_install
-##
-## Checks common requirements and fails the current portfile with a (default) error message
-##
-## ## Usage
-## ```cmake
-## vcpkg_fail_port_install(
-## [ALWAYS]
-## [MESSAGE <"Reason for failure">]
-## [ON_TARGET <Windows> [<OSX> ...]]
-## [ON_ARCH <x64> [<arm> ...]]
-## [ON_CRT_LINKAGE <static> [<dynamic> ...]])
-## [ON_LIBRARY_LINKAGE <static> [<dynamic> ...]]
-## )
-## ```
-##
-## ## Parameters
-## ### MESSAGE
-## Additional failure message. If none is given, a default message will be displayed depending on the failure condition.
-##
-## ### ALWAYS
-## Will always fail early
-##
-## ### ON_TARGET
-## Targets for which the build should fail early. Valid targets are `<target>` from `VCPKG_IS_TARGET_<target>` (see `vcpkg_common_definitions.cmake`).
-##
-## ### ON_ARCH
-## Architecture for which the build should fail early.
-##
-## ### ON_CRT_LINKAGE
-## CRT linkage for which the build should fail early.
-##
-## ### ON_LIBRARY_LINKAGE
-## Library linkage for which the build should fail early.
-##
-## ## Examples
-##
-## * [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake)
+#[===[.md:
+# vcpkg_fail_port_install
+
+Checks common requirements and fails the current portfile with a (default) error message
+
+## Usage
+```cmake
+vcpkg_fail_port_install(
+ [ALWAYS]
+ [MESSAGE <"Reason for failure">]
+ [ON_TARGET <Windows> [<OSX> ...]]
+ [ON_ARCH <x64> [<arm> ...]]
+ [ON_CRT_LINKAGE <static> [<dynamic> ...]])
+ [ON_LIBRARY_LINKAGE <static> [<dynamic> ...]]
+)
+```
+
+## Parameters
+### MESSAGE
+Additional failure message. If none is given, a default message will be displayed depending on the failure condition.
+
+### ALWAYS
+Will always fail early
+
+### ON_TARGET
+Targets for which the build should fail early. Valid targets are `<target>` from `VCPKG_IS_TARGET_<target>` (see `vcpkg_common_definitions.cmake`).
+
+### ON_ARCH
+Architecture for which the build should fail early.
+
+### ON_CRT_LINKAGE
+CRT linkage for which the build should fail early.
+
+### ON_LIBRARY_LINKAGE
+Library linkage for which the build should fail early.
+
+## Examples
+
+* [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake)
+#]===]
+
function(vcpkg_fail_port_install)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _csc "ALWAYS" "MESSAGE" "ON_TARGET;ON_ARCH;ON_CRT_LINKAGE;ON_LIBRARY_LINKAGE")
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 1760c3630..278d7e6a4 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -1,49 +1,51 @@
-## # vcpkg_find_acquire_program
-##
-## Download or find a well-known tool.
-##
-## ## Usage
-## ```cmake
-## vcpkg_find_acquire_program(<VAR>)
-## ```
-## ## Parameters
-## ### VAR
-## This variable specifies both the program to be acquired as well as the out parameter that will be set to the path of the program executable.
-##
-## ## Notes
-## The current list of programs includes:
-##
-## - 7Z
-## - ARIA2 (Downloader)
-## - BISON
-## - CLANG
-## - DARK
-## - DOXYGEN
-## - FLEX
-## - GASPREPROCESSOR
-## - GPERF
-## - PERL
-## - PYTHON2
-## - PYTHON3
-## - GIT
-## - GN
-## - GO
-## - JOM
-## - MESON
-## - NASM
-## - NINJA
-## - NUGET
-## - SCONS
-## - SWIG
-## - YASM
-##
-## Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
-##
-## ## Examples
-##
-## * [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
-## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
-## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
+#[===[.md:
+# vcpkg_find_acquire_program
+
+Download or find a well-known tool.
+
+## Usage
+```cmake
+vcpkg_find_acquire_program(<VAR>)
+```
+## Parameters
+### VAR
+This variable specifies both the program to be acquired as well as the out parameter that will be set to the path of the program executable.
+
+## Notes
+The current list of programs includes:
+
+* 7Z
+* ARIA2 (Downloader)
+* BISON
+* CLANG
+* DARK
+* DOXYGEN
+* FLEX
+* GASPREPROCESSOR
+* GPERF
+* PERL
+* PYTHON2
+* PYTHON3
+* GIT
+* GN
+* GO
+* JOM
+* MESON
+* NASM
+* NINJA
+* NUGET
+* SCONS
+* SWIG
+* YASM
+
+Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
+
+## Examples
+
+* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
+* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
+* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
+#]===]
include(vcpkg_execute_in_download_mode)
@@ -464,7 +466,7 @@ function(vcpkg_find_acquire_program VAR)
macro(do_version_check)
if(VERSION_CMD)
- _execute_process(
+ vcpkg_execute_in_download_mode(
COMMAND ${${VAR}} ${VERSION_CMD}
WORKING_DIRECTORY ${DOWNLOADS}
OUTPUT_VARIABLE ${VAR}_VERSION_OUTPUT
diff --git a/scripts/cmake/vcpkg_find_fortran.cmake b/scripts/cmake/vcpkg_find_fortran.cmake
index c517fa51b..fd359d0ee 100644
--- a/scripts/cmake/vcpkg_find_fortran.cmake
+++ b/scripts/cmake/vcpkg_find_fortran.cmake
@@ -1,14 +1,15 @@
-## # vcpkg_find_fortran
-##
-## Checks if a Fortran compiler can be found.
-## Windows(x86/x64) Only: If not it will switch/enable MinGW gfortran
-## and return required cmake args for building.
-##
-## ## Usage
-## ```cmake
-## vcpkg_find_fortran(<additional_cmake_args_out>
-## )
-## ```
+#[===[.md:
+# vcpkg_find_fortran
+
+Checks if a Fortran compiler can be found.
+Windows(x86/x64) Only: If not it will switch/enable MinGW gfortran
+ and return required cmake args for building.
+
+## Usage
+```cmake
+vcpkg_find_fortran(<additional_cmake_args_out>)
+```
+#]===]
function(vcpkg_find_fortran additional_cmake_args_out)
set(ARGS_OUT)
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index 31bf9351b..2da44f551 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -1,52 +1,55 @@
-## # vcpkg_fixup_cmake_targets
-##
-## Merge release and debug CMake targets and configs to support multiconfig generators.
-##
-## Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries.
-##
-## ## Usage
-## ```cmake
-## vcpkg_fixup_cmake_targets([CONFIG_PATH <share/${PORT}>] [TARGET_PATH <share/${PORT}>] [DO_NOT_DELETE_PARENT_CONFIG_PATH])
-## ```
-##
-## ## Parameters
-##
-## ### CONFIG_PATH
-## Subpath currently containing `*.cmake` files subdirectory (like `lib/cmake/${PORT}`). Should be relative to `${CURRENT_PACKAGES_DIR}`.
-##
-## Defaults to `share/${PORT}`.
-##
-## ### TARGET_PATH
-## Subpath to which the above `*.cmake` files should be moved. Should be relative to `${CURRENT_PACKAGES_DIR}`.
-## This needs to be specified if the port name differs from the `find_package()` name.
-##
-## Defaults to `share/${PORT}`.
-##
-## ### DO_NOT_DELETE_PARENT_CONFIG_PATH
-## By default the parent directory of CONFIG_PATH is removed if it is named "cmake".
-## Passing this option disable such behavior, as it is convenient for ports that install
-## more than one CMake package configuration file.
-##
-## ### NO_PREFIX_CORRECTION
-## Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets.
-## Currently the correction does not take into account how the files are moved and applies
-## I rather simply correction which in some cases will yield the wrong results.
-##
-## ## Notes
-## Transform all `/debug/<CONFIG_PATH>/*targets-debug.cmake` files and move them to `/<TARGET_PATH>`.
-## Removes all `/debug/<CONFIG_PATH>/*targets.cmake` and `/debug/<CONFIG_PATH>/*config.cmake`.
-##
-## Transform all references matching `/bin/*.exe` to `/tools/<port>/*.exe` on Windows.
-## Transform all references matching `/bin/*` to `/tools/<port>/*` on other platforms.
-##
-## Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper.
-## Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets.
-##
-## ## Examples
-##
-## * [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake)
-## * [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake)
-## * [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake)
+#[===[.md:
+# vcpkg_fixup_cmake_targets
+
+Merge release and debug CMake targets and configs to support multiconfig generators.
+
+Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries.
+
+## Usage
+```cmake
+vcpkg_fixup_cmake_targets([CONFIG_PATH <share/${PORT}>] [TARGET_PATH <share/${PORT}>] [DO_NOT_DELETE_PARENT_CONFIG_PATH])
+```
+
+## Parameters
+
+### CONFIG_PATH
+Subpath currently containing `*.cmake` files subdirectory (like `lib/cmake/${PORT}`). Should be relative to `${CURRENT_PACKAGES_DIR}`.
+
+Defaults to `share/${PORT}`.
+
+### TARGET_PATH
+Subpath to which the above `*.cmake` files should be moved. Should be relative to `${CURRENT_PACKAGES_DIR}`.
+This needs to be specified if the port name differs from the `find_package()` name.
+
+Defaults to `share/${PORT}`.
+
+### DO_NOT_DELETE_PARENT_CONFIG_PATH
+By default the parent directory of CONFIG_PATH is removed if it is named "cmake".
+Passing this option disable such behavior, as it is convenient for ports that install
+more than one CMake package configuration file.
+
+### NO_PREFIX_CORRECTION
+Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets.
+Currently the correction does not take into account how the files are moved and applies
+I rather simply correction which in some cases will yield the wrong results.
+
+## Notes
+Transform all `/debug/<CONFIG_PATH>/*targets-debug.cmake` files and move them to `/<TARGET_PATH>`.
+Removes all `/debug/<CONFIG_PATH>/*targets.cmake` and `/debug/<CONFIG_PATH>/*config.cmake`.
+
+Transform all references matching `/bin/*.exe` to `/tools/<port>/*.exe` on Windows.
+Transform all references matching `/bin/*` to `/tools/<port>/*` on other platforms.
+
+Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper.
+Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets.
+
+## Examples
+
+* [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake)
+* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake)
+* [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake)
+#]===]
+
function(vcpkg_fixup_cmake_targets)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 _vfct "DO_NOT_DELETE_PARENT_CONFIG_PATH" "CONFIG_PATH;TARGET_PATH;NO_PREFIX_CORRECTION" "")
diff --git a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
index baccef100..f003b6d2d 100644
--- a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
+++ b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
@@ -1,44 +1,46 @@
-## # vcpkg_fixup_pkgconfig
-##
-## Fix common paths in *.pc files and make everything relativ to $(prefix)
-##
-## ## Usage
-## ```cmake
-## vcpkg_fixup_pkgconfig(
-## [RELEASE_FILES <PATHS>...]
-## [DEBUG_FILES <PATHS>...]
-## [SYSTEM_LIBRARIES <NAMES>...]
-## [IGNORE_FLAGS <FLAGS>]
-## [SKIP_CHECK]
-## )
-## ```
-##
-## ## Parameters
-## ### RELEASE_FILES
-## Specifies a list of files to apply the fixes for release paths.
-## Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR} without ${CURRENT_PACKAGES_DIR}/debug/
-##
-## ### DEBUG_FILES
-## Specifies a list of files to apply the fixes for debug paths.
-## Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR}/debug/
-##
-## ### SYSTEM_LIBRARIES
-## If the *.pc file contains system libraries outside vcpkg these need to be listed here.
-## VCPKG checks every -l flag for the existence of the required library within vcpkg.
-##
-## ### IGNORE_FLAGS
-## If the *.pc file contains flags in the lib field which are not libraries. These can be listed here
-##
-## ### SKIP_CHECK
-## Skips the library checks in vcpkg_fixup_pkgconfig. Only use if the script itself has unhandled cases.
-##
-## ## Notes
-## Still work in progress. If there are more cases which can be handled here feel free to add them
-##
-## ## Examples
-## Just call vcpkg_fixup_pkgconfig() after any install step which installs *.pc files.
-
-include(vcpkg_escape_regex_control_characters)
+#[===[.md:
+# vcpkg_fixup_pkgconfig
+
+Fix common paths in *.pc files and make everything relativ to $(prefix)
+
+## Usage
+```cmake
+vcpkg_fixup_pkgconfig(
+ [RELEASE_FILES <PATHS>...]
+ [DEBUG_FILES <PATHS>...]
+ [SYSTEM_LIBRARIES <NAMES>...]
+ [IGNORE_FLAGS <FLAGS>]
+ [SKIP_CHECK]
+)
+```
+
+## Parameters
+### RELEASE_FILES
+Specifies a list of files to apply the fixes for release paths.
+Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR} without ${CURRENT_PACKAGES_DIR}/debug/
+
+### DEBUG_FILES
+Specifies a list of files to apply the fixes for debug paths.
+Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR}/debug/
+
+### SYSTEM_LIBRARIES
+If the *.pc file contains system libraries outside vcpkg these need to be listed here.
+VCPKG checks every -l flag for the existence of the required library within vcpkg.
+
+### IGNORE_FLAGS
+If the *.pc file contains flags in the lib field which are not libraries. These can be listed here
+
+### SKIP_CHECK
+Skips the library checks in vcpkg_fixup_pkgconfig. Only use if the script itself has unhandled cases.
+
+## Notes
+Still work in progress. If there are more cases which can be handled here feel free to add them
+
+## Examples
+Just call `vcpkg_fixup_pkgconfig()` after any install step which installs *.pc files.
+#]===]
+
+include(vcpkg_internal_escape_regex_control_characters)
function(vcpkg_fixup_pkgconfig_check_files pkg_cfg_cmd _file _config _system_libs _ignore_flags)
# Setup pkg-config paths
set(_VCPKG_INSTALLED_PKGCONF "${CURRENT_INSTALLED_DIR}")
@@ -136,7 +138,7 @@ function(vcpkg_fixup_pkgconfig_check_files pkg_cfg_cmd _file _config _system_lib
foreach(_search_path IN LISTS _pkg_lib_paths_output)
debug_message("REMOVING:'${_search_path}'")
debug_message("FROM:'${_pkg_libs_output}'")
- vcpkg_escape_regex_control_characters(_search_path "${_search_path}")
+ vcpkg_internal_escape_regex_control_characters(_search_path "${_search_path}")
string(REGEX REPLACE "(^[\t ]*|[\t ]+|;[\t ]*)-L${_search_path}([\t ]+|[\t ]*$)" ";" _pkg_libs_output "${_pkg_libs_output}") # Remove search paths from libs
endforeach()
debug_message("LIBS AFTER -L<path> REMOVAL:'${_pkg_libs_output}'")
@@ -169,7 +171,7 @@ function(vcpkg_fixup_pkgconfig_check_files pkg_cfg_cmd _file _config _system_lib
debug_message("BEFORE IGNORE FLAGS REMOVAL: ${_pkg_libs_output}")
foreach(_ignore IN LISTS _ignore_flags) # Remove ignore with whitespace
debug_message("REMOVING FLAG:'${_ignore}'")
- vcpkg_escape_regex_control_characters(_ignore "${_ignore}")
+ vcpkg_internal_escape_regex_control_characters(_ignore "${_ignore}")
string(REGEX REPLACE "(^[\t ]*|;[\t ]*|[\t ]+)${_ignore}([\t ]+|[\t ]*;|[\t ]*$)" "\\2" _pkg_libs_output "${_pkg_libs_output}")
debug_message("AFTER REMOVAL: ${_pkg_libs_output}")
endforeach()
@@ -259,7 +261,7 @@ function(vcpkg_fixup_pkgconfig)
message(FATAL_ERROR "vcpkg_fixup_pkgconfig was passed extra arguments: ${_vfct_UNPARSED_ARGUMENTS}")
endif()
- vcpkg_escape_regex_control_characters(_vfpkg_ESCAPED_CURRENT_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}")
+ vcpkg_internal_escape_regex_control_characters(_vfpkg_ESCAPED_CURRENT_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}")
if(NOT _vfpkg_RELEASE_FILES)
file(GLOB_RECURSE _vfpkg_RELEASE_FILES "${CURRENT_PACKAGES_DIR}/**/*.pc")
list(FILTER _vfpkg_RELEASE_FILES EXCLUDE REGEX "${_vfpkg_ESCAPED_CURRENT_PACKAGES_DIR}/debug/")
diff --git a/scripts/cmake/vcpkg_from_bitbucket.cmake b/scripts/cmake/vcpkg_from_bitbucket.cmake
index bd4c67ed9..a376e8105 100644
--- a/scripts/cmake/vcpkg_from_bitbucket.cmake
+++ b/scripts/cmake/vcpkg_from_bitbucket.cmake
@@ -1,59 +1,62 @@
-## # vcpkg_from_bitbucket
-##
-## Download and extract a project from Bitbucket.
-## Enables support for installing HEAD `vcpkg.exe install --head <port>`.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_from_bitbucket(
-## OUT_SOURCE_PATH <SOURCE_PATH>
-## REPO <Microsoft/cpprestsdk>
-## [REF <v2.0.0>]
-## [SHA512 <45d0d7f8cc350...>]
-## [HEAD_REF <master>]
-## [PATCHES <patch1.patch> <patch2.patch>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### REPO
-## The organization or user and repository on GitHub.
-##
-## ### REF
-## A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
-##
-## For repositories without official releases, this can be set to the full commit id of the current latest master.
-##
-## If `REF` is specified, `SHA512` must also be specified.
-##
-## ### SHA512
-## The SHA512 hash that should match the archive (https://bitbucket.com/${REPO}/get/${REF}.tar.gz).
-##
-## This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
-##
-## ### HEAD_REF
-## The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
-##
-## 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.
-##
-## This exports the `VCPKG_HEAD_VERSION` variable during head builds.
-##
-## ## Examples:
-##
-## * [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake)
+#[===[.md:
+# vcpkg_from_bitbucket
+
+Download and extract a project from Bitbucket.
+Enables support for installing HEAD `vcpkg.exe install --head <port>`.
+
+## Usage:
+```cmake
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ REPO <Microsoft/cpprestsdk>
+ [REF <v2.0.0>]
+ [SHA512 <45d0d7f8cc350...>]
+ [HEAD_REF <master>]
+ [PATCHES <patch1.patch> <patch2.patch>...]
+)
+```
+
+## Parameters:
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user and repository on GitHub.
+
+### REF
+A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
+
+For repositories without official releases, this can be set to the full commit id of the current latest master.
+
+If `REF` is specified, `SHA512` must also be specified.
+
+### SHA512
+The SHA512 hash that should match the archive (https://bitbucket.com/${REPO}/get/${REF}.tar.gz).
+
+This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+
+### HEAD_REF
+The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
+
+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.
+
+This exports the `VCPKG_HEAD_VERSION` variable during head builds.
+
+## Examples:
+
+* [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 PATCHES)
diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake
index 39469064f..54f93996a 100644
--- a/scripts/cmake/vcpkg_from_git.cmake
+++ b/scripts/cmake/vcpkg_from_git.cmake
@@ -1,40 +1,42 @@
-## # vcpkg_from_git
-##
-## Download and extract a project from git
-##
-## ## Usage:
-## ```cmake
-## vcpkg_from_git(
-## OUT_SOURCE_PATH <SOURCE_PATH>
-## URL <https://android.googlesource.com/platform/external/fdlibm>
-## REF <59f7335e4d...>
-## [PATCHES <patch1.patch> <patch2.patch>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### URL
-## The url of the git repository.
-##
-## ### REF
-## The git sha of the commit to download.
-##
-## ### PATCHES
-## A list of patches to be applied to the extracted sources.
-##
-## Relative paths are based on the port directory.
-##
-## ## Notes:
-## `OUT_SOURCE_PATH`, `REF`, and `URL` must be specified.
-##
-## ## Examples:
-##
-## * [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake)
+#[===[.md:
+# vcpkg_from_git
+
+Download and extract a project from git
+
+## Usage:
+```cmake
+vcpkg_from_git(
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ URL <https://android.googlesource.com/platform/external/fdlibm>
+ REF <59f7335e4d...>
+ [PATCHES <patch1.patch> <patch2.patch>...]
+)
+```
+
+## Parameters:
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### URL
+The url of the git repository.
+
+### REF
+The git sha of the commit to download.
+
+### PATCHES
+A list of patches to be applied to the extracted sources.
+
+Relative paths are based on the port directory.
+
+## Notes:
+`OUT_SOURCE_PATH`, `REF`, and `URL` must be specified.
+
+## Examples:
+
+* [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake)
+#]===]
include(vcpkg_execute_in_download_mode)
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index 5bc85d0cd..f52538c8e 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -1,73 +1,76 @@
-## # vcpkg_from_github
-##
-## Download and extract a project from GitHub. Enables support for `install --head`.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_from_github(
-## OUT_SOURCE_PATH <SOURCE_PATH>
-## REPO <Microsoft/cpprestsdk>
-## [REF <v2.0.0>]
-## [SHA512 <45d0d7f8cc350...>]
-## [HEAD_REF <master>]
-## [PATCHES <patch1.patch> <patch2.patch>...]
-## [GITHUB_HOST <https://github.com>]
-## [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
-## )
-## ```
-##
-## ## Parameters:
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### REPO
-## The organization or user and repository on GitHub.
-##
-## ### REF
-## A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.**
-##
-## For repositories without official releases, this can be set to the full commit id of the current latest master.
-##
-## If `REF` is specified, `SHA512` must also be specified.
-##
-## ### SHA512
-## The SHA512 hash that should match the archive (https://github.com/${REPO}/archive/${REF}.tar.gz).
-##
-## This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
-##
-## ### HEAD_REF
-## The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
-##
-## 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.
-##
-## ### GITHUB_HOST
-## A replacement host for enterprise GitHub instances.
-##
-## This field should contain the scheme, host, and port of the desired URL without a trailing slash.
-##
-## ### AUTHORIZATION_TOKEN
-## A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}".
-##
-## ### FILE_DISAMBIGUATOR
-## A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name.
-##
-## ## Notes:
-## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
-##
-## This exports the `VCPKG_HEAD_VERSION` variable during head builds.
-##
-## ## Examples:
-##
-## * [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
-## * [ms-gsl](https://github.com/Microsoft/vcpkg/blob/master/ports/ms-gsl/portfile.cmake)
-## * [beast](https://github.com/Microsoft/vcpkg/blob/master/ports/beast/portfile.cmake)
+#[===[.md:
+# vcpkg_from_github
+
+Download and extract a project from GitHub. Enables support for `install --head`.
+
+## Usage:
+```cmake
+vcpkg_from_github(
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ REPO <Microsoft/cpprestsdk>
+ [REF <v2.0.0>]
+ [SHA512 <45d0d7f8cc350...>]
+ [HEAD_REF <master>]
+ [PATCHES <patch1.patch> <patch2.patch>...]
+ [GITHUB_HOST <https://github.com>]
+ [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
+)
+```
+
+## Parameters:
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user and repository on GitHub.
+
+### REF
+A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.**
+
+For repositories without official releases, this can be set to the full commit id of the current latest master.
+
+If `REF` is specified, `SHA512` must also be specified.
+
+### SHA512
+The SHA512 hash that should match the archive (https://github.com/${REPO}/archive/${REF}.tar.gz).
+
+This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+
+### HEAD_REF
+The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
+
+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.
+
+### GITHUB_HOST
+A replacement host for enterprise GitHub instances.
+
+This field should contain the scheme, host, and port of the desired URL without a trailing slash.
+
+### AUTHORIZATION_TOKEN
+A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}".
+
+### FILE_DISAMBIGUATOR
+A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name.
+
+## Notes:
+At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
+
+This exports the `VCPKG_HEAD_VERSION` variable during head builds.
+
+## Examples:
+
+* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+* [ms-gsl](https://github.com/Microsoft/vcpkg/blob/master/ports/ms-gsl/portfile.cmake)
+* [beast](https://github.com/Microsoft/vcpkg/blob/master/ports/beast/portfile.cmake)
+#]===]
+
function(vcpkg_from_github)
set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF GITHUB_HOST AUTHORIZATION_TOKEN FILE_DISAMBIGUATOR)
set(multipleValuesArgs PATCHES)
diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake
index c42269661..354ff85b9 100644
--- a/scripts/cmake/vcpkg_from_gitlab.cmake
+++ b/scripts/cmake/vcpkg_from_gitlab.cmake
@@ -1,66 +1,67 @@
-## # vcpkg_from_gitlab
-##
-## Download and extract a project from Gitlab instances. Enables support for `install --head`.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_from_gitlab(
-## GITLAB_URL <https://gitlab.com>
-## OUT_SOURCE_PATH <SOURCE_PATH>
-## REPO <gitlab-org/gitlab-ce>
-## [REF <v10.7.3>]
-## [SHA512 <45d0d7f8cc350...>]
-## [HEAD_REF <master>]
-## [PATCHES <patch1.patch> <patch2.patch>...]
-## )
-## ```
-##
-## ## Parameters:
-##
-## ### GITLAB_URL
-## The URL of the Gitlab instance to use.
-##
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### REPO
-## The organization or user plus the repository name on the Gitlab instance.
-##
-## ### REF
-## A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
-##
-## For repositories without official releases, this can be set to the full commit id of the current latest master.
-##
-## If `REF` is specified, `SHA512` must also be specified.
-##
-## ### SHA512
-## The SHA512 hash that should match the archive (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz).
-## The REPO_NAME variable is parsed from the value of REPO.
-##
-## This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
-##
-## ### HEAD_REF
-## The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
-##
-## 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.
-##
-## This exports the `VCPKG_HEAD_VERSION` variable during head builds.
-##
-## ## Examples:
-## * [curl][https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75]
-## * [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15)
-## * [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13)
-##
+#[===[.md:
+# vcpkg_from_gitlab
+
+Download and extract a project from Gitlab instances. Enables support for `install --head`.
+
+## Usage:
+```cmake
+vcpkg_from_gitlab(
+ GITLAB_URL <https://gitlab.com>
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ REPO <gitlab-org/gitlab-ce>
+ [REF <v10.7.3>]
+ [SHA512 <45d0d7f8cc350...>]
+ [HEAD_REF <master>]
+ [PATCHES <patch1.patch> <patch2.patch>...]
+)
+```
+
+## Parameters:
+
+### GITLAB_URL
+The URL of the Gitlab instance to use.
+
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user plus the repository name on the Gitlab instance.
+
+### REF
+A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
+
+For repositories without official releases, this can be set to the full commit id of the current latest master.
+
+If `REF` is specified, `SHA512` must also be specified.
+
+### SHA512
+The SHA512 hash that should match the archive (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz).
+The REPO_NAME variable is parsed from the value of REPO.
+
+This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+
+### HEAD_REF
+The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
+
+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.
+
+This exports the `VCPKG_HEAD_VERSION` variable during head builds.
+
+## Examples:
+* [curl][https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75]
+* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15)
+* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13)
+#]===]
include(vcpkg_execute_in_download_mode)
diff --git a/scripts/cmake/vcpkg_from_sourceforge.cmake b/scripts/cmake/vcpkg_from_sourceforge.cmake
index 280ad93f8..82286b346 100644
--- a/scripts/cmake/vcpkg_from_sourceforge.cmake
+++ b/scripts/cmake/vcpkg_from_sourceforge.cmake
@@ -1,68 +1,70 @@
-## # vcpkg_from_sourceforge
-##
-## Download and extract a project from sourceforge.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_from_sourceforge(
-## OUT_SOURCE_PATH SOURCE_PATH
-## REPO <cunit/CUnit>
-## [REF <2.1-3>]
-## SHA512 <547b417109332...>
-## FILENAME <CUnit-2.1-3.tar.bz2>
-## [DISABLE_SSL]
-## [NO_REMOVE_ONE_LEVEL]
-## [PATCHES <patch1.patch> <patch2.patch>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### OUT_SOURCE_PATH
-## Specifies the out-variable that will contain the extracted location.
-##
-## This should be set to `SOURCE_PATH` by convention.
-##
-## ### REPO
-## The organization or user and repository (optional) on sourceforge.
-##
-## ### REF
-## A stable version number that will not change contents.
-##
-## ### FILENAME
-## The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
-##
-## For example, we can get the download link:
-## https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc
-## So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz`
-##
-## For some special links:
-## https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc
-## The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz`
-##
-## ### SHA512
-## The SHA512 hash that should match the archive.
-##
-## ### WORKING_DIRECTORY
-## If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`.
-##
-## Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`).
-##
-## ### PATCHES
-## A list of patches to be applied to the extracted sources.
-##
-## Relative paths are based on the port directory.
-##
-## ### DISABLE_SSL
-## Disable ssl when downloading source.
-##
-## ### NO_REMOVE_ONE_LEVEL
-## Specifies that the default removal of the top level folder should not occur.
-##
-## ## Examples:
-##
-## * [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake)
-## * [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake)
-## * [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake)
+#[===[.md:
+# vcpkg_from_sourceforge
+
+Download and extract a project from sourceforge.
+
+## Usage:
+```cmake
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO <cunit/CUnit>
+ [REF <2.1-3>]
+ SHA512 <547b417109332...>
+ FILENAME <CUnit-2.1-3.tar.bz2>
+ [DISABLE_SSL]
+ [NO_REMOVE_ONE_LEVEL]
+ [PATCHES <patch1.patch> <patch2.patch>...]
+)
+```
+
+## Parameters:
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user and repository (optional) on sourceforge.
+
+### REF
+A stable version number that will not change contents.
+
+### FILENAME
+The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
+
+For example, we can get the download link:
+https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc
+So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz`
+
+For some special links:
+https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc
+The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz`
+
+### SHA512
+The SHA512 hash that should match the archive.
+
+### WORKING_DIRECTORY
+If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`.
+
+Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`).
+
+### PATCHES
+A list of patches to be applied to the extracted sources.
+
+Relative paths are based on the port directory.
+
+### DISABLE_SSL
+Disable ssl when downloading source.
+
+### NO_REMOVE_ONE_LEVEL
+Specifies that the default removal of the top level folder should not occur.
+
+## Examples:
+
+* [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake)
+* [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake)
+* [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake)
+#]===]
function(vcpkg_from_sourceforge)
macro(check_file_content)
diff --git a/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake b/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake
index ed51b7401..7e3a5af52 100644
--- a/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake
+++ b/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake
@@ -1,3 +1,16 @@
+#[===[.md:
+# vcpkg_get_program_files_platform_bitness
+
+Get the Program Files directory of the current platform's bitness:
+either `$ENV{ProgramW6432}` on 64-bit windows,
+or `$ENV{PROGRAMFILES}` on 32-bit windows.
+
+## Usage:
+```cmake
+vcpkg_get_program_files_platform_bitness(<variable>)
+```
+#]===]
+
function(vcpkg_get_program_files_platform_bitness ret)
set(ret_temp $ENV{ProgramW6432})
@@ -7,4 +20,4 @@ function(vcpkg_get_program_files_platform_bitness ret)
set(${ret} ${ret_temp} PARENT_SCOPE)
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_get_windows_sdk.cmake b/scripts/cmake/vcpkg_get_windows_sdk.cmake
index e7d72a125..f16d4f53e 100644
--- a/scripts/cmake/vcpkg_get_windows_sdk.cmake
+++ b/scripts/cmake/vcpkg_get_windows_sdk.cmake
@@ -1,6 +1,16 @@
-# Returns Windows SDK number via out variable "ret"
+#[===[.md:
+# vcpkg_get_windows_sdk
+
+Get the Windows SDK number.
+
+## Usage:
+```cmake
+vcpkg_get_windows_sdk(<variable>)
+```
+#]===]
+
function(vcpkg_get_windows_sdk ret)
set(WINDOWS_SDK $ENV{WindowsSDKVersion})
string(REPLACE "\\" "" WINDOWS_SDK "${WINDOWS_SDK}")
set(${ret} ${WINDOWS_SDK} PARENT_SCOPE)
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_install_cmake.cmake b/scripts/cmake/vcpkg_install_cmake.cmake
index ab72d054e..a1ba0cf2f 100644
--- a/scripts/cmake/vcpkg_install_cmake.cmake
+++ b/scripts/cmake/vcpkg_install_cmake.cmake
@@ -1,25 +1,28 @@
-## # vcpkg_install_cmake
-##
-## Build and install a cmake project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_install_cmake(...)
-## ```
-##
-## ## Parameters:
-## See [`vcpkg_build_cmake()`](vcpkg_build_cmake.md).
-##
-## ## Notes:
-## This command transparently forwards to [`vcpkg_build_cmake()`](vcpkg_build_cmake.md), adding a `TARGET install`
-## parameter.
-##
-## ## Examples:
-##
-## * [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
-## * [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
-## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
-## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#[===[.md:
+# vcpkg_install_cmake
+
+Build and install a cmake project.
+
+## Usage:
+```cmake
+vcpkg_install_cmake(...)
+```
+
+## Parameters:
+See [`vcpkg_build_cmake()`](vcpkg_build_cmake.md).
+
+## Notes:
+This command transparently forwards to [`vcpkg_build_cmake()`](vcpkg_build_cmake.md), adding a `TARGET install`
+parameter.
+
+## Examples:
+
+* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
+* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
+* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
+* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
+#]===]
+
function(vcpkg_install_cmake)
vcpkg_build_cmake(LOGFILE_ROOT install TARGET install ${ARGN})
endfunction()
diff --git a/scripts/cmake/vcpkg_install_gn.cmake b/scripts/cmake/vcpkg_install_gn.cmake
index e71c8c173..8dd83510e 100644
--- a/scripts/cmake/vcpkg_install_gn.cmake
+++ b/scripts/cmake/vcpkg_install_gn.cmake
@@ -1,23 +1,25 @@
-## # vcpkg_install_gn
-##
-## Installs a GN project
-##
-## ## Usage:
-## ```cmake
-## vcpkg_install_gn(
-## SOURCE_PATH <SOURCE_PATH>
-## [TARGETS <target>...]
-## )
-## ```
-##
-## ## Parameters:
-## ### SOURCE_PATH
-## The path to the source directory
-##
-## ### TARGETS
-## Only install the specified targets.
-##
-## Note: includes must be handled separately
+#[===[.md:
+# vcpkg_install_gn
+
+Installs a GN project
+
+## Usage:
+```cmake
+vcpkg_install_gn(
+ SOURCE_PATH <SOURCE_PATH>
+ [TARGETS <target>...]
+)
+```
+
+## Parameters:
+### SOURCE_PATH
+The path to the source directory
+
+### TARGETS
+Only install the specified targets.
+
+Note: includes must be handled separately
+#]===]
function(vcpkg_install_gn)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
@@ -95,4 +97,4 @@ function(vcpkg_install_gn)
install_("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_PACKAGES_DIR}")
endif()
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/scripts/cmake/vcpkg_install_make.cmake b/scripts/cmake/vcpkg_install_make.cmake
index 424689468..ce8a782d3 100644
--- a/scripts/cmake/vcpkg_install_make.cmake
+++ b/scripts/cmake/vcpkg_install_make.cmake
@@ -1,24 +1,26 @@
-## # vcpkg_install_make
-##
-## Build and install a make project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_install_make(...)
-## ```
-##
-## ## Parameters:
-## See [`vcpkg_build_make()`](vcpkg_build_make.md).
-##
-## ## Notes:
-## This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL`
-##
-## ## Examples
-##
-## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
-## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
-## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
-## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#[===[.md:
+# vcpkg_install_make
+
+Build and install a make project.
+
+## Usage:
+```cmake
+vcpkg_install_make(...)
+```
+
+## Parameters:
+See [`vcpkg_build_make()`](vcpkg_build_make.md).
+
+## Notes:
+This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL`
+
+## Examples
+
+* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake)
+* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
+* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake)
+#]===]
function(vcpkg_install_make)
vcpkg_build_make(${ARGN} LOGFILE_ROOT ENABLE_INSTALL)
diff --git a/scripts/cmake/vcpkg_install_meson.cmake b/scripts/cmake/vcpkg_install_meson.cmake
index 9d9972a0b..216202918 100644
--- a/scripts/cmake/vcpkg_install_meson.cmake
+++ b/scripts/cmake/vcpkg_install_meson.cmake
@@ -1,16 +1,19 @@
-## # vcpkg_install_meson
-##
-## Builds a meson project previously configured with `vcpkg_configure_meson()`.
-##
-## ## Usage
-## ```cmake
-## vcpkg_install_meson()
-## ```
-##
-## ## Examples
-##
-## * [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake)
-## * [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake)
+#[===[.md:
+# vcpkg_install_meson
+
+Builds a meson project previously configured with `vcpkg_configure_meson()`.
+
+## Usage
+```cmake
+vcpkg_install_meson()
+```
+
+## Examples
+
+* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake)
+* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake)
+#]===]
+
function(vcpkg_install_meson)
vcpkg_find_acquire_program(NINJA)
unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option
diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake
index ee3247cfa..cdef344dd 100644
--- a/scripts/cmake/vcpkg_install_msbuild.cmake
+++ b/scripts/cmake/vcpkg_install_msbuild.cmake
@@ -1,93 +1,95 @@
-## # vcpkg_install_msbuild
-##
-## Build and install a msbuild-based project. This replaces `vcpkg_build_msbuild()`.
-##
-## ## Usage
-## ```cmake
-## vcpkg_install_msbuild(
-## SOURCE_PATH <${SOURCE_PATH}>
-## PROJECT_SUBPATH <port.sln>
-## [INCLUDES_SUBPATH <include>]
-## [LICENSE_SUBPATH <LICENSE>]
-## [RELEASE_CONFIGURATION <Release>]
-## [DEBUG_CONFIGURATION <Debug>]
-## [TARGET <Build>]
-## [TARGET_PLATFORM_VERSION <10.0.15063.0>]
-## [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
-## [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
-## [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
-## [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
-## [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
-## [USE_VCPKG_INTEGRATION]
-## [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES]
-## )
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## The path to the root of the source tree.
-##
-## Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This
-## parameter is the base for that copy and forms the base for all XYZ_SUBPATH options.
-##
-## ### USE_VCPKG_INTEGRATION
-## Apply the normal `integrate install` integration for building the project.
-##
-## By default, projects built with this command will not automatically link libraries or have header paths set.
-##
-## ### PROJECT_SUBPATH
-## The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`.
-##
-## ### LICENSE_SUBPATH
-## The subpath to the license file relative to `SOURCE_PATH`.
-##
-## ### INCLUDES_SUBPATH
-## The subpath to the includes directory relative to `SOURCE_PATH`.
-##
-## This parameter should be a directory and should not end in a trailing slash.
-##
-## ### ALLOW_ROOT_INCLUDES
-## Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed.
-##
-## ### REMOVE_ROOT_INCLUDES
-## Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed.
-##
-## ### SKIP_CLEAN
-## Indicates that the intermediate files should not be removed.
-##
-## Ports using this option should later call [`vcpkg_clean_msbuild()`](vcpkg_clean_msbuild.md) to manually clean up.
-##
-## ### RELEASE_CONFIGURATION
-## The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
-##
-## ### DEBUG_CONFIGURATION
-## The configuration (``/p:Configuration`` msbuild parameter) used for Debug builds.
-##
-## ### TARGET_PLATFORM_VERSION
-## The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
-##
-## ### TARGET
-## The MSBuild target to build. (``/t:<TARGET>``)
-##
-## ### PLATFORM
-## The platform (``/p:Platform`` msbuild parameter) used for the build.
-##
-## ### PLATFORM_TOOLSET
-## The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
-##
-## ### OPTIONS
-## Additional options passed to msbuild for all builds.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
-##
-## ## Examples
-##
-## * [xalan-c](https://github.com/Microsoft/vcpkg/blob/master/ports/xalan-c/portfile.cmake)
-## * [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+#[===[.md:
+# vcpkg_install_msbuild
+
+Build and install a msbuild-based project. This replaces `vcpkg_build_msbuild()`.
+
+## Usage
+```cmake
+vcpkg_install_msbuild(
+ SOURCE_PATH <${SOURCE_PATH}>
+ PROJECT_SUBPATH <port.sln>
+ [INCLUDES_SUBPATH <include>]
+ [LICENSE_SUBPATH <LICENSE>]
+ [RELEASE_CONFIGURATION <Release>]
+ [DEBUG_CONFIGURATION <Debug>]
+ [TARGET <Build>]
+ [TARGET_PLATFORM_VERSION <10.0.15063.0>]
+ [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
+ [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
+ [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
+ [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
+ [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+ [USE_VCPKG_INTEGRATION]
+ [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES]
+)
+```
+
+## Parameters
+### SOURCE_PATH
+The path to the root of the source tree.
+
+Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This
+parameter is the base for that copy and forms the base for all XYZ_SUBPATH options.
+
+### USE_VCPKG_INTEGRATION
+Apply the normal `integrate install` integration for building the project.
+
+By default, projects built with this command will not automatically link libraries or have header paths set.
+
+### PROJECT_SUBPATH
+The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`.
+
+### LICENSE_SUBPATH
+The subpath to the license file relative to `SOURCE_PATH`.
+
+### INCLUDES_SUBPATH
+The subpath to the includes directory relative to `SOURCE_PATH`.
+
+This parameter should be a directory and should not end in a trailing slash.
+
+### ALLOW_ROOT_INCLUDES
+Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed.
+
+### REMOVE_ROOT_INCLUDES
+Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed.
+
+### SKIP_CLEAN
+Indicates that the intermediate files should not be removed.
+
+Ports using this option should later call [`vcpkg_clean_msbuild()`](vcpkg_clean_msbuild.md) to manually clean up.
+
+### RELEASE_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
+
+### DEBUG_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter) used for Debug builds.
+
+### TARGET_PLATFORM_VERSION
+The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
+
+### TARGET
+The MSBuild target to build. (``/t:<TARGET>``)
+
+### PLATFORM
+The platform (``/p:Platform`` msbuild parameter) used for the build.
+
+### PLATFORM_TOOLSET
+The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
+
+### OPTIONS
+Additional options passed to msbuild for all builds.
+
+### OPTIONS_RELEASE
+Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
+
+## Examples
+
+* [xalan-c](https://github.com/Microsoft/vcpkg/blob/master/ports/xalan-c/portfile.cmake)
+* [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+#]===]
include(vcpkg_clean_msbuild)
diff --git a/scripts/cmake/vcpkg_install_nmake.cmake b/scripts/cmake/vcpkg_install_nmake.cmake
index 05efce2e2..5aebdae90 100644
--- a/scripts/cmake/vcpkg_install_nmake.cmake
+++ b/scripts/cmake/vcpkg_install_nmake.cmake
@@ -1,66 +1,68 @@
-## # vcpkg_install_nmake
-##
-## Build and install a msvc makefile project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_install_nmake(
-## SOURCE_PATH <${SOURCE_PATH}>
-## [NO_DEBUG]
-## [TARGET <all>]
-## PROJECT_SUBPATH <${SUBPATH}>
-## PROJECT_NAME <${MAKEFILE_NAME}>
-## [PRERUN_SHELL <${SHELL_PATH}>]
-## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
-## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
-## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
-## ```
-##
-## ## Parameters
-## ### SOURCE_PATH
-## Specifies the directory containing the source files.
-## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
-##
-## ### PROJECT_SUBPATH
-## Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile.
-##
-## ### PROJECT_NAME
-## Specifies the name of msvc makefile name.
-## Default is makefile.vc
-##
-## ### NO_DEBUG
-## This port doesn't support debug mode.
-##
-## ### PRERUN_SHELL
-## Script that needs to be called before build
-##
-## ### PRERUN_SHELL_DEBUG
-## Script that needs to be called before debug build
-##
-## ### PRERUN_SHELL_RELEASE
-## Script that needs to be called before release build
-##
-## ### OPTIONS
-## Additional options passed to generate during the generation.
-##
-## ### OPTIONS_RELEASE
-## Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`.
-##
-## ### OPTIONS_DEBUG
-## Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`.
-##
-## ## Parameters:
-## See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md).
-##
-## ## Notes:
-## This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL`
-##
-## ## Examples
-##
-## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
-## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+#[===[.md:
+# vcpkg_install_nmake
+
+Build and install a msvc makefile project.
+
+## Usage:
+```cmake
+vcpkg_install_nmake(
+ SOURCE_PATH <${SOURCE_PATH}>
+ [NO_DEBUG]
+ [TARGET <all>]
+ PROJECT_SUBPATH <${SUBPATH}>
+ PROJECT_NAME <${MAKEFILE_NAME}>
+ [PRERUN_SHELL <${SHELL_PATH}>]
+ [PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
+ [PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+ [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
+ [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
+```
+
+## Parameters
+### SOURCE_PATH
+Specifies the directory containing the source files.
+By convention, this is usually set in the portfile as the variable `SOURCE_PATH`.
+
+### PROJECT_SUBPATH
+Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile.
+
+### PROJECT_NAME
+Specifies the name of msvc makefile name.
+Default is makefile.vc
+
+### NO_DEBUG
+This port doesn't support debug mode.
+
+### PRERUN_SHELL
+Script that needs to be called before build
+
+### PRERUN_SHELL_DEBUG
+Script that needs to be called before debug build
+
+### PRERUN_SHELL_RELEASE
+Script that needs to be called before release build
+
+### OPTIONS
+Additional options passed to generate during the generation.
+
+### OPTIONS_RELEASE
+Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`.
+
+## Parameters:
+See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md).
+
+## Notes:
+This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL`
+
+## Examples
+
+* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
+* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
+#]===]
function(vcpkg_install_nmake)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
diff --git a/scripts/cmake/vcpkg_install_qmake.cmake b/scripts/cmake/vcpkg_install_qmake.cmake
index 571b55a68..d8362697a 100644
--- a/scripts/cmake/vcpkg_install_qmake.cmake
+++ b/scripts/cmake/vcpkg_install_qmake.cmake
@@ -1,24 +1,26 @@
-## # vcpkg_install_qmake
-##
-## Build and install a qmake project.
-##
-## ## Usage:
-## ```cmake
-## vcpkg_install_qmake(...)
-## ```
-##
-## ## Parameters:
-## See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
-##
-## ## Notes:
-## This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
-##
-## Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate
-## staging directories.
-##
-## ## Examples
-##
-## * [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake)
+#[===[.md:
+# vcpkg_install_qmake
+
+Build and install a qmake project.
+
+## Usage:
+```cmake
+vcpkg_install_qmake(...)
+```
+
+## Parameters:
+See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
+
+## Notes:
+This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
+
+Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate
+staging directories.
+
+## Examples
+
+* [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake)
+#]===]
function(vcpkg_install_qmake)
vcpkg_build_qmake(${ARGN})
diff --git a/scripts/cmake/vcpkg_escape_regex_control_characters.cmake b/scripts/cmake/vcpkg_internal_escape_regex_control_characters.cmake
index 3d9d92b5e..0655f93db 100644
--- a/scripts/cmake/vcpkg_escape_regex_control_characters.cmake
+++ b/scripts/cmake/vcpkg_internal_escape_regex_control_characters.cmake
@@ -1,4 +1,4 @@
-function(vcpkg_escape_regex_control_characters out_var string_with_regex_characters)
+function(vcpkg_internal_escape_regex_control_characters out_var string_with_regex_characters)
string(REGEX REPLACE "[][+.*()^\\$?|]" "\\\\\\0" _escaped_content "${string_with_regex_characters}")
set(${out_var} "${_escaped_content}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/cmake/vcpkg_internal_get_cmake_vars.cmake b/scripts/cmake/vcpkg_internal_get_cmake_vars.cmake
index 7f5ed1283..6c705ae8f 100644
--- a/scripts/cmake/vcpkg_internal_get_cmake_vars.cmake
+++ b/scripts/cmake/vcpkg_internal_get_cmake_vars.cmake
@@ -1,29 +1,31 @@
-## # vcpkg_internal_get_cmake_vars
-##
-## **Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.**
-## Runs a cmake configure with a dummy project to extract certain cmake variables
-##
-## ## Usage
-## ```cmake
-## vcpkg_internal_get_cmake_vars(
-## [OUTPUT_FILE <output_file_with_vars>]
-## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
-## )
-## ```
-##
-## ## Parameters
-## ### OPTIONS
-## Additional options to pass to the test configure call
-##
-## ### OUTPUT_FILE
-## Variable to return the path to the generated cmake file with the detected `CMAKE_` variables set as `VCKPG_DETECTED_`
-##
-## ## Notes
-## If possible avoid usage in portfiles.
-##
-## ## Examples
-##
-## * [vcpkg_configure_make](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake)
+#[===[.md:
+# vcpkg_internal_get_cmake_vars
+
+**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.**
+Runs a cmake configure with a dummy project to extract certain cmake variables
+
+## Usage
+```cmake
+vcpkg_internal_get_cmake_vars(
+ [OUTPUT_FILE <output_file_with_vars>]
+ [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
+)
+```
+
+## Parameters
+### OPTIONS
+Additional options to pass to the test configure call
+
+### OUTPUT_FILE
+Variable to return the path to the generated cmake file with the detected `CMAKE_` variables set as `VCKPG_DETECTED_`
+
+## Notes
+If possible avoid usage in portfiles.
+
+## Examples
+
+* [vcpkg_configure_make](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake)
+#]===]
function(vcpkg_internal_get_cmake_vars)
cmake_parse_arguments(PARSE_ARGV 0 _gcv "" "OUTPUT_FILE" "OPTIONS")
diff --git a/scripts/cmake/vcpkg_prettify_command.cmake b/scripts/cmake/vcpkg_prettify_command.cmake
index c12332b7a..25ad95eec 100644
--- a/scripts/cmake/vcpkg_prettify_command.cmake
+++ b/scripts/cmake/vcpkg_prettify_command.cmake
@@ -1,17 +1,19 @@
-## # vcpkg_prettify_command
-##
-## Turns list of command arguments into a formatted string.
-##
-## ## Usage
-## ```cmake
-## vcpkg_prettify_command(<INPUT_VAR> <OUTPUT_VAR>)
-## ```
-##
-## ## Examples
-##
-## * `scripts/cmake/vcpkg_execute_build_process.cmake`
-## * `scripts/cmake/vcpkg_execute_required_process.cmake`
-## * `scripts/cmake/vcpkg_execute_required_process_repeat.cmake`
+#[===[.md:
+# vcpkg_prettify_command
+
+Turns list of command arguments into a formatted string.
+
+## Usage
+```cmake
+vcpkg_prettify_command(<INPUT_VAR> <OUTPUT_VAR>)
+```
+
+## Examples
+
+* `scripts/cmake/vcpkg_execute_build_process.cmake`
+* `scripts/cmake/vcpkg_execute_required_process.cmake`
+* `scripts/cmake/vcpkg_execute_required_process_repeat.cmake`
+#]===]
macro(vcpkg_prettify_command INPUT_VAR OUTPUT_VAR)
set(${OUTPUT_VAR} "")
diff --git a/scripts/cmake/vcpkg_replace_string.cmake b/scripts/cmake/vcpkg_replace_string.cmake
index 3eb18d0bf..d24b8677e 100644
--- a/scripts/cmake/vcpkg_replace_string.cmake
+++ b/scripts/cmake/vcpkg_replace_string.cmake
@@ -1,12 +1,14 @@
-#.rst:
-# .. command:: vcpkg_replace_string
-#
-# Replace a string in a file.
-#
-# ::
-# vcpkg_replace_string(filename match_string replace_string)
-#
-#
+#[===[.md:
+# vcpkg_replace_string
+
+Replace a string in a file.
+
+```cmake
+vcpkg_replace_string(filename match_string replace_string)
+```
+
+#]===]
+
function(vcpkg_replace_string filename match_string replace_string)
file(READ ${filename} _contents)
string(REPLACE "${match_string}" "${replace_string}" _contents "${_contents}")
diff --git a/scripts/cmake/vcpkg_test_cmake.cmake b/scripts/cmake/vcpkg_test_cmake.cmake
index 48d247f67..f2a8a76b1 100644
--- a/scripts/cmake/vcpkg_test_cmake.cmake
+++ b/scripts/cmake/vcpkg_test_cmake.cmake
@@ -1,3 +1,4 @@
+# DEPRECATED
function(vcpkg_test_cmake)
message("${_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "vcpkg_test_cmake was a no-op and has been removed. Please remove the call to `vcpkg_test_cmake()`.")
endfunction()