diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-04-17 17:28:43 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-04-17 17:55:48 +0530 |
commit | 57e876e3396fd3a37d8d9f7ac7f1e933353e58dd (patch) | |
tree | 6ef48ae4197d5915509f8a561d418f310d87f625 | |
parent | d4cc75ec1b8cc36fa796bd470d520e051cb6196c (diff) |
README: Add instructions for Windows with screenshots
Also add a note about installation
-rw-r--r-- | README.md | 100 | ||||
-rw-r--r-- | data/images/git-installer-PATH.png | bin | 0 -> 19749 bytes | |||
-rw-r--r-- | data/images/py-installer-page1.png | bin | 0 -> 77294 bytes |
3 files changed, 88 insertions, 12 deletions
@@ -7,34 +7,44 @@ meson and its [subproject](https://github.com/mesonbuild/meson/wiki/Subprojects) ## Getting started +### Install git and python 3.5+ + +If you're on Linux, you probably already have these. On macOS, you can use the +[official Python installer](https://www.python.org/downloads/mac-osx/). + +You can find [instructions for Windows below](#windows-prerequisites-setup). + ### Install meson and ninja Meson 0.48 or newer is required. -You should get meson through your package manager or using: +On Linux and macOS you can get meson through your package manager or using: $ pip3 install --user meson -This will install meson into ~/.local/bin which may or may not be included +This will install meson into `~/.local/bin` which may or may not be included automatically in your PATH by default. -If you are building on Windows, do not use the Meson MSI installer since it is -experimental and will likely not work. - -You can also run meson directly from a meson git checkout if you like. - You should get `ninja` using your package manager or download the [official -release](https://github.com/ninja-build/ninja/releases) and put it in your PATH. +release](https://github.com/ninja-build/ninja/releases) and put the `ninja` +binary in your PATH. + +You can find [instructions for Windows below](#windows-prerequisites-setup). ### Build GStreamer and its modules You can get all GStreamer built running: ``` -mkdir build/ && meson build && ninja -C build/ +meson build/ +ninja -C build/ ``` -NOTE: on fedora (and maybe other distributions) replace `ninja` with `ninja-build` +This will automatically create the `build` directory and build everything +inside it. + +NOTE: On Windows, you *must* run this from inside the Visual Studio command +prompt of the appropriate architecture and version. # Development environment @@ -89,7 +99,7 @@ ninja -C build/ git-update ## Custom subprojects -We also added a meson option, 'custom_subprojects', that allows the user +We also added a meson option, `custom_subprojects`, that allows the user to provide a comma-separated list of subprojects that should be built alongside the default ones. @@ -103,7 +113,6 @@ rm -rf * && meson .. -Dcustom_subprojects=my_subproject ninja ``` - ## Run tests You can easily run the test of all the components: @@ -136,6 +145,21 @@ Run a specific test from a specific test file: GST_CHECKS=test_subbuffer meson test -C build/ --suite gstreamer gst_gstbuffer ``` +## Optional Installation + +`gst-build` has been created primarily for [uninstalled usage](#uninstalled-environment), +but you can also install everything that is built into a predetermined prefix like so: + +``` +meson --prefix=/path/to/install/prefix build/ +ninja -C build/ +meson install -C build/ +``` + +Note that the installed files have `RPATH` stripped, so you will need to set +`LD_LIBRARY_PATH`, `DYLD_LIBRARY_PATH`, or `PATH` as appropriate for your +platform for things to work. + ## Checkout another branch using worktrees If you need to have several versions of GStreamer coexisting (eg. `master` and `1.14`), @@ -199,3 +223,55 @@ you should add a new environment segment as follow: "priority": 50 }, ``` + +## Windows Prerequisites Setup + +On Windows, some of the components may require special care. + +### Git for Windows + +Use the [Git for Windows](https://gitforwindows.org/) installer. It will +install a `bash` prompt with basic shell utils and up-to-date git binaries. + +During installation, when prompted about `PATH`, you should select the +following option: + +![Select "Git from the command line and also from 3rd-party software"](/data/images/git-installer-PATH.png) + +### Python 3.5+ on Windows + +Use the [official Python installer](https://www.python.org/downloads/windows/). +You must ensure that Python is installed into `PATH`: + +![Enable Add Python to PATH, then click Customize Installation](/data/images/py-installer-page1.png) + +You may also want to customize the installation and install it into +a system-wide location such as `C:\PythonXY`, but this is not required. + +### Ninja on Windows + +The easiest way to install Ninja on Windows is with `pip3`, which will download +the compiled binary and place it into the `Scripts` directory inside your +Python installation: + +``` +pip3 install ninja +``` + +You can also download the [official release](https://github.com/ninja-build/ninja/releases) +and place it into `PATH`. + +### Meson on Windows + +**IMPORTANT**: Do not use the Meson MSI installer since it is experimental and known to not +work with `gst-build`. + +You can use `pip3` to install Meson, same as Ninja above: + +``` +pip3 install meson +``` + +Note that Meson is written entirely in Python, so you can also run it as-is +from the [git repository](https://github.com/mesonbuild/meson/) if you want to +use the latest master branch for some reason. diff --git a/data/images/git-installer-PATH.png b/data/images/git-installer-PATH.png Binary files differnew file mode 100644 index 0000000..5fe3f44 --- /dev/null +++ b/data/images/git-installer-PATH.png diff --git a/data/images/py-installer-page1.png b/data/images/py-installer-page1.png Binary files differnew file mode 100644 index 0000000..a1972f0 --- /dev/null +++ b/data/images/py-installer-page1.png |