summaryrefslogtreecommitdiff
path: root/MSVC_NMake/Makefile.vc
blob: b186127771e2a44e5a1edb3ae525caba076ac1d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# NMake Makefile for building libsigc++ on Windows using Visual Studio

# The items below this line should not be changed, unless one is maintaining
# the NMake Makefiles.  Customizations can be done in the following NMake Makefile
# portions (please see comments in the these files to see what can be customized):
#
# detectenv-msvc.mak
# config-msvc.mak

!include detectenv-msvc.mak

# Include the Makefile portions with the source listings
!include ..\sigc++\filelist.am

# Include the Makefile portion that enables features based on user input
!include config-msvc.mak

!if "$(VALID_CFGSET)" == "TRUE"

# We need Visual Studio 2017 or later
!if $(VSVER) < 15
VALID_MSC = FALSE
!else
VALID_MSC = TRUE
!endif

!if $(VCVERSION) < 1915
!message Some tests may fail to build for Visual Studio 2017 15.7 or earlier!
!endif

!if "$(VALID_MSC)" == "TRUE"

!ifdef GENERATE_VERSIONED_FILES
!include pkg-ver.mak
DO_REAL_GEN=1
!endif

all: $(LIBSIGC_LIB) examples all-build-info

# Include the Makefile portion to convert the source and header lists
# into the lists we need for compilation and introspection
!include create-lists-msvc.mak
!include generate-msvc.mak

examples: $(libsigc_examples)
tests: $(libsigc_tests) all-build-info

benchmark: all $(libsigc_benchmark) all-build-info

# Include the build rules for sources, DLLs and executables
!include build-rules-msvc.mak

!include install.mak

!else # "$(VALID_MSC)" == "TRUE"
all:
	@echo You need Visual Studio 2017 or later.

!endif # "$(VALID_MSC)" == "TRUE"

!else # "$(VALID_CFGSET)" == "TRUE"
all: help
	@echo You need to specify a valid configuration, via
	@echo CFG=release or CFG=debug
!endif # "$(VALID_CFGSET)" == "TRUE"

!include info-msvc.mak