Blame win32/detectenv-msvc.mak

rpm-build 4f3c61
# Common NMake Makefile module for checking the build environment
rpm-build 4f3c61
# This can be copied from $(glib_srcroot)\build\win32 for GNOME items
rpm-build 4f3c61
# that support MSVC builds and introspection under MSVC, and can be used
rpm-build 4f3c61
# for building test programs as well.
rpm-build 4f3c61
rpm-build 4f3c61
# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
rpm-build 4f3c61
# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
rpm-build 4f3c61
!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)
rpm-build 4f3c61
MSG = ^
rpm-build 4f3c61
This Makefile is only for Visual Studio 2008 and later.^
rpm-build 4f3c61
You need to ensure that the Visual Studio Environment is properly set up^
rpm-build 4f3c61
before running this Makefile.
rpm-build 4f3c61
!error $(MSG)
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
ERRNUL  = 2>NUL
rpm-build 4f3c61
_HASH=^#
rpm-build 4f3c61
rpm-build 4f3c61
!if ![echo VCVERSION=_MSC_VER > vercl.x] \
rpm-build 4f3c61
    && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
rpm-build 4f3c61
    && ![echo PLAT=Win32 >> vercl.x] \
rpm-build 4f3c61
    && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
rpm-build 4f3c61
    && ![echo PLAT=x64 >> vercl.x] \
rpm-build 4f3c61
    && ![echo $(_HASH)endif >> vercl.x] \
rpm-build 4f3c61
    && ![cl -nologo -TC -P vercl.x $(ERRNUL)]
rpm-build 4f3c61
!include vercl.i
rpm-build 4f3c61
!if ![echo VCVER= ^\> vercl.vc] \
rpm-build 4f3c61
    && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
rpm-build 4f3c61
!include vercl.vc
rpm-build 4f3c61
!endif
rpm-build 4f3c61
!endif
rpm-build 4f3c61
!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
rpm-build 4f3c61
VSVER = 9
rpm-build 4f3c61
!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
rpm-build 4f3c61
VSVER = 10
rpm-build 4f3c61
!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
rpm-build 4f3c61
VSVER = 11
rpm-build 4f3c61
!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
rpm-build 4f3c61
VSVER = 12
rpm-build 4f3c61
!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
rpm-build 4f3c61
VSVER = 14
rpm-build 4f3c61
!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
rpm-build 4f3c61
VSVER = 15
rpm-build 4f3c61
!else
rpm-build 4f3c61
VSVER = 0
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
!if "$(VSVER)" == "0"
rpm-build 4f3c61
MSG = ^
rpm-build 4f3c61
This NMake Makefile set supports Visual Studio^
rpm-build 4f3c61
9 (2008) through 14 (2015).  Your Visual Studio^
rpm-build 4f3c61
version is not supported.
rpm-build 4f3c61
!error $(MSG)
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
VALID_CFGSET = FALSE
rpm-build 4f3c61
!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
rpm-build 4f3c61
VALID_CFGSET = TRUE
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
# We want debugging symbols logged for all builds,
rpm-build 4f3c61
# using .pdb files for release builds
rpm-build 4f3c61
CFLAGS_BASE = /Zi
rpm-build 4f3c61
rpm-build 4f3c61
!if "$(CFG)" == "release" || "$(CFG)" == "Release"
rpm-build 4f3c61
CFLAGS_ADD = /MD /O2 $(CFLAGS_BASE)
rpm-build 4f3c61
!else
rpm-build 4f3c61
CFLAGS_ADD = /MDd /Od $(CFLAGS_BASE)
rpm-build 4f3c61
!endif
rpm-build 4f3c61
rpm-build 4f3c61
!if "$(PLAT)" == "x64"
rpm-build 4f3c61
LDFLAGS_ARCH = /machine:x64
rpm-build 4f3c61
!else
rpm-build 4f3c61
LDFLAGS_ARCH = /machine:x86
rpm-build 4f3c61
!endif