[pangomm/kjellahl/meson-build-1-4] README.win32: Update info on MSVC builds
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pangomm/kjellahl/meson-build-1-4] README.win32: Update info on MSVC builds
- Date: Mon, 4 Nov 2019 10:17:00 +0000 (UTC)
commit 9ddd6a8494a7cae15eea850d388d9659abff7bbc
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Mon Nov 4 18:14:51 2019 +0800
README.win32: Update info on MSVC builds
C++11 versions of pangomm support Visual Studio 2013 or later, so ensure
the right info is conveyed here. Note that Meson does not have a
project generator backend for Visual Studio 2013, but does have project
generator backends for 2015, 2017 and 2019.
README.win32 | 43 ++++++++++++++++++++++++++-----------------
1 file changed, 26 insertions(+), 17 deletions(-)
---
diff --git a/README.win32 b/README.win32
index 8485cc5..2a0a2a3 100644
--- a/README.win32
+++ b/README.win32
@@ -2,13 +2,14 @@ Building gtkmm on Win32
===========================
Currently, both the mingw (native win32) gcc compiler and MS Visual
-Studio 2017 are supported. gtkmm can be built with mingw32-gcc using
-the gnu autotools (automake, autoconf, libtool). As explicitly
-stated in the gtk+ for win32 distribution (http://www.gimp.org/win32/),
-the gcc compiler provided by the cygwin distribution should not be
-used to build gtk+/gtkmm libraries and/or applications (see the
-README.win32 that comes with the gtk+ DLLs). This MIGHT cause
-conflicts between the cygwin and msvcrt runtime environments.
+Studio 2013 or later are supported. gtkmm can be built with
+mingw32-gcc using the gnu autotools (automake, autoconf, libtool).
+As explicitly stated in the gtk+ for win32 distribution
+(http://www.gimp.org/win32/), the gcc compiler provided by the cygwin
+distribution should not be used to build gtk+/gtkmm libraries and/or
+applications (see the README.win32 that comes with the gtk+ DLLs).
+This MIGHT cause conflicts between the cygwin and msvcrt runtime
+environments.
1. Mingw
@@ -44,12 +45,13 @@ make
make check
make install
-2. MS Visual Studio 2017 15.7.0 or later
+2. MS Visual Studio 2013 or later
Open a Visual Studio command prompt suitable for your intended build
configuration, and change to the MSVC_NMake directory. Ensure that
all the depedent libraries could be found in $(PREFIX), which is at
-$(srcroot)\..\vs15\$(Platform) by default. Run
+$(srcroot)\..\vsX\$(Platform) by default, where X is 12 for Visual
+Studio 2013, and 14 for later versions of Visual Studio. Run
'nmake /f Makefile.vc CFG=[release|debug]' to build pangomm. If a
different $(PREFIX) is desired rather than the aforementioned default,
pass in PREFIX=$(PATH) into your command line.
@@ -61,21 +63,27 @@ headers to their appropriate locations under $(PREFIX).
3. Using Meson
-3.1 Meson with Visual Studio 2017 15.7.0 or later
+3.1 Meson with Visual Studio 2013 or later
Note that currently it is not possible to build pangomm directly
from a GIT checkout with Visual Studio using Meson.
+Note also that before building, if using Visual Studio 2013,you will
+need to ensure that 'warnings' is not configured to 'fatal' (the
+default), as the C++11 support in Visual Studio 2013 is not complete
+enough to avoid compiler warnings. Visual Studio 2015 and later
+should be able to build without warnings.
+
You will need to have Python 3.5.x or later installed with Meson 0.50.0
or later in order to use this build option, in addition to glibmm,
cairomm and libsigc++-2.x (built with Visual Studio) and PangoCairo,
with all of their required dependencies. The Ninja build tool is
-also required if not using --backend=[vs2017|vs2019] in the Meson
+also required if not using --backend=[vs2015|vs2017|vs2019] in the Meson
command line, as noted towards the end of this section.
Open a Visual Studio command prompt and ensure these header files can be
found in the paths indicated by INCLUDE. The repetitions below are
-necessary so that we reduce the likelihood that pre-C++-11 versions
+necessary so that we reduce the likelihood that C++-17 versions
of the headers of glibmm, cairomm and libsigc++ are included, which will
most likely not work.
@@ -83,7 +91,7 @@ most likely not work.
-glibmm-2.4\glibmm.h (the *same* glibmm as the previous line)
-cairomm (from cairomm-1.13.x or later)
-cairomm-1.0\cairomm.h (the *same* cairomm as the previous line)
--glibmmconfig.h (from glibmm-2.63.x or later)
+-glibmmconfig.h (from glibmm-2.62.x or later)
-glibmm-2.4\include\glibmmconfig.h (the *same* glibmmconfig as the previous line)
-cairommconfig.h (from cairomm-1.13.x or later)
-cairomm-1.0\include\cairommconfig.h (the *same* cairommconfig as the previous line)
@@ -94,7 +102,8 @@ most likely not work.
Ensure that the import libraries of glibmm, cairomm and libsigc++-2.x
can be found in the paths indicated by LIB. Note that Visual Studio
-2019 can use 2017-built libraries without problems; but MSVC builds
+2019 can use 2017 and 2015-built libraries without problems, and VS
+2017 can use 2015-built libraries without problems; but MSVC builds
cannot make use of MinGW-built versions of these dependencies. Note
that debug builds require debug builds of these dependencies, but
all other builds, including debugoptimized require release builds
@@ -106,10 +115,10 @@ and the headers and .lib's of all of its dependencies.
To carry out a build, do this in the same command prompt, with
the Python interpreter, Meson executable script and Ninja executable
-(if not using --backend=[2017|2019]) in your PATH:
+(if not using --backend=vs[2015|2017|2019]) in your PATH:
-Create an empty build directory and cd to it.
--Run "meson <path-to-pangomm-sources> --buildtype=<buildtype> --prefix=<prefix> [--backend=[2017|2019]]"
without the quotes.
--Perform the build using ninja or Visual Studio (if --backend=[2017|2019])
+-Run "meson <path-to-pangomm-sources> --buildtype=<buildtype> --prefix=<prefix>
[--backend=vs[2015|2017|2019]]" without the quotes.
+-Perform the build using ninja or Visual Studio (if --backend=vs[2015|2017|2019])
is used. Install the build results after the build succeeds.
3.2 Meson with MinGW
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]