[libsoup/master.novcproj] build: Add README.msvc



commit 83dae960a757584a65569f19376153bbbe0dbe7b
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Thu Sep 20 10:16:46 2018 +0800

    build: Add README.msvc
    
    Add instructions on how to build libsoup with Visual Studio via Meson.

 README.msvc | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
---
diff --git a/README.msvc b/README.msvc
new file mode 100644
index 00000000..d9a00613
--- /dev/null
+++ b/README.msvc
@@ -0,0 +1,77 @@
+Building with Visual Studio using Meson
+=======================================
+
+Meson is now the supported method of building libsoup using Visual Studio.
+
+Note that you will need libxml2, SQLite3, libpsl and optionally MIT
+Kerberos, in addition to GLib and all its dependencies.  You will also need
+a set of GIO modules that implement TLS functionality, which needs to be
+found and loadable by GLib (GIO).  glib-openssl is the
+only supported option for this at this time of writing for Visual Studio
+builds.  Note that these should be built with the same compiler that is being
+used to build libsoup.
+
+For libxml2, SQLite3 and MIT Kerberos (for GSSAPI functionality), ensure that
+their headers, .lib's and DLLs can be found in the paths defined in your INCLUDE,
+LIB and PATH environmental variables, while you need to set PKG_CONFIG_PATH to
+contain the path to the pkg-config (.pc) files for the various components of GLib
+and for libpsl.  If GObject-Introspection is found via pkg-config files, the
+introspection files are built as well.
+
+One can also refer to the following page for building the dependencies:
+
+https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack
+
+You will also need the following items:
+-Python 3.6.x.  You will then need to install or update Meson by using pip.
+-The Ninja build tool, required for Visual Studio 2008, 2012 and 2013 builds,
+ and optional for 2010, 2015 and 2017 builds, where Visual Studio projects
+ can be generated instead of the Ninja build files.
+-GIT for Windows is highly recommended, in the case where some required
+ dependencies are not found, and Meson makes use of GIT to download
+ the sources to build in the build process.
+
+To do a build using Meson, do the following:
+
+-Open a Visual Studio (or SDK) command prompt that matches the Visual Studio
+ version and build platform (Win32/x86, x64, etc.) that will be used in all
+ the following steps.
+
+-Create an empty directory/folder for the build.  It needs to be in the same
+ drive as where your libsoup sources are located (i.e. $(LIBSOUP_SRCDIR)).
+ cd into that directory/folder.
+
+-Setup your PATH envvar:
+
+   set PATH=%PATH%;$(PYTHON_INSTALL_DIR);$(NINJA_DIR)
+
+ where PYTHON_INSTALL_DIR is where Python 3.6.x+ is installed to, and NINJA_DIR
+ is where your ninja executable can be found.  The NINJA_DIR can be omitted if one
+ passes --backend=vs to the Meson configuration line, for Visual Studio 2010, 2015
+ and 2017 builds.
+
+-Configure the build using Meson:
+
+    python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) 
--prefix=$(INSTALL_PREFIX) [--backend=vs]
+
+ Also pass in -Dgssapi=false if not building with GSSAPI support.
+
+ Please see the Meson docs for an explanation for --buildtype, the path passed for
+ --prefix need not to be on the same drive as where the build is carried out, but
+ it is recommended to use forward slashes for this path.  The --backend=vs can be
+ used if the Visual Studio project generator is preferred over using Ninja, for
+ Visual Studio 2010, 2015 and 2017 builds.
+
+-Build, test and install the build:
+ Run ninja (and ninja test and ninja install) or open the generated Visual Studio
+ projects to compile, test and install the build.
+
+Note that if building the sources with Visual Studio 2008, note the following
+additional items:
+
+-You need to run the following lines from your build directory, to embed the manifests
+ that are generated during the build, assuming the built binaries are installed
+ to $(PREFIX), after a successful build/installation:
+
+for /r %f in (*.dll.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f $(PREFIX)\bin\%~nf;2
+for /r %f in (*.exe.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f $(PREFIX)\bin\%~nf;1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]