|
| 1 | +Instructions for building libsigc++ on Visual Studio |
| 2 | +==================================================== |
| 3 | +Building the libsigc++ on Windows is now supported using Visual Studio |
| 4 | +versions 2017 or later in both 32-bit and 64-bit (x64) flavors, |
| 5 | +via NMake Makefiles. Due to C++-17 usage, Visual Studio 2015 or |
| 6 | +earlier is not supported, and any use of the headers installed with |
| 7 | +this package will require the use of the /std:c++17 compiler flag. |
| 8 | + |
| 9 | +libsigc++ itself has no external dependencies, but building the |
| 10 | +benchmark test program will require an installation of the Boost |
| 11 | +C++ libraries. |
| 12 | + |
| 13 | +The following describes what items are built with the following |
| 14 | +targets: |
| 15 | + |
| 16 | +-all (or no target specified): The libsigc++ DLL and the example programs. |
| 17 | +-test: The libsigc++ DLL and the test programs. |
| 18 | +-benchmark: The libsigc++ DLL and the benchmark program. |
| 19 | + |
| 20 | +The following are instructions for performing such a build. A 'clean' target is |
| 21 | +provided-it is recommended that one cleans the build and redo the build if any |
| 22 | +configuration option changed. An |
| 23 | +'install' target is also provided to copy the built items in their appropriate |
| 24 | +locations under $(PREFIX), which is described below. |
| 25 | + |
| 26 | +Invoke the build by issuing the command: |
| 27 | +nmake /f Makefile.vc CFG=[release|debug] [PREFIX=...] <option1=1 option2=1 ...> |
| 28 | +where: |
| 29 | + |
| 30 | +CFG: Required. Choose from a release or debug build. Note that |
| 31 | + all builds generate a .pdb file for each .dll and .exe built--this refers |
| 32 | + to the C/C++ runtime that the build uses. |
| 33 | + |
| 34 | +PREFIX: Optional. Base directory of where the third-party headers, libraries |
| 35 | + and needed tools can be found, i.e. headers in $(PREFIX)\include, |
| 36 | + libraries in $(PREFIX)\lib and tools in $(PREFIX)\bin. If not |
| 37 | + specified, $(PREFIX) is set as $(srcroot)\..\vs$(X)\$(platform), where |
| 38 | + $(platform) is win32 for 32-bit builds or x64 for 64-bit builds, and |
| 39 | + $(X) is the short version of the Visual Studio used, as follows: |
| 40 | + 2017: 15 |
| 41 | + |
| 42 | +Explanation of options, set by <option>=1: |
| 43 | +------------------------------------------ |
| 44 | +BOOST_DLL: When building the benchmark, link to a DLL build of the Boost |
| 45 | + libraries. Required if your installation of the Boost libraries |
| 46 | + are built as DLLs. Note that debug builds must link to debug |
| 47 | + builds of Boost and release builds must link to releease builds |
| 48 | + of Boost. |
0 commit comments