3 ' vbslib ver2.00 2008/8/17
\r
4 ' Copyright (c) 2008, T's-Neko
\r
5 ' All rights reserved. 3-clause BSD license.
\r
10 Function InitializeModule
\r
11 Set g_devenv = New VS2005
\r
13 Dim g_InitializeModule
\r
14 Set g_InitializeModule = GetRef( "InitializeModule" )
\r
17 Const E_PathNotFound2 = &h80070002
\r
21 '********************************************************************************
\r
22 ' <<< [devenv_rebuild] Visual Studio 2005 command line build >>>
\r
23 '********************************************************************************
\r
24 Sub devenv_rebuild( sln_path, config )
\r
25 g_devenv.Rebuild sln_path, config
\r
29 '********************************************************************************
\r
30 ' <<< [devenv_build] Visual Studio 2005 command line build >>>
\r
31 '********************************************************************************
\r
32 Sub devenv_build( sln_path, config )
\r
33 g_devenv.Build sln_path, config
\r
37 '********************************************************************************
\r
38 ' <<< [devenv_clean] Visual Studio 2005 clean >>>
\r
39 '********************************************************************************
\r
40 Sub devenv_clean( ByVal sln )
\r
45 '********************************************************************************
\r
46 ' <<< [VS2005] Class >>>
\r
47 '********************************************************************************
\r
52 Private Sub Class_Initialize
\r
55 On Error Resume Next
\r
57 m_InstallDir = g_sh.RegRead( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\"+_
\r
60 en = Err.Number : ed = Err.Description : On Error GoTo 0
\r
62 If en = E_PathNotFound2 Then m_InstallDir = Empty _
\r
63 Else Err.Raise en,,ed
\r
69 Public Sub devenv( param, config )
\r
72 If IsEmpty( m_InstallDir ) Then Exit Sub
\r
74 cmdline = """" + m_InstallDir + "devenv.exe"" " + param + " """ + config + """"
\r
75 r = g_sh.Run( cmdline,, True )
\r
77 If r <> 0 Then Err.raise E_BuildFail, "devenv failed " + param + " in " + g_sh.CurrentDirectory
\r
81 Public Sub Rebuild( sln_path, config )
\r
82 echo_c "devenv.exe """+sln_path+""" /rebuild "+config
\r
83 echo_c " (if cl.exe was already run background by stop build, it may be fail.)"
\r
84 devenv """" + sln_path + """ /rebuild", config
\r
88 Public Sub Build( sln_path, config )
\r
89 echo_c "devenv.exe """+sln_path+""" /build "+config
\r
90 echo_c " (if cl.exe was already run background by stop build, it may be fail.)"
\r
91 devenv """" + sln_path + """ /build", config
\r
96 Sub Clean( ByVal sln_path )
\r
97 If not g_fs.FileExists( sln_path ) Then Err.Raise E_FileNotExist,,"Not found : " + sln_path
\r
98 echo_c "devenv.exe """+sln_path+""" /clean *"
\r
99 devenv """"+sln_path+""" /clean", "Release"
\r
101 devenv """"+sln_path+""" /clean", "Debug"
\r