MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #28701 All Revisions ] Back to Issue ]
Summary 0028701: Configuration - add support of VS 2017
Revision 2017-05-01 22:17 by abv
Description Since Visual Studio 2017 is now released, we need to support it for building OCCT.

There are two problems.

1. Deviating versions of Visual Studio and compiler

Previously, each new release of Visual Studio came with new version of VC++ compiler, and their versions matched each other. This is used by OCCT build system: the same id (VCVER, e.g. "vc10") is used to denote both. With VS 2017, this is not the case anymore: Visual Studio version is 15, but compuler version remains 14 (actuallt, 14.1).

There is one good point in that: compiler has the same major version as in VS 2015, and it uses the same run-time library, thus it is fully compatible with binaries built by VS 2015. This means that, we do not need to regenerate third-party libraries for use with VS 2017: the ones for 2015 can be reused.

However, we need to distinguish now version of Visual Studio (15) and compiler (14.1). It is logical to use id "vc15" for VS 2017, but binaries will be installed to sub-folder "vc14". This can be confusing and we need to think how to avoid this confusion.

2. Visual Studio does not define any more environment varuiable VS1xxCOMNTOOLS

That variable has been used by OCCT old build system (genproj etc.) to detect presence and location of Visual Studio. This is not working any more.

Now the recommended way is to use separate executable, vswhere.exe, which is open source (MIT license) and distributed through GitHub. Since VS 2017.2 it is promised to be installed in dedicated folder (see https://github.com/Microsoft/vswhere/wiki [^]) but until this happened, we would need to store vswhere.exe in OCCT Git...
Revision 2017-04-30 08:47 by abv
Description Since Visual Studio 2017 is now released, we need to support it for building OCCT.



Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker