diff options
| author | nicole mazzuca <mazzucan@outlook.com> | 2020-09-14 15:07:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-14 15:07:02 -0700 |
| commit | 0fec1340eba828e95c489796eb0c7a4330120686 (patch) | |
| tree | a5e9f8e8592705c790ae0e987fd2b36219a3276d /docs/examples/packaging-github-repos.md | |
| parent | 76362dd2b2e4d9b03f6722219c8a1189e3a255fa (diff) | |
| download | vcpkg-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.md | 39 |
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
|
