Changeset View
Changeset View
Standalone View
Standalone View
app/windows/kdevelop-msvc.bat
1 | @echo off | 1 | @echo off | ||
---|---|---|---|---|---|
2 | 2 | | |||
3 | setlocal enabledelayedexpansion | 3 | setlocal enabledelayedexpansion | ||
4 | setlocal enableextensions | 4 | setlocal enableextensions | ||
5 | 5 | | |||
6 | if DEFINED VS140COMNTOOLS ( | 6 | REM Check for newest VS (2017) too. These variables are defined if the script is run from Developer Command Prompt | ||
7 | IF NOT DEFINED VS150COMNTOOLS ( | ||||
8 | REM load Visual Studio 2017 developer command prompt if VS150COMNTOOLS is not set. It's ugly and hardcoded too. | ||||
9 | for %%n in (Enterprise Professional Community BuildTools) do ( | ||||
10 | set "p=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\%%n\Common7\Tools\" | ||||
11 | if exist "!p!\VsDevCmd.bat" ( | ||||
12 | set "VS150COMNTOOLS=!p!" | ||||
13 | goto :end | ||||
14 | ) | ||||
15 | ) | ||||
16 | ) | ||||
17 | :end | ||||
18 | | ||||
19 | set base= | ||||
20 | if DEFINED VS150COMNTOOLS ( | ||||
21 | set "base=%VS150COMNTOOLS%" | ||||
22 | ) else ( IF DEFINED VS140COMNTOOLS ( | ||||
7 | set "base=%VS140COMNTOOLS%" | 23 | set "base=%VS140COMNTOOLS%" | ||
8 | ) else ( IF DEFINED VS120COMNTOOLS ( | 24 | ) else ( IF DEFINED VS120COMNTOOLS ( | ||
9 | set "base=%VS120COMNTOOLS%" | 25 | set "base=%VS120COMNTOOLS%" | ||
10 | ) else ( IF DEFINED VS110COMNTOOLS ( | 26 | ) else ( IF DEFINED VS110COMNTOOLS ( | ||
11 | set "base=%VS110COMNTOOLS%" | 27 | set "base=%VS110COMNTOOLS%" | ||
12 | ) else ( IF DEFINED VS100COMNTOOLS ( | 28 | ) else ( IF DEFINED VS100COMNTOOLS ( | ||
13 | set "base=%VS100COMNTOOLS%" | 29 | set "base=%VS100COMNTOOLS%" | ||
14 | ) else ( | 30 | ) )))) | ||
15 | START CMD /C "The Microsoft Visual C++ compiler was not found on your system, you might not be able to compile programs. && PAUSE" | 31 | | ||
16 | ) ))) | 32 | if NOT DEFINED base ( | ||
33 | START CMD /C "echo The Microsoft Visual C++ compiler was not found on your system, you might not be able to compile programs. && PAUSE" | ||||
34 | ) | ||||
35 | | ||||
36 | echo Found VS Install: %base% | ||||
37 | | ||||
38 | if DEFINED VS150COMNTOOLS ( | ||||
39 | REM Note: VS2017 has a different directory layout compared to previous versions | ||||
40 | set "vcvarsall=%base%..\..\VC\Auxiliary\Build\vcvarsall.bat" | ||||
41 | REM Choosing architecture | ||||
42 | echo Note: Refer to !vcvarsall! for more information | ||||
43 | echo( | ||||
44 | echo Define which compiler for VS2017 to use. Possible architectures are: | ||||
45 | echo x86_amd64 | ||||
46 | echo x64 | ||||
47 | echo ... | ||||
48 | set /p "arch= Type an arch and press enter...: " | ||||
17 | 49 | | |||
50 | set script="!vcvarsall!" !arch! | ||||
51 | ) else ( IF DEFINED base ( | ||||
18 | set script="!base!\..\..\VC\vcvarsall.bat" | 52 | set script="!base!\..\..\VC\vcvarsall.bat" | ||
53 | ) ) | ||||
54 | | ||||
55 | if DEFINED script ( | ||||
19 | call %script% | 56 | call %script% | ||
57 | ) | ||||
20 | 58 | | |||
21 | for /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\KDE\KDevelop" /v Install_Dir 2^>nul`) DO ( | 59 | for /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\KDE\KDevelop" /v Install_Dir 2^>nul`) DO ( | ||
22 | set appdir=%%A %%B | 60 | set appdir=%%A %%B | ||
23 | ) | 61 | ) | ||
24 | 62 | | |||
25 | if NOT DEFINED appdir ( | 63 | if NOT DEFINED appdir ( | ||
26 | for /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\KDE\KDevelop" /v Install_Dir 2^>nul`) DO ( | 64 | for /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\KDE\KDevelop" /v Install_Dir 2^>nul`) DO ( | ||
27 | set appdir=%%A %%B | 65 | set appdir=%%A %%B | ||
28 | ) | 66 | ) | ||
29 | ) | 67 | ) | ||
30 | 68 | | |||
31 | start "" "%appdir%\bin\kdevelop.exe" | 69 | start "" "%appdir%\bin\kdevelop.exe" |