OSDN Git Service

Version 2.00
[vbslib/main.git] / vbslib / VisualStudio.vbs
1 Option Explicit \r
2 \r
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
6 \r
7 \r
8 Dim  g_devenv\r
9 \r
10 Function  InitializeModule\r
11   Set g_devenv = New VS2005\r
12 End Function\r
13 Dim  g_InitializeModule\r
14 Set  g_InitializeModule = GetRef( "InitializeModule" )\r
15 \r
16 \r
17 Const  E_PathNotFound2 = &h80070002\r
18 \r
19 \r
20  \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
26 End Sub\r
27 \r
28  \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
34 End Sub\r
35 \r
36  \r
37 '********************************************************************************\r
38 '  <<< [devenv_clean] Visual Studio 2005 clean >>> \r
39 '********************************************************************************\r
40 Sub  devenv_clean( ByVal sln )\r
41   g_devenv.Clean  sln\r
42 End Sub\r
43 \r
44  \r
45 '********************************************************************************\r
46 '  <<< [VS2005] Class >>> \r
47 '********************************************************************************\r
48 Class  VS2005\r
49 \r
50   Public  m_InstallDir\r
51 \r
52 Private Sub Class_Initialize\r
53   Dim en,ed\r
54 \r
55   On Error Resume Next\r
56 \r
57     m_InstallDir = g_sh.RegRead( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\"+_\r
58        "InstallDir" )\r
59 \r
60   en = Err.Number : ed = Err.Description : On Error GoTo 0\r
61   If en <> 0 Then\r
62     If en = E_PathNotFound2 Then  m_InstallDir = Empty _\r
63     Else   Err.Raise en,,ed\r
64   End If\r
65 \r
66 End Sub\r
67 \r
68 \r
69 Public Sub  devenv( param, config )\r
70   Dim  r, cmdline\r
71 \r
72   If IsEmpty( m_InstallDir ) Then  Exit Sub\r
73 \r
74   cmdline = """" + m_InstallDir + "devenv.exe"" " + param + " """ + config + """"\r
75   r = g_sh.Run( cmdline,, True )\r
76 \r
77   If r <> 0 Then  Err.raise E_BuildFail, "devenv failed " + param + " in " + g_sh.CurrentDirectory\r
78 End Sub\r
79 \r
80 \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
85 End Sub\r
86 \r
87 \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
92 End Sub\r
93 \r
94 \r
95 \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
100   del "Release"\r
101   devenv """"+sln_path+""" /clean", "Debug"\r
102   del "Debug"\r
103   del "*.ncb"\r
104   del "*.suo"\r
105   del "*.user"\r
106 End Sub\r
107 \r
108 End Class\r
109  \r