0028701: Configuration - add support of VS 2017
authorabv <abv@opencascade.com>
Tue, 2 May 2017 05:36:49 +0000 (08:36 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 13 Jul 2017 14:29:45 +0000 (17:29 +0300)
commitd6cda17a42f4df14c37ee1b21c324c93baebb06a
treea66391f5847b3a9738ac7217d577e2a7e101cc40
parentefd535aebfe1e2c14742a95dc29b875d324de319
0028701: Configuration - add support of VS 2017

Added support of Visual Studio 2017 (15) in CMake build procedure.
CMake 3.7.2 or above is required to generate projects for VS 2017.

Since version of compiler and toolset remained at 14 (now they are 14.1), and they use the same run-time, the same third-party products as for VS 2015 (14) can be used.
Also the name of the folder for installation of OCCT binaries in OCCT-standard layout (default on Windows) remains "vc14".

Support of Visual Studio 2017 is added in genproj generator and relevant environment, with format specifier "vc141".

The syntax of the genproj command is revised:
- UWP is considered as separate platform ("uwp" alternative to "wnt"), not part of IDE specification
- Option "IDE" is renamed to "Format"
- Obsolete name of local variable "aWokStation" is replaced by equivalent "theFormat"

In environment scripts, additional variables are defined (derived from VCVER, see adm/vcver.bat):
- VCLIB defines name of the subdirectory specific to VS version; it is the same as VCVER except that for VCVER=vc141 VCLIB=vc14 and for VCVER=141-uwp VCLIB=vc14-uwp
- VCFMT is VCVER without optional suffix "-uwp"
- VCPROP is "NativeDesktop" for normal builds or "Universal" for UWP builds

Command genconf is amended to:
- Detect presence of VS 2017 (separately for desktop and UWP)
- Use only two first digits after "vc" in format specification for search of third-party libs
- Have more space in user interface for VS specification

All supported variants of VCVER variable are documented in dev guides / buiding / msvc
13 files changed:
adm/cmake/occt_macros.cmake
adm/genconf.tcl
adm/genconfdeps.tcl
adm/genproj.tcl
adm/templates/env.bat
adm/templates/msvc.bat
adm/vcver.bat [new file with mode: 0644]
dox/dev_guides/building/msvc.md
genconf.bat
genproj.bat
src/QANCollection/QANCollection_Stl.cxx
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest_CmdParser.cxx