findmsvccompiler: look for same VS version that scilab instead of newer version
[scilab.git] / scilab / modules / dynamic_link / macros / windows / dlwFindMsVcCompiler.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) DIGITEO - 2010 - Allan CORNET
3 // Copyright (C) Scilab Enterprises - 2014 - Antoine ELIAS
4 //
5 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13
14 //=============================================================================
15 function MSCompiler = dlwFindMsVcCompiler()
16     MSCompiler = "unknown"; // unknown
17
18     // We use always last version of MS compiler
19
20     val = getenv("SCILAB_PREFERED_MSVC", "");
21     if val <> "" then
22         funcs = list(dlwIsVc14Express,dlwIsVc12Pro,dlwIsVc14Express,dlwIsVc12Pro,dlwIsVc11Express,dlwIsVc11Pro,dlwIsVc10Express,dlwIsVc10Pro);
23         compilers = [ ...
24         "msvc140express";
25         "msvc140pro";
26         "msvc120express";
27         "msvc120pro";
28         "msvc110express";
29         "msvc110pro";
30         "msvc100express";
31         "msvc100pro";];
32         idx = find(val == compilers);
33         if idx <> [] then
34             func = funcs(idx);
35             if func() then
36                 MSCompiler = val;
37                 return;
38             end
39         end
40     end
41
42     if dlwIsVc12Express() then
43         MSCompiler = "msvc120express";     // Microsoft Visual 2013 Express
44         return;
45     end
46
47     if dlwIsVc12Pro() then
48         MSCompiler = "msvc120pro";       // Microsoft Visual 2013 Professional (or more)
49         return;
50     end
51
52     if dlwIsVc14Express() then
53         MSCompiler = "msvc140express";     // Microsoft Visual 2015 Express
54         return;
55     end
56
57     if dlwIsVc14Pro() then
58         MSCompiler = "msvc140pro";       // Microsoft Visual 2015 Professional / Community (or more)
59         return;
60     end
61
62     if dlwIsVc11Express() then
63         MSCompiler = "msvc110express";     // Microsoft Visual 2012 Express
64         return;
65     end
66
67     if dlwIsVc11Pro() then
68         MSCompiler = "msvc110pro";       // Microsoft Visual 2012 Professional (or more)
69         return;
70     end
71
72     if dlwIsVc10Pro() & dlwIsVc10Express() then
73         MSCompiler = "msvc100express";     // Microsoft Visual 2010 Express with SDK extension
74         return;
75     end
76
77     if dlwIsVc10Express() then
78         MSCompiler = "msvc100express";     // Microsoft Visual 2010 Express
79         return;
80     end
81
82     if dlwIsVc10Pro() then
83         MSCompiler = "msvc100pro";       // Microsoft Visual 2010 Professional (or more)
84         return;
85     end
86
87     if dlwIsVc90Pro() then
88         MSCompiler = "msvc90pro";      // Microsoft Visual 2008 Studio Professional
89         return;
90     end
91
92     if dlwIsVc90Std() then
93         MSCompiler = "msvc90std";      // Microsoft Visual 2008 Studio Standard
94         return;
95     end
96
97     if dlwIsVc90Express() then
98         MSCompiler = "msvc90express";    // Microsoft Visual 2008 Express
99         return;
100     end
101
102     if dlwIsVc80Pro() then
103         MSCompiler = "msvc80pro";      // Microsoft Visual 2005 Studio Professional
104         return;
105     end
106
107     if dlwIsVc80Std() then
108         MSCompiler = "msvc80std";      // Microsoft Visual 2005 Studio Standard
109         return;
110     end
111
112     if dlwIsVc80Express() then
113         MSCompiler = "msvc80express";    // Microsoft Visual 2005 Express
114         return;
115     end
116
117     if dlwIsVc71() then
118         MSCompiler = "msvc71";         // Microsoft Visual Studio .NET 2003
119         return;
120     end
121
122     if dlwIsVc70() then
123         MSCompiler = "msvc70";         // Microsoft Visual Studio .NET 2002
124         return;
125     end
126 endfunction
127 //=============================================================================