summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-04 11:49:28 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-04 11:49:28 +0200
commitbdc6f0f6babc093f58a182f424c86f3f436c3a8a (patch)
tree69f3f3c77e85d30408dd7092c123ba2ad8a5a702
parenta60b1b56fbc24b1ca60d11f27896a47c1f7ba3b1 (diff)
downloaduca-bdc6f0f6babc093f58a182f424c86f3f436c3a8a.tar.gz
uca-bdc6f0f6babc093f58a182f424c86f3f436c3a8a.tar.bz2
uca-bdc6f0f6babc093f58a182f424c86f3f436c3a8a.tar.xz
uca-bdc6f0f6babc093f58a182f424c86f3f436c3a8a.zip
docs: add Windows build instructions
-rw-r--r--docs/quickstart.rst63
1 files changed, 61 insertions, 2 deletions
diff --git a/docs/quickstart.rst b/docs/quickstart.rst
index e564a8f..e2f3aa9 100644
--- a/docs/quickstart.rst
+++ b/docs/quickstart.rst
@@ -17,8 +17,8 @@ openSUSE and can be obtained from the openSUSE Build Service at
https://build.opensuse.org/package/show/home:ufo-kit/libuca.
-Building from source
-~~~~~~~~~~~~~~~~~~~~
+Building on Linux
+~~~~~~~~~~~~~~~~~
In order to build *libuca* from source, you need
@@ -94,6 +94,65 @@ the latter that we want to install the libraries and plugins into the ``lib64``
subdir instead of the default ``lib`` subdir as it is common on SUSE systems.
+Building on Windows
+~~~~~~~~~~~~~~~~~~~
+
+Using MSYS2, the build procedure is similar to Linux but differs in some points.
+To build libuca and the plugins:
+
+Get msys2 from `msys2.github.io <https://msys2.github.io/`__ (preferably the x86_64
+variant) and install it to ``C:\msys64`` or any other location.
+
+Run ``mingw64_shell.bat`` from the ``C:\msys64`` folder` to open up a msys2 shell
+and use the pre-installed ``pacman`` package manager to install required packages.
+Before that, please update core msys packages and restart the shell after
+running::
+
+ pacman -Syu
+
+Now install the dependencies via ``pacman -S <package_name>``. Following is a
+list of required packages:
+
+- ``make``
+- ``perl``
+- ``mingw-w64-x86_64-gcc``
+- ``mingw-w64-x86_64-gdb``
+- ``mingw-w64-x86_64-pkg-config``
+- ``mingw-w64-x86_64-gtk2``
+
+Create an empty ``build`` directory in libuca's root folder, change directory to
+that folder and configure libuca using CMake::
+
+ cmake -G "MSYS Makefiles" -D CMAKE_INSTALL_PREFIX="C:\uca" -D CMAKE_BUILD_TYPE=Debug ..
+
+Now you can type::
+
+ make && make install
+
+to create and install all binaries and libraries in ``C:\uca``.
+
+
+Building plugins
+^^^^^^^^^^^^^^^^
+
+Note: A package config file (libuca.pc) is generated when libuca is built and is
+stored in folder pkgconfig in ``C:\uca\bin``. This file is used while building
+uca plugins to locate shared libraries of libuca. To help find them add the
+location to the package config search path using the environment variable
+``PKG_CONFIG_PATH``, i.e. run::
+
+ PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/c/uca/bin/pkgconfig/
+
+Now, create an empty ``build`` directory in the plugin root folder, change
+directory to that folder and configure the plugin using::
+
+ cmake -G "MSYS Makefiles" -D CMAKE_INSTALL_PREFIX="C:\uca" -D CMAKE_BUILD_TYPE=Debug ..
+
+As before, build and install the plugin using::
+
+ make && make install
+
+
Usage
-----