Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add support for build_all tool. Disable GAC task in setup when the native DLL is necessary. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | build-enhancements |
Files: | files | file ages | folders |
SHA1: |
78aa3287dc0591ba0ef491fe700d70bd |
User & Date: | mistachkin 2011-06-29 13:46:43 |
Context
2011-06-29
| ||
13:58 | Generate a manifest when the setup is built. check-in: 6df1ea20c7 user: mistachkin tags: build-enhancements | |
13:46 | Add support for build_all tool. Disable GAC task in setup when the native DLL is necessary. check-in: 78aa3287dc user: mistachkin tags: build-enhancements | |
11:31 | Enhancements to command line build and test automation. check-in: 046dc70fd1 user: mistachkin tags: build-enhancements | |
Changes
Changes to SQLite.Interop/SQLite.Interop.2010.vcxproj.
230 230 </Link> 231 231 <Manifest> 232 232 <VerboseOutput>true</VerboseOutput> 233 233 <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity> 234 234 <UpdateFileHashes>true</UpdateFileHashes> 235 235 </Manifest> 236 236 <PostBuildEvent> 237 - <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command> 237 + <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command> 238 238 </PostBuildEvent> 239 239 </ItemDefinitionGroup> 240 240 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'"> 241 241 <ClCompile> 242 242 <Optimization>Disabled</Optimization> 243 243 <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions> 244 244 <MinimalRebuild>false</MinimalRebuild> ................................................................................ 264 264 </Link> 265 265 <Manifest> 266 266 <VerboseOutput>true</VerboseOutput> 267 267 <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity> 268 268 <UpdateFileHashes>true</UpdateFileHashes> 269 269 </Manifest> 270 270 <PostBuildEvent> 271 - <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command> 271 + <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command> 272 272 </PostBuildEvent> 273 273 </ItemDefinitionGroup> 274 274 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 275 275 <ClCompile> 276 276 <Optimization>Full</Optimization> 277 277 <IntrinsicFunctions>true</IntrinsicFunctions> 278 278 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> ................................................................................ 387 387 </Link> 388 388 <Manifest> 389 389 <VerboseOutput>true</VerboseOutput> 390 390 <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity> 391 391 <UpdateFileHashes>true</UpdateFileHashes> 392 392 </Manifest> 393 393 <PostBuildEvent> 394 - <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y</Command> 394 + <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command> 395 395 </PostBuildEvent> 396 396 </ItemDefinitionGroup> 397 397 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'"> 398 398 <ClCompile> 399 399 <Optimization>Full</Optimization> 400 400 <IntrinsicFunctions>true</IntrinsicFunctions> 401 401 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> ................................................................................ 424 424 </Link> 425 425 <Manifest> 426 426 <VerboseOutput>true</VerboseOutput> 427 427 <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity> 428 428 <UpdateFileHashes>true</UpdateFileHashes> 429 429 </Manifest> 430 430 <PostBuildEvent> 431 - <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y</Command> 431 + <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command> 432 432 </PostBuildEvent> 433 433 </ItemDefinitionGroup> 434 434 <ItemGroup> 435 435 <ClCompile Include="src\win\AssemblyInfo.cpp"> 436 436 <ExcludedFromBuild>true</ExcludedFromBuild> 437 437 </ClCompile> 438 438 <ClCompile Include="src\win\crypt.c">
Changes to Setup/SQLite.iss.
49 49 Name: Application\LINQ; Description: LINQ support components.; Types: custom compact full 50 50 Name: Application\Symbols; Description: Debugging symbol components.; Types: custom compact full 51 51 Name: Application\Documentation; Description: Documentation components.; Types: custom compact full 52 52 Name: Application\Test; Description: Test components.; Types: custom compact full 53 53 54 54 [Tasks] 55 55 Components: Application\Core\MSIL Or Application\LINQ; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() 56 + 57 +#if Pos("NativeOnly", AppConfiguration) == 0 56 58 Components: Application\Core\MSIL Or Application\LINQ; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() 59 +#endif 57 60 58 61 [Run] 59 62 Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() 60 63 Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() 61 64 Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1) 62 65 Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() 63 66 ................................................................................ 66 69 Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1) 67 70 Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() 68 71 Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() 69 72 70 73 [Dirs] 71 74 Name: {app}\bin 72 75 Name: {app}\doc 76 + 77 +#if Pos("NativeOnly", AppConfiguration) == 0 73 78 Name: {app}\GAC 79 +#endif 74 80 75 81 [Files] 76 82 Components: Application\Core\{#AppProcessor}; Source: ..\Externals\MSVCPP\vcredist_{#AppProcessor}_{#VcRuntime}.exe; DestDir: {tmp}; Flags: dontcopy 77 83 Components: Application; Source: ..\readme.htm; DestDir: {app}; Flags: restartreplace uninsrestartdelete isreadme 84 + 85 +#if Pos("NativeOnly", AppConfiguration) == 0 78 86 Components: Application\Core\MSIL; Tasks: gac; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\GAC; StrongAssemblyName: "System.Data.SQLite, Version={#AppVersion}, Culture=neutral, PublicKeyToken={#AppPublicKey}, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete uninsnosharedfileprompt sharedfile gacinstall 87 +#endif 88 + 79 89 Components: Application\Core\MSIL; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 80 90 Components: Application\Core\MSIL and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 91 + 92 +#if Pos("NativeOnly", AppConfiguration) == 0 81 93 Components: Application\LINQ; Tasks: gac; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\GAC; StrongAssemblyName: "System.Data.SQLite.Linq, Version={#AppVersion}, Culture=neutral, PublicKeyToken={#AppPublicKey}, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete uninsnosharedfileprompt sharedfile gacinstall 94 +#endif 95 + 82 96 Components: Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 83 97 Components: Application\LINQ and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 84 98 85 99 #if Pos("NativeOnly", AppConfiguration) != 0 86 100 Components: Application\Core\{#AppProcessor}; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 87 101 Components: Application\Core\{#AppProcessor} and Application\Symbols; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete 88 102 #endif
Changes to Setup/bake_all.bat.
39 39 IF NOT DEFINED PROCESSORS ( 40 40 SET PROCESSORS=x86 41 41 ) 42 42 43 43 %_VECHO% Processors = '%PROCESSORS%' 44 44 45 45 IF NOT DEFINED YEARS ( 46 - SET YEARS=2010 46 + SET YEARS=2008 47 47 ) 48 48 49 49 %_VECHO% Years = '%YEARS%' 50 50 51 51 FOR %%C IN (%CONFIGURATIONS%) DO ( 52 52 FOR %%P IN (%PROCESSORS%) DO ( 53 53 FOR %%Y IN (%YEARS%) DO ( 54 54 %_ECHO% CALL "%TOOLS%\set_%%C_%%P_%%Y.bat" 55 - 55 + 56 56 IF ERRORLEVEL 1 ( 57 57 ECHO Could not set variables for %%C/%%P/%%Y. 58 58 GOTO errors 59 59 ) 60 - 60 + 61 61 %_ECHO% CALL "%TOOLS%\bake.bat" 62 - 62 + 63 63 IF ERRORLEVEL 1 ( 64 64 ECHO Could not bake setup for %%C/%%P/%%Y. 65 65 GOTO errors 66 66 ) 67 67 ) 68 68 ) 69 69 )
Changes to Setup/build.bat.
171 171 ) 172 172 173 173 %_VECHO% LogSuffix = '%LOGSUFFIX%' 174 174 175 175 IF DEFINED LOGGING GOTO skip_setLogging 176 176 IF DEFINED NOLOG GOTO skip_setLogging 177 177 178 -SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%LOGSUFFIX%.log;Verbosity=diagnostic" 178 +SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%YEAR%_%LOGSUFFIX%.log;Verbosity=diagnostic" 179 179 180 180 :skip_setLogging 181 181 182 182 %_VECHO% Logging = '%LOGGING%' 183 183 184 184 %_ECHO% MSBuild.exe "%SOLUTION%" "/target:%TARGET%" "/property:Configuration=%CONFIGURATION%" "/property:Platform=%PLATFORM%" %LOGGING% %MSBUILD_ARGS% 185 185
Added Setup/build_all.bat.
1 +@ECHO OFF 2 + 3 +:: 4 +:: build_all.bat -- 5 +:: 6 +:: Multi-MSBuild Wrapper Tool 7 +:: 8 +:: Written by Joe Mistachkin. 9 +:: Released to the public domain, use at your own risk! 10 +:: 11 + 12 +SETLOCAL 13 + 14 +REM SET _ECHO=ECHO 15 +IF NOT DEFINED _AECHO (SET _AECHO=REM) 16 +IF NOT DEFINED _CECHO (SET _CECHO=REM) 17 +IF NOT DEFINED _VECHO (SET _VECHO=REM) 18 + 19 +%_AECHO% Running %0 %* 20 + 21 +SET TOOLS=%~dp0 22 +SET TOOLS=%TOOLS:~0,-1% 23 + 24 +%_VECHO% Tools = '%TOOLS%' 25 + 26 +%_ECHO% CALL "%TOOLS%\set_common.bat" 27 + 28 +IF ERRORLEVEL 1 ( 29 + ECHO Could not set common variables. 30 + GOTO errors 31 +) 32 + 33 +IF NOT DEFINED CONFIGURATIONS ( 34 + SET CONFIGURATIONS=Release 35 +) 36 + 37 +%_VECHO% Configurations = '%CONFIGURATIONS%' 38 + 39 +IF NOT DEFINED PROCESSORS ( 40 + SET PROCESSORS=x86 41 +) 42 + 43 +%_VECHO% Processors = '%PROCESSORS%' 44 + 45 +IF NOT DEFINED YEARS ( 46 + SET YEARS=2008 47 +) 48 + 49 +%_VECHO% Years = '%YEARS%' 50 + 51 +FOR %%C IN (%CONFIGURATIONS%) DO ( 52 + FOR %%P IN (%PLATFORMS%) DO ( 53 + FOR %%Y IN (%YEARS%) DO ( 54 + %_ECHO% CALL "%TOOLS%\set_%%Y.bat" 55 + 56 + IF ERRORLEVEL 1 ( 57 + ECHO Could not set variables for %%Y. 58 + GOTO errors 59 + ) 60 + 61 + %_ECHO% CALL "%TOOLS%\build.bat" "%%C" "%%P" 62 + 63 + IF ERRORLEVEL 1 ( 64 + ECHO Could not build binaries for %%C/%%P/%%Y. 65 + GOTO errors 66 + ) 67 + ) 68 + ) 69 +) 70 + 71 +GOTO no_errors 72 + 73 +:fn_ResetErrorLevel 74 + VERIFY > NUL 75 + GOTO :EOF 76 + 77 +:fn_SetErrorLevel 78 + VERIFY MAYBE 2> NUL 79 + GOTO :EOF 80 + 81 +:errors 82 + CALL :fn_SetErrorLevel 83 + ENDLOCAL 84 + ECHO. 85 + ECHO Failure, errors were encountered. 86 + GOTO end_of_file 87 + 88 +:no_errors 89 + CALL :fn_ResetErrorLevel 90 + ENDLOCAL 91 + ECHO. 92 + ECHO Success, no errors were encountered. 93 + GOTO end_of_file 94 + 95 +:end_of_file 96 +%_ECHO% EXIT /B %ERRORLEVEL%
Added Setup/set_2008.bat.
1 +@ECHO OFF 2 + 3 +:: 4 +:: set_2008.bat -- 5 +:: 6 +:: Written by Joe Mistachkin. 7 +:: Released to the public domain, use at your own risk! 8 +:: 9 + 10 +SET NETFX20ONLY= 11 +SET NETFX40ONLY= 12 +SET NETFX35ONLY=1
Added Setup/set_2010.bat.
1 +@ECHO OFF 2 + 3 +:: 4 +:: set_2010.bat -- 5 +:: 6 +:: Written by Joe Mistachkin. 7 +:: Released to the public domain, use at your own risk! 8 +:: 9 + 10 +SET NETFX20ONLY= 11 +SET NETFX35ONLY= 12 +SET NETFX40ONLY=1
Changes to Setup/set_Release.bat.
3 3 :: 4 4 :: set_Release.bat -- 5 5 :: 6 6 :: Written by Joe Mistachkin. 7 7 :: Released to the public domain, use at your own risk! 8 8 :: 9 9 10 -REM 11 -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build 12 -REM system. This is very important because we want to ship binaries 13 -REM that only rely upon the .NET Framework 2.0 which is very widely 14 -REM deployed and because those binaries will also work with projects 15 -REM using the .NET Framework 4.0. 16 -REM 17 -SET NETFX35ONLY=1 18 10 REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5 19 -SET YEAR=2008 20 -SET YEARS=%YEAR% 21 - 22 -ECHO WARNING: Forcing the use of the .NET Framework 3.5...
Changes to Setup/set_ReleaseNativeOnly.bat.
3 3 :: 4 4 :: set_ReleaseNativeOnly.bat -- 5 5 :: 6 6 :: Written by Joe Mistachkin. 7 7 :: Released to the public domain, use at your own risk! 8 8 :: 9 9 10 -REM 11 -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build 12 -REM system. This is very important because we want to ship binaries 13 -REM that only rely upon the .NET Framework 2.0 which is very widely 14 -REM deployed and because those binaries will also work with projects 15 -REM using the .NET Framework 4.0. 16 -REM 17 -SET NETFX35ONLY=1 18 10 REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5 19 -SET YEAR=2008 20 -SET YEARS=%YEAR% 21 - 22 -ECHO WARNING: Forcing the use of the .NET Framework 3.5...
Changes to Setup/set_common.bat.
16 16 ) 17 17 18 18 IF NOT DEFINED PUBLICKEY ( 19 19 SET PUBLICKEY=db937bc2d44ff139 20 20 ) 21 21 22 22 IF NOT DEFINED CONFIGURATIONS ( 23 - SET CONFIGURATIONS=Release 23 + SET CONFIGURATIONS=Release ReleaseNativeOnly 24 +) 25 + 26 +IF NOT DEFINED PLATFORMS ( 27 + SET PLATFORMS=Win32 x64 24 28 ) 25 29 26 30 IF NOT DEFINED PROCESSORS ( 27 31 SET PROCESSORS=x86 x64 28 32 ) 29 33 30 34 IF NOT DEFINED YEARS ( 31 - SET YEARS=2008 35 + SET YEARS=2008 2010 32 36 )