aboutsummaryrefslogtreecommitdiff
path: root/docs/maintainers
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2018-12-06 15:06:28 -0800
committerPhil Christensen <philc@microsoft.com>2018-12-06 15:06:28 -0800
commit7347305e8459fcc78553a9f88196e0d93eb0a8fe (patch)
treeac9eee9ff267c6a71a83249bed7a94f02b00d9a5 /docs/maintainers
parented9357a5aafea7192932b5874264bd103fc61255 (diff)
parent63c1b2628e958f8e02356411f032941c0c2f3bbb (diff)
downloadvcpkg-7347305e8459fcc78553a9f88196e0d93eb0a8fe.tar.gz
vcpkg-7347305e8459fcc78553a9f88196e0d93eb0a8fe.zip
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/philc/3425
Diffstat (limited to 'docs/maintainers')
-rw-r--r--docs/maintainers/portfile-functions.md8
-rw-r--r--docs/maintainers/vcpkg_add_to_path.md20
-rw-r--r--docs/maintainers/vcpkg_build_cmake.md3
-rw-r--r--docs/maintainers/vcpkg_build_msbuild.md3
-rw-r--r--docs/maintainers/vcpkg_check_linkage.md34
-rw-r--r--docs/maintainers/vcpkg_clean_msbuild.md15
-rw-r--r--docs/maintainers/vcpkg_copy_pdbs.md8
-rw-r--r--docs/maintainers/vcpkg_extract_source_archive.md2
-rw-r--r--docs/maintainers/vcpkg_extract_source_archive_ex.md52
-rw-r--r--docs/maintainers/vcpkg_find_acquire_program.md1
-rw-r--r--docs/maintainers/vcpkg_from_bitbucket.md6
-rw-r--r--docs/maintainers/vcpkg_from_git.md48
-rw-r--r--docs/maintainers/vcpkg_from_github.md8
-rw-r--r--docs/maintainers/vcpkg_from_gitlab.md61
-rw-r--r--docs/maintainers/vcpkg_install_msbuild.md93
-rw-r--r--docs/maintainers/vcpkg_test_cmake.md20
16 files changed, 378 insertions, 4 deletions
diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md
index e16147f7d..f159f7f64 100644
--- a/docs/maintainers/portfile-functions.md
+++ b/docs/maintainers/portfile-functions.md
@@ -2,16 +2,24 @@
# Portfile helper functions
- [vcpkg\_acquire\_msys](vcpkg_acquire_msys.md)
+- [vcpkg\_add\_to\_path](vcpkg_add_to_path.md)
- [vcpkg\_apply\_patches](vcpkg_apply_patches.md)
- [vcpkg\_build\_cmake](vcpkg_build_cmake.md)
- [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md)
+- [vcpkg\_check\_linkage](vcpkg_check_linkage.md)
+- [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md)
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md)
- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md)
- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md)
- [vcpkg\_download\_distfile](vcpkg_download_distfile.md)
- [vcpkg\_execute\_required\_process](vcpkg_execute_required_process.md)
- [vcpkg\_extract\_source\_archive](vcpkg_extract_source_archive.md)
+- [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md)
- [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md)
- [vcpkg\_from\_bitbucket](vcpkg_from_bitbucket.md)
+- [vcpkg\_from\_git](vcpkg_from_git.md)
- [vcpkg\_from\_github](vcpkg_from_github.md)
+- [vcpkg\_from\_gitlab](vcpkg_from_gitlab.md)
- [vcpkg\_install\_cmake](vcpkg_install_cmake.md)
+- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md)
+- [vcpkg\_test\_cmake](vcpkg_test_cmake.md)
diff --git a/docs/maintainers/vcpkg_add_to_path.md b/docs/maintainers/vcpkg_add_to_path.md
new file mode 100644
index 000000000..3657a5ea7
--- /dev/null
+++ b/docs/maintainers/vcpkg_add_to_path.md
@@ -0,0 +1,20 @@
+# 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.
+
+## Source
+[scripts/cmake/vcpkg_add_to_path.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_add_to_path.cmake)
diff --git a/docs/maintainers/vcpkg_build_cmake.md b/docs/maintainers/vcpkg_build_cmake.md
index ddfa46f6b..1e17eb975 100644
--- a/docs/maintainers/vcpkg_build_cmake.md
+++ b/docs/maintainers/vcpkg_build_cmake.md
@@ -15,6 +15,9 @@ The underlying buildsystem will be instructed to not parallelize
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
diff --git a/docs/maintainers/vcpkg_build_msbuild.md b/docs/maintainers/vcpkg_build_msbuild.md
index 37f8d8df2..862587eb4 100644
--- a/docs/maintainers/vcpkg_build_msbuild.md
+++ b/docs/maintainers/vcpkg_build_msbuild.md
@@ -1,6 +1,6 @@
# vcpkg_build_msbuild
-Build an msbuild-based project.
+Build an msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`.
## Usage
```cmake
@@ -15,6 +15,7 @@ vcpkg_build_msbuild(
[OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
[OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
[OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+ [USE_VCPKG_INTEGRATION]
)
```
diff --git a/docs/maintainers/vcpkg_check_linkage.md b/docs/maintainers/vcpkg_check_linkage.md
new file mode 100644
index 000000000..406325dba
--- /dev/null
+++ b/docs/maintainers/vcpkg_check_linkage.md
@@ -0,0 +1,34 @@
+# 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)
+
+## Source
+[scripts/cmake/vcpkg_check_linkage.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_linkage.cmake)
diff --git a/docs/maintainers/vcpkg_clean_msbuild.md b/docs/maintainers/vcpkg_clean_msbuild.md
new file mode 100644
index 000000000..39d07077b
--- /dev/null
+++ b/docs/maintainers/vcpkg_clean_msbuild.md
@@ -0,0 +1,15 @@
+# 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)
+
+## Source
+[scripts/cmake/vcpkg_clean_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_clean_msbuild.cmake)
diff --git a/docs/maintainers/vcpkg_copy_pdbs.md b/docs/maintainers/vcpkg_copy_pdbs.md
index 6bfa488db..1583f777f 100644
--- a/docs/maintainers/vcpkg_copy_pdbs.md
+++ b/docs/maintainers/vcpkg_copy_pdbs.md
@@ -4,12 +4,18 @@ Automatically locate pdbs in the build tree and copy them adjacent to all DLLs.
## Usage
```cmake
-vcpkg_copy_pdbs()
+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)
diff --git a/docs/maintainers/vcpkg_extract_source_archive.md b/docs/maintainers/vcpkg_extract_source_archive.md
index 104032ffc..4971df960 100644
--- a/docs/maintainers/vcpkg_extract_source_archive.md
+++ b/docs/maintainers/vcpkg_extract_source_archive.md
@@ -1,6 +1,6 @@
# vcpkg_extract_source_archive
-Extract an archive into the source directory.
+Extract an archive into the source directory. Deprecated in favor of [`vcpkg_extract_source_archive_ex`](vcpkg_extract_source_archive_ex.md).
## Usage
```cmake
diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md
new file mode 100644
index 000000000..92c90b296
--- /dev/null
+++ b/docs/maintainers/vcpkg_extract_source_archive_ex.md
@@ -0,0 +1,52 @@
+# 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(
+ 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
+### 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.
+
+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)
+
+## Source
+[scripts/cmake/vcpkg_extract_source_archive_ex.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_extract_source_archive_ex.cmake)
diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md
index 8107c8dd2..57a2bf75a 100644
--- a/docs/maintainers/vcpkg_find_acquire_program.md
+++ b/docs/maintainers/vcpkg_find_acquire_program.md
@@ -25,6 +25,7 @@ The current list of programs includes:
- NASM
- NINJA
- YASM
+- ARIA2 (Downloader)
Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
diff --git a/docs/maintainers/vcpkg_from_bitbucket.md b/docs/maintainers/vcpkg_from_bitbucket.md
index c8850b725..7e699f8ea 100644
--- a/docs/maintainers/vcpkg_from_bitbucket.md
+++ b/docs/maintainers/vcpkg_from_bitbucket.md
@@ -11,6 +11,7 @@ vcpkg_from_bitbucket(
[REF <v2.0.0>]
[SHA512 <45d0d7f8cc350...>]
[HEAD_REF <master>]
+ [PATCHES <patch1.patch> <patch2.patch>...]
)
```
@@ -40,6 +41,11 @@ 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.
diff --git a/docs/maintainers/vcpkg_from_git.md b/docs/maintainers/vcpkg_from_git.md
new file mode 100644
index 000000000..6b24a558d
--- /dev/null
+++ b/docs/maintainers/vcpkg_from_git.md
@@ -0,0 +1,48 @@
+# 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...>
+ SHA512 <abcdef123...>
+ [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.
+
+### SHA512
+The SHA512 hash that should match the archive form of the commit.
+
+This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+
+### 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.
+
+### 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`, `SHA512`, and `URL` must be specified.
+
+## Examples:
+
+* [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake)
+
+## Source
+[scripts/cmake/vcpkg_from_git.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_git.cmake)
diff --git a/docs/maintainers/vcpkg_from_github.md b/docs/maintainers/vcpkg_from_github.md
index cf50dc445..8f9731629 100644
--- a/docs/maintainers/vcpkg_from_github.md
+++ b/docs/maintainers/vcpkg_from_github.md
@@ -10,6 +10,7 @@ vcpkg_from_github(
[REF <v2.0.0>]
[SHA512 <45d0d7f8cc350...>]
[HEAD_REF <master>]
+ [PATCHES <patch1.patch> <patch2.patch>...]
)
```
@@ -23,7 +24,7 @@ This should be set to `SOURCE_PATH` by convention.
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.**
+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.
@@ -39,6 +40,11 @@ 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.
diff --git a/docs/maintainers/vcpkg_from_gitlab.md b/docs/maintainers/vcpkg_from_gitlab.md
new file mode 100644
index 000000000..bc312f37a
--- /dev/null
+++ b/docs/maintainers/vcpkg_from_gitlab.md
@@ -0,0 +1,61 @@
+# 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.
+
+
+## Source
+[scripts/cmake/vcpkg_from_gitlab.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_gitlab.cmake)
diff --git a/docs/maintainers/vcpkg_install_msbuild.md b/docs/maintainers/vcpkg_install_msbuild.md
new file mode 100644
index 000000000..1de68ce70
--- /dev/null
+++ b/docs/maintainers/vcpkg_install_msbuild.md
@@ -0,0 +1,93 @@
+# vcpkg_install_msbuild
+
+Build and install an 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)
+
+## Source
+[scripts/cmake/vcpkg_install_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_msbuild.cmake)
diff --git a/docs/maintainers/vcpkg_test_cmake.md b/docs/maintainers/vcpkg_test_cmake.md
new file mode 100644
index 000000000..15b3ad797
--- /dev/null
+++ b/docs/maintainers/vcpkg_test_cmake.md
@@ -0,0 +1,20 @@
+# vcpkg_test_cmake
+
+Tests a built package for CMake `find_package()` integration.
+
+## Usage:
+```cmake
+vcpkg_test_cmake(PACKAGE_NAME <name> [MODULE])
+```
+
+## Parameters:
+
+### PACKAGE_NAME
+The expected name to find with `find_package()`.
+
+### MODULE
+Indicates that the library expects to be found via built-in CMake targets.
+
+
+## Source
+[scripts/cmake/vcpkg_test_cmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_test_cmake.cmake)