Skip to content

Commit a84ec78

Browse files
fanc999-1kjellahl
authored andcommitted
Visual Studio builds: Convert build docs to MarkDown
Convert the README.txt to MarkDown format so that it is easier on the eye in terms of formatting, and update some of the info: * Note that although Visual Studio 2013 is supported to build libsigc++, but Visual Studio 2015 or later is likely needed to build packages that use libsigc++ * ARM64 is actually supported * Update info on build from GIT checkout. * Move the part on static builds as appropriate * Some other minor tweaks
1 parent 13d183b commit a84ec78

File tree

4 files changed

+72
-60
lines changed

4 files changed

+72
-60
lines changed

MSVC_NMake/MSVC-Builds.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
Instructions for building libsigc++ on Visual Studio
2+
=
3+
4+
Building libsigc++ on Windows is now supported using Visual Studio
5+
versions 2013 or later in both 32-bit and 64-bit (x64 and ARM64) flavors,
6+
via NMake Makefiles. Due to `C++11` usage, Visual Studio 2012 or
7+
earlier is not supported, and packages using libsigc++ may require Visual
8+
Studio 2015 or later as C++-11 is supported more comprehensively in later
9+
Visual Studio versions.
10+
11+
libsigc++ itself has no external dependencies, but building the
12+
benchmark test program will require an installation of the Boost
13+
C++ libraries.
14+
15+
Building with NMake
16+
-
17+
The following describes what items are built with the following
18+
targets:
19+
20+
* `all`, `examples`: (or no target specified): The libsigc++ DLL and the example programs.
21+
* `tests`: The libsigc++ DLL and the test programs.
22+
* `benchmark`: The libsigc++ DLL and the benchmark program, the Boost C++ headers should be found in one of the paths that are in`%INCLUDE%`.
23+
24+
Building directly from a GIT checkout is now supported, provided that a `PERL`
25+
installation is present, along with the `m4` executable that can be optained
26+
by installing CygWin or MSYS2 (add the location of your `m4` executable to the
27+
end of your `%PATH%` and pass the `PERL` interpreter executable in your NMake
28+
command line by using `nmake /f Makefile.vc ... PERL=<path_to_PERL_interpreter_executable>`).
29+
30+
The following are instructions for performing such a build. A `clean` target is
31+
provided-it is recommended that one cleans the build and redo the build if any
32+
configuration option changed. An `install` target is also provided to copy the
33+
built items in their appropriate locations under `$(PREFIX)`, which is described
34+
below.
35+
36+
A 'forceclean' target is also provided to cover the actions under the target
37+
'clean', but also to remove any traces of the headers and sources that were
38+
generated. This may be useful if one wants to re-generate the sources and headers
39+
from the m4 templates.
40+
41+
Invoke the build by issuing the command:
42+
`nmake /f Makefile.vc CFG=[release|debug] [PREFIX=...] <option1=1 option2=1 ...>`
43+
where:
44+
45+
* `CFG`: Required. Choose from a `release` or `debug` build. Note that
46+
all builds generate a `.pdb` file for each `.dll` and `.exe` built.
47+
48+
* `PREFIX`: Optional. Base directory of where the third-party headers, libraries
49+
and needed tools can be found, i.e. headers in `$(PREFIX)\include`,
50+
libraries in `$(PREFIX)\lib` and tools and DLLs in `$(PREFIX)\bin`. If not
51+
specified, `$(PREFIX)` is set as `$(srcroot)\..\vs$(X)\$(platform)`, where
52+
`$(platform)` is `win32` for 32-bit builds or `x64` for 64-bit (Intel/AMD)
53+
builds or `arm64` for 64-bit (ARM) builds, and `$(X)` is the short version of the
54+
Visual Studio used, as follows:
55+
* 2013: `12`
56+
* 2015: `14`
57+
* 2017: `15`
58+
* 2019: `16`
59+
* 2022: `17`
60+
61+
* Options, set by `<option>=1`:
62+
63+
* `BOOST_DLL`: When building the benchmark, link to a DLL build of the Boost
64+
libraries. Required if your installation of the Boost libraries are built as DLLs.
65+
Note that debug builds must link to debug builds of Boost and release builds must
66+
link to release builds of Boost.
67+
68+
* `STATIC`: Optional. Set if building libsigc++ as a static library. Note that
69+
for building items that use this static build, `/DLIBSIGCXX_STATIC`
70+
must be passed into the compiler flags.

MSVC_NMake/README.txt

Lines changed: 0 additions & 58 deletions
This file was deleted.

MSVC_NMake/filelist.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ msvc_nmake_data = \
1010
info-msvc.mak \
1111
install.mak \
1212
Makefile.vc \
13-
README.txt \
13+
MSVC-Builds.md \
1414
sigc++config.h \
1515
sigc.rc

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,4 @@ $ make dist
132132

133133
## Building with Microsoft Visual C++
134134

135-
See MSVC_NMake/README.txt.
135+
See MSVC_NMake/MSVC-Builds.md.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy