Skip to content

Commit d0138b1

Browse files
authored
add F#-specific command line initialization batch file for Dev15 (#1567)
1 parent 5c89c48 commit d0138b1

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

setup/FSharp.SDK/component-groups/Compiler_Redist.wxs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
</Component>
112112

113113
<Component Id="Compiler_Redist_RegistryKeys_CompilerLocation" Guid="$(fsharp.guid(Compiler_Redist_RegistryKeys_CompilerLocation, $(var.LocaleCode)))">
114+
<Environment Id="Compiler_Redist_FSHARPINSTALLDIR_Environment_Variable" Name="FSHARPINSTALLDIR" Value="[MicrosoftSDKs_FS_4.1_Framework_v4.0]" />
114115
<RegistryKey Root="HKLM" Key="Software\Microsoft\FSharp\4.1\Runtime\v4.0" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
115116
<RegistryValue Value="[MicrosoftSDKs_FS_4.1_Framework_v4.0]" Type="string" />
116117
</RegistryKey>

setup/Swix/Microsoft.FSharp.Dependencies/Files.swr

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ folder "InstallDir:Common7\IDE\NewFileItems"
3232
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\NewFSharpFileItems.vsdir"
3333
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\File.fs"
3434
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\Script.fsx"
35+
36+
folder "InstallDir:Common7\Tools\VsDevCmd\Ext"
37+
file source="fsharp.bat"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
if "%VSCMD_TEST%" NEQ "" goto :test
2+
if "%VSCMD_ARG_CLEAN_ENV%" NEQ "" goto :clean_env
3+
4+
if "%FSHARPINSTALLDIR%" NEQ "" set "PATH=%FSHARPINSTALLDIR%;%PATH%"
5+
6+
goto :end
7+
8+
:test
9+
10+
set __VSCMD_TEST_FSHARP_STATUS=pass
11+
12+
@REM ******************************************************************
13+
@REM basic environment validation cases go here
14+
@REM ******************************************************************
15+
16+
where fsc.exe
17+
if "%ERRORLEVEL%" NEQ "0" (
18+
@echo [ERROR:%~nx0] Unable to find F# compiler via 'where fsc.exe'.
19+
set __VSCMD_TEST_FSHARP_STATUS=fail
20+
)
21+
22+
where fsi.exe
23+
if "%ERRORLEVEL%" NEQ "0" (
24+
@echo [ERROR:%~nx0] Unable to find F# Interactive via 'where fsi.exe'.
25+
set __VSCMD_TEST_FSHARP_STATUS=fail
26+
)
27+
28+
@REM return value other than 0 if tests failed.
29+
if "%__VSCMD_TEST_FSHARP_STATUS%" NEQ "pass" (
30+
set __VSCMD_TEST_FSHARP_STATUS=
31+
exit /B 1
32+
)
33+
34+
set __VSCMD_TEST_FSHARP_STATUS=
35+
exit /B 0
36+
37+
:clean_env
38+
39+
@REM Script only adds to PATH, no custom action required for -clean_env
40+
@REM vsdevcmd.bat will clean-up this variable.
41+
42+
goto :end
43+
:end
44+
45+
exit /B 0

0 commit comments

Comments
 (0)