From 4b4b6596799749fdd77f8aaf25e0b2f3289dba4a Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 23 Nov 2015 10:01:21 +0100 Subject: [PATCH] Added MSBUILD support, msbuild.exe must be in path so update your tools (nw) --- makefile | 42 ++++++++++++++++++++++++++++++++++++++++-- scripts/toolchain.lua | 7 +++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/makefile b/makefile index 0f380ece13b..9cc72273e7b 100644 --- a/makefile +++ b/makefile @@ -95,6 +95,8 @@ # FORCE_VERSION_COMPILE = 1 +# MS BUILD = 1 + ifdef PREFIX_MAKEFILE include $(PREFIX_MAKEFILE) else @@ -737,6 +739,24 @@ GCC_VERSION := $(shell gcc -dumpversion 2> NUL) CLANG_VERSION := $(shell %CLANG%\bin\clang --version 2> NUL| head -n 1 | sed "s/[^0-9,.]//g") PYTHON_AVAILABLE := $(shell $(PYTHON) --version > NUL 2>&1 && echo python) CHECK_CLANG := +ifdef MSBUILD +MSBUILD_PARAMS := /v:minimal /m:$(NUMBER_OF_PROCESSORS) +ifeq ($(CONFIG),debug) +MSBUILD_PARAMS += /p:Configuration=Debug +else +MSBUILD_PARAMS += /p:Configuration=Release +endif +ifeq ($(ARCHITECTURE),_x64) +MSBUILD_PARAMS += /p:Platform=x64 +else +MSBUILD_PARAMS += /p:Platform=win32 +endif +ifeq ($(SUBTARGET),mess) +MSBUILD_SOLUTION := $(SUBTARGET).sln +else +MSBUILD_SOLUTION := $(TARGET)$(SUBTARGET).sln +endif +endif else GCC_VERSION := $(shell $(subst @,,$(CC)) -dumpversion 2> /dev/null) ifneq ($(OS),solaris) @@ -834,12 +854,21 @@ vs2012_xp: generate vs2013: generate $(SILENT) $(GENIE) $(PARAMS) vs2013 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2013/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2013_intel: generate $(SILENT) $(GENIE) $(PARAMS) --vs=intel-15 vs2013 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2013-intel/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2013_xp: generate $(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-xp vs2013 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2013-xp/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2013_clang: generate $(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-clang vs2013 @@ -849,15 +878,24 @@ vs2013_winrt: generate vs2015: generate $(SILENT) $(GENIE) $(PARAMS) vs2015 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2015/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2015_intel: generate $(SILENT) $(GENIE) $(PARAMS) --vs=intel-15 vs2015 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2015-intel/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2015_xp: generate - $(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-xp vs2015 + $(SILENT) $(GENIE) $(PARAMS) --vs=vs2015-xp vs2015 +ifdef MSBUILD + $(SILENT) msbuild $(PROJECTDIR)/vs2015-xp/$(MSBUILD_SOLUTION) $(MSBUILD_PARAMS) +endif vs2015_clang: generate - $(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-clang vs2015 + $(SILENT) $(GENIE) $(PARAMS) --vs=vs2015-clang vs2015 vs2015_winrt: generate $(SILENT) $(GENIE) $(PARAMS) --vs=winstore81 vs2015 diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua index 08712050751..532fac535e8 100644 --- a/scripts/toolchain.lua +++ b/scripts/toolchain.lua @@ -44,8 +44,10 @@ newoption { { "intel-15", "Intel C++ Compiler XE 15.0" }, { "vs2012-clang", "Clang 3.6" }, { "vs2013-clang", "Clang 3.6" }, + { "vs2015-clang", "Clang 3.6" }, { "vs2012-xp", "Visual Studio 2012 targeting XP" }, { "vs2013-xp", "Visual Studio 2013 targeting XP" }, + { "vs2015-xp", "Visual Studio 2015 targeting XP" }, { "winphone8", "Windows Phone 8.0" }, { "winphone81", "Windows Phone 8.1" }, { "winstore81", "Windows Store 8.1" }, @@ -376,6 +378,11 @@ function toolchain(_buildDir, _subDir) premake.vstudio.toolset = ("v120_xp") location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp") end + + if ("vs2015-xp") == _OPTIONS["vs"] then + premake.vstudio.toolset = ("v140_xp") + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp") + end elseif _ACTION == "xcode4" then if "osx" == _OPTIONS["xcode"] then