aboutsummaryrefslogtreecommitdiff
path: root/docs/examples/packaging-github-repos.md
diff options
context:
space:
mode:
authornicole mazzuca <mazzucan@outlook.com>2020-09-14 15:07:02 -0700
committerGitHub <noreply@github.com>2020-09-14 15:07:02 -0700
commit0fec1340eba828e95c489796eb0c7a4330120686 (patch)
treea5e9f8e8592705c790ae0e987fd2b36219a3276d /docs/examples/packaging-github-repos.md
parent76362dd2b2e4d9b03f6722219c8a1189e3a255fa (diff)
downloadvcpkg-0fec1340eba828e95c489796eb0c7a4330120686.tar.gz
vcpkg-0fec1340eba828e95c489796eb0c7a4330120686.zip
[vcpkg manifest] Add documentation! (#13488)
* [vcpkg docs] add docs for manifest files These are just for the maintainer docs, not user docs. * [vcpkg] EBNF-ify platform expression parsing this modifies nothing about what strings are accepted or rejected, it just moves stuff around. also adds tests. * [vcpkg docs] add manifest mode example * [wip] docs for augustin also fix tabs * [vcpkg manifest] switch to using maps for features * Apply suggestions from code review * un-experimentize format-manifest * flesh out the user manifest mode docs * CRs * billy CRs * final personal pass-thru
Diffstat (limited to 'docs/examples/packaging-github-repos.md')
-rw-r--r--docs/examples/packaging-github-repos.md39
1 files changed, 22 insertions, 17 deletions
diff --git a/docs/examples/packaging-github-repos.md b/docs/examples/packaging-github-repos.md
index 61e1f9a5d..287354ff2 100644
--- a/docs/examples/packaging-github-repos.md
+++ b/docs/examples/packaging-github-repos.md
@@ -1,18 +1,23 @@
## Packaging Github Repos Example: libogg
-### Create the CONTROL file
-The `CONTROL` file is a simple set of fields describing the package's metadata.
-
-*For libogg, we'll create the file `ports\libogg\CONTROL` with the following contents:*
-```no-highlight
-Source: libogg
-Version: 1.3.3
-Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.
+### Create the manifest file
+The manifest file (called `vcpkg.json`) is a json file describing the package's metadata.
+
+For libogg, we'll create the file `ports/libogg/vcpkg.json` with the following content:
+
+```json
+{
+ "name": "libogg",
+ "version-string": "1.3.3",
+ "description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs."
+}
```
+You can format the manifest file to our specifications with `vcpkg format-manifest ports/libogg/vcpkg.json`.
+
### Create the portfile
`portfile.cmake` describes how to build and install the package. First we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md):
-```no-highlight
+```cmake
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
@@ -26,7 +31,7 @@ The important parts to update are `REPO` for the GitHub repository path, `REF` f
Finally, we configure the project with CMake, install the package, and copy over the license file:
-```no-highlight
+```cmake
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -40,14 +45,14 @@ Check the documentation for [`vcpkg_configure_cmake`](../maintainers/vcpkg_confi
Now you can run `vcpkg install libogg` to build and install the package.
### Suggested example portfiles
-In the `ports\` directory are many libraries that can be used as examples, including many that are not based on CMake.
+In the `ports/` directory are many libraries that can be used as examples, including many that are not based on CMake.
- Header only libraries
- - rapidjson
- - range-v3
+ - rapidjson
+ - range-v3
- MSBuild-based
- - cppunit
- - mpg123
+ - cppunit
+ - mpg123
- Non-CMake, custom buildsystem
- - openssl
- - ffmpeg
+ - openssl
+ - ffmpeg