aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2020-02-12 15:58:43 -0800
committerGitHub <noreply@github.com>2020-02-12 15:58:43 -0800
commit5deea3b975fe62990973d73a102de818d83ba20c (patch)
tree99409a35c4ec06bca6d2f478418025317f6339c9 /docs
parentc36db6d3be1d2b4af843739752d267940e632b23 (diff)
downloadvcpkg-5deea3b975fe62990973d73a102de818d83ba20c.tar.gz
vcpkg-5deea3b975fe62990973d73a102de818d83ba20c.zip
[vcpkg-docs] Add documentation for `vcpkg_configure_meson()`, `vcpkg_install_meson()`, `vcpkg_fixup_cmake_targts()`, and `vcpkg_prettify_command()` (#7606)
* [vcpkg-docs] Add documentation for `vcpkg_configure_meson()`, `vcpkg_install_meson()`, `vcpkg_fixup_cmake_targts()`, and `vcpkg_prettify_command()` * [docs] Address code review comments. Reformat docs for vcpkg_fail_port_install.
Diffstat (limited to 'docs')
-rw-r--r--docs/maintainers/portfile-functions.md3
-rw-r--r--docs/maintainers/vcpkg_apply_patches.md7
-rw-r--r--docs/maintainers/vcpkg_configure_cmake.md2
-rw-r--r--docs/maintainers/vcpkg_configure_meson.md38
-rw-r--r--docs/maintainers/vcpkg_fail_port_install.md21
-rw-r--r--docs/maintainers/vcpkg_find_acquire_program.md6
-rw-r--r--docs/maintainers/vcpkg_fixup_cmake_targets.md72
-rw-r--r--docs/maintainers/vcpkg_install_meson.md16
-rw-r--r--docs/maintainers/vcpkg_prettify_command.md2
9 files changed, 123 insertions, 44 deletions
diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md
index 9ff16fd96..776ffdefc 100644
--- a/docs/maintainers/portfile-functions.md
+++ b/docs/maintainers/portfile-functions.md
@@ -15,6 +15,7 @@
- [vcpkg\_common\_definitions](vcpkg_common_definitions.md)
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md)
- [vcpkg\_configure\_make](vcpkg_configure_make.md)
+- [vcpkg\_configure\_meson](vcpkg_configure_meson.md)
- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md)
- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md)
- [vcpkg\_download\_distfile](vcpkg_download_distfile.md)
@@ -24,12 +25,14 @@
- [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md)
- [vcpkg\_fail\_port\_install](vcpkg_fail_port_install.md)
- [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md)
+- [vcpkg\_fixup\_cmake\_targets](vcpkg_fixup_cmake_targets.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\_make](vcpkg_install_make.md)
+- [vcpkg\_install\_meson](vcpkg_install_meson.md)
- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md)
- [vcpkg\_install\_nmake](vcpkg_install_nmake.md)
- [vcpkg\_install\_qmake](vcpkg_install_qmake.md)
diff --git a/docs/maintainers/vcpkg_apply_patches.md b/docs/maintainers/vcpkg_apply_patches.md
index d4d8dbfec..3524e5123 100644
--- a/docs/maintainers/vcpkg_apply_patches.md
+++ b/docs/maintainers/vcpkg_apply_patches.md
@@ -1,6 +1,6 @@
# vcpkg_apply_patches
-Apply a set of patches to a source tree.
+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
@@ -27,9 +27,8 @@ This should only be used for edge cases, such as patches that are known to fail
## Examples
-* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
-* [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake)
-* [libpng](https://github.com/Microsoft/vcpkg/blob/master/ports/libpng/portfile.cmake)
+* [libbson](https://github.com/Microsoft/vcpkg/blob/master/ports/libbson/portfile.cmake)
+* [gdal](https://github.com/Microsoft/vcpkg/blob/master/ports/gdal/portfile.cmake)
## Source
[scripts/cmake/vcpkg_apply_patches.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_apply_patches.cmake)
diff --git a/docs/maintainers/vcpkg_configure_cmake.md b/docs/maintainers/vcpkg_configure_cmake.md
index ebbd92ed1..d020dbb69 100644
--- a/docs/maintainers/vcpkg_configure_cmake.md
+++ b/docs/maintainers/vcpkg_configure_cmake.md
@@ -38,7 +38,7 @@ This is needed for libraries that set their own source code's character set.
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".
+If used for this purpose, it should be set to `"NMake Makefiles"`.
### OPTIONS
Additional options passed to CMake during the configuration.
diff --git a/docs/maintainers/vcpkg_configure_meson.md b/docs/maintainers/vcpkg_configure_meson.md
new file mode 100644
index 000000000..c0bda8b63
--- /dev/null
+++ b/docs/maintainers/vcpkg_configure_meson.md
@@ -0,0 +1,38 @@
+# 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)
+
+## Source
+[scripts/cmake/vcpkg_configure_meson.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_meson.cmake)
diff --git a/docs/maintainers/vcpkg_fail_port_install.md b/docs/maintainers/vcpkg_fail_port_install.md
index b3b48ad5e..462fed990 100644
--- a/docs/maintainers/vcpkg_fail_port_install.md
+++ b/docs/maintainers/vcpkg_fail_port_install.md
@@ -1,30 +1,37 @@
# vcpkg_fail_port_install
-Fails the current portfile with a (default) error message
+Checks common requirements and fails the current portfile with a (default) error message
## Usage
```cmake
-vcpkg_fail_port_install([MESSAGE <message>] [ON_TARGET <target1> [<target2> ...]]
+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 non is given a default message will be displayed depending on the failure condition
+Additional failure message. If none is given, a default message will be displayed depending on the failure condition.
### ALWAYS
-will always fail early
+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)
+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.
+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.
+Library linkage for which the build should fail early.
## Examples
diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md
index 106bbe4b7..60bfa5eca 100644
--- a/docs/maintainers/vcpkg_find_acquire_program.md
+++ b/docs/maintainers/vcpkg_find_acquire_program.md
@@ -14,9 +14,13 @@ This variable specifies both the program to be acquired as well as the out param
The current list of programs includes:
- 7Z
+- ARIA2 (Downloader)
- BISON
+- DARK
+- DOXYGEN
- FLEX
- GASPREPROCESSOR
+- GPERF
- PERL
- PYTHON2
- PYTHON3
@@ -26,8 +30,8 @@ The current list of programs includes:
- NASM
- NINJA
- NUGET
+- SCONS
- YASM
-- ARIA2 (Downloader)
Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
diff --git a/docs/maintainers/vcpkg_fixup_cmake_targets.md b/docs/maintainers/vcpkg_fixup_cmake_targets.md
index 5bad80656..5abd7c622 100644
--- a/docs/maintainers/vcpkg_fixup_cmake_targets.md
+++ b/docs/maintainers/vcpkg_fixup_cmake_targets.md
@@ -1,30 +1,42 @@
-# vcpkg_fixup_cmake_targets
-
-Transforms all `/debug/share/\<port\>/\*targets-debug.cmake` files and move them to `/share/\<port\>`.
-Removes all `/debug/share/\<port\>/\*targets.cmake and /debug/share/\<port\>/\*config.cmake`.
-
-Transforms all references matching `/bin/\*.exe tools/\<port\>/\*.exe` on Windows.
-Transforms all references matching `/bin/\* to /tools/\<port\>/\*` on other platforms.
-
-Fixups *${_IMPORT_PREFIX}* in auto generated targets to be one folder deeper.
-Replaces *${CURRENT_INSTALLED_DIR}* with *${_IMPORT_PREFIX}* in config files and targets.
-
-
-## Usage
-```cmake
-vcpkg_fixup_cmake_targets(CONFIG_PATH <config_path>)
-```
-
-## Parameters:
-### CONFIG_PATH
-*.cmake files subdirectory (e.g. "lib/cmake/${PORT}" or "cmake/${PORT}).
-### TARGET_PATH
-Optional location to place fixup'd files. Unecessary if target is "share/${PORT}".
-
-## Examples:
- - [Azure-uamqp-c](https://github.com/microsoft/vcpkg/blob/master/ports/azure-uamqp-c/portfile.cmake)
- - [Brigand](https://github.com/microsoft/vcpkg/blob/master/ports/brigand/portfile.cmake)
- - [cctz](https://github.com/microsoft/vcpkg/blob/master/ports/cctz/portfile.cmake)
-
-## Source
-[scripts/cmake/vcpkg_fixup_cmake_targets.cmake](https://github.com/microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_cmake_targets.cmake)
+# 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}>])
+```
+
+## 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}`.
+
+## 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)
+
+## Source
+[scripts/cmake/vcpkg_fixup_cmake_targets.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_cmake_targets.cmake)
diff --git a/docs/maintainers/vcpkg_install_meson.md b/docs/maintainers/vcpkg_install_meson.md
new file mode 100644
index 000000000..5d1ffb398
--- /dev/null
+++ b/docs/maintainers/vcpkg_install_meson.md
@@ -0,0 +1,16 @@
+# 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)
+
+## Source
+[scripts/cmake/vcpkg_install_meson.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_meson.cmake)
diff --git a/docs/maintainers/vcpkg_prettify_command.md b/docs/maintainers/vcpkg_prettify_command.md
index 1856e06b4..d06ba21b6 100644
--- a/docs/maintainers/vcpkg_prettify_command.md
+++ b/docs/maintainers/vcpkg_prettify_command.md
@@ -4,7 +4,7 @@ Turns list of command arguments into a formatted string.
## Usage
```cmake
-vcpkg_prettify_command()
+vcpkg_prettify_command(<INPUT_VAR> <OUTPUT_VAR>)
```
## Examples