Opened 9 years ago

Closed 6 years ago

Last modified 6 years ago

#3439 closed task (fixed)

Update build proces to Visual Studio 2015

Reported by: Niek Owned by: Itms
Priority: Must Have Milestone: Alpha 23
Component: Build & Packages Keywords:
Cc: Patch:

Description (last modified by Itms)

Currently building fails with VS2015, fixing that would be nice.

Attachments (3)

build.txt (24.9 KB ) - added by Niek 9 years ago.
build output
vs2015.diff (1.4 KB ) - added by leper 8 years ago.
Possible fix for the compilation issue.
vs2015.2.diff (2.4 KB ) - added by leper 8 years ago.
Possible fix for the compilation issue.

Download all attachments as: .zip

Change History (17)

by Niek, 9 years ago

Attachment: build.txt added

build output

comment:1 by Niek, 9 years ago

Description: modified (diff)

comment:2 by Stan, 9 years ago

Description: modified (diff)

Don't know if it's related to my installation but the only error i get is

Error C1510 Cannot load language resource clui.dll. lobby C:\0AD\build\workspaces\vc2015\CL 1

comment:3 by Stan, 9 years ago

I investigated a bit and it seems that my installation was corrupt. After that I get the same warnings and errors than niektb.

They are caused by the fact you no longer need to typedef in VS2015

https://msdn.microsoft.com/en-us/library/bb531344.aspx

So we will either have to remove them manually in our code, or to ask the SM31 to update theirs.

comment:4 by Stan, 8 years ago

Description: modified (diff)
Priority: Must HaveNice to Have

Another solution would to set all the files the projects to compile with VS2013. That solves it.

by leper, 8 years ago

Attachment: vs2015.diff added

Possible fix for the compilation issue.

comment:5 by leper, 8 years ago

Keywords: patch wip added

Above patch should fix the slew of errors caused by error C2011: 'timespec': 'struct' type redefinition, likely there needs to be a fix for the type redefinitions in SpiderMonkey (should exist upstream somewhere, likely just some ifdefs and one include in one single file). Would be nice if someone could test this.

by leper, 8 years ago

Attachment: vs2015.2.diff added

Possible fix for the compilation issue.

comment:6 by Yordan Grigorov, 8 years ago

The last attachment (vs2015.2.diff by leper) worked for me. Compiled with no errors/warnings and runs fine on Windows 10 Visual Studio 2015 update 1 svn 17854

comment:7 by Itms, 8 years ago

Milestone: Alpha 20Backlog

With this patch and a little tweak for SpiderMonkey and some other fixes, the build still fails when linking SM. I think the best way would be to perform the SM38 upgrade (#3708), because this new version was actually developed with a vc14 support, then fix this along with #3729.

Apparently VS2015 introduces a bunch of new warnings that revealed several little problems in our code. It would be better to fix them when we support this compiler.

comment:8 by Stan, 8 years ago

For now, there is this workaround: https://social.msdn.microsoft.com/Forums/vstudio/en-US/56932861-264a-4be3-9982-24cdf06ad2db/visual-c-v120-compliler-tool-for-visual-studio-2015-rc-?forum=vssetup which provides the vs2013 compiler into 2015 (According to it this is because Windows 8.1 application can't even be compiled with vs 2015) So at least that allows one to build by using these tools. Need someone's confirmation though on wether this can be done on Express version (I have the Enterprise version)

comment:9 by Stan, 7 years ago

Tried compiling today with the v140 XP toolset, build failed http://pastebin.com/KdkBLmxu

Last edited 7 years ago by Stan (previous) (diff)

comment:10 by Itms, 6 years ago

Description: modified (diff)
Keywords: patch wip removed
Milestone: BacklogAlpha 23
Owner: set to Itms
Priority: Nice to HaveMust Have

comment:11 by Itms, 6 years ago

Resolution: fixed
Status: newclosed

In 20562:

Support Visual Studio 2015 (MSVC 14.0), fixes #3439.

VS 2013 stays the default Windows compiler, but support for it will be dropped as soon as possible.
Tested By: Stan

comment:12 by elexis, 6 years ago

That's a big step forwards! Thanks for making this happen Itms!

comment:13 by Itms, 6 years ago

In 20563:

Go back to the legacy syntax for detecting premake actions.

The filter command does only filter out premake commands, and does not act on Lua instructions like this one. Some code refactoring would be needed in order to take advantage of the powerful filter syntax.

Refs #3439.

comment:14 by Itms, 6 years ago

In 21480:

Fix compiler warnings on VS 2015, refs #3439, refs #5069.

Patch By: Stan
Reviewed By: Itms, vladislavbelov
Differential Revision: https://code.wildfiregames.com/D1262

Note: See TracTickets for help on using tickets.