Index: SQLite.Interop/SQLite.Interop.2010.vcxproj ================================================================== --- SQLite.Interop/SQLite.Interop.2010.vcxproj +++ SQLite.Interop/SQLite.Interop.2010.vcxproj @@ -232,11 +232,11 @@ true $(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32 true - XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y + XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y Disabled @@ -266,11 +266,11 @@ true $(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32 true - XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y + XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y Full @@ -389,11 +389,11 @@ true $(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32 true - XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y + XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y Full @@ -426,11 +426,11 @@ true $(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32 true - XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y + XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y true Index: Setup/SQLite.iss ================================================================== --- Setup/SQLite.iss +++ Setup/SQLite.iss @@ -51,11 +51,14 @@ Name: Application\Documentation; Description: Documentation components.; Types: custom compact full Name: Application\Test; Description: Test components.; Types: custom compact full [Tasks] 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() + +#if Pos("NativeOnly", AppConfiguration) == 0 Components: Application\Core\MSIL Or Application\LINQ; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() +#endif [Run] Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() 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) @@ -68,19 +71,30 @@ Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() [Dirs] Name: {app}\bin Name: {app}\doc + +#if Pos("NativeOnly", AppConfiguration) == 0 Name: {app}\GAC +#endif [Files] Components: Application\Core\{#AppProcessor}; Source: ..\Externals\MSVCPP\vcredist_{#AppProcessor}_{#VcRuntime}.exe; DestDir: {tmp}; Flags: dontcopy Components: Application; Source: ..\readme.htm; DestDir: {app}; Flags: restartreplace uninsrestartdelete isreadme + +#if Pos("NativeOnly", AppConfiguration) == 0 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 +#endif + Components: Application\Core\MSIL; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\MSIL and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete + +#if Pos("NativeOnly", AppConfiguration) == 0 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 +#endif + Components: Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\LINQ and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete #if Pos("NativeOnly", AppConfiguration) != 0 Components: Application\Core\{#AppProcessor}; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Index: Setup/bake_all.bat ================================================================== --- Setup/bake_all.bat +++ Setup/bake_all.bat @@ -41,27 +41,27 @@ ) %_VECHO% Processors = '%PROCESSORS%' IF NOT DEFINED YEARS ( - SET YEARS=2010 + SET YEARS=2008 ) %_VECHO% Years = '%YEARS%' FOR %%C IN (%CONFIGURATIONS%) DO ( FOR %%P IN (%PROCESSORS%) DO ( FOR %%Y IN (%YEARS%) DO ( %_ECHO% CALL "%TOOLS%\set_%%C_%%P_%%Y.bat" - + IF ERRORLEVEL 1 ( ECHO Could not set variables for %%C/%%P/%%Y. GOTO errors ) - + %_ECHO% CALL "%TOOLS%\bake.bat" - + IF ERRORLEVEL 1 ( ECHO Could not bake setup for %%C/%%P/%%Y. GOTO errors ) ) Index: Setup/build.bat ================================================================== --- Setup/build.bat +++ Setup/build.bat @@ -173,11 +173,11 @@ %_VECHO% LogSuffix = '%LOGSUFFIX%' IF DEFINED LOGGING GOTO skip_setLogging IF DEFINED NOLOG GOTO skip_setLogging -SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%LOGSUFFIX%.log;Verbosity=diagnostic" +SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%YEAR%_%LOGSUFFIX%.log;Verbosity=diagnostic" :skip_setLogging %_VECHO% Logging = '%LOGGING%' ADDED Setup/build_all.bat Index: Setup/build_all.bat ================================================================== --- /dev/null +++ Setup/build_all.bat @@ -0,0 +1,96 @@ +@ECHO OFF + +:: +:: build_all.bat -- +:: +:: Multi-MSBuild Wrapper Tool +:: +:: Written by Joe Mistachkin. +:: Released to the public domain, use at your own risk! +:: + +SETLOCAL + +REM SET _ECHO=ECHO +IF NOT DEFINED _AECHO (SET _AECHO=REM) +IF NOT DEFINED _CECHO (SET _CECHO=REM) +IF NOT DEFINED _VECHO (SET _VECHO=REM) + +%_AECHO% Running %0 %* + +SET TOOLS=%~dp0 +SET TOOLS=%TOOLS:~0,-1% + +%_VECHO% Tools = '%TOOLS%' + +%_ECHO% CALL "%TOOLS%\set_common.bat" + +IF ERRORLEVEL 1 ( + ECHO Could not set common variables. + GOTO errors +) + +IF NOT DEFINED CONFIGURATIONS ( + SET CONFIGURATIONS=Release +) + +%_VECHO% Configurations = '%CONFIGURATIONS%' + +IF NOT DEFINED PROCESSORS ( + SET PROCESSORS=x86 +) + +%_VECHO% Processors = '%PROCESSORS%' + +IF NOT DEFINED YEARS ( + SET YEARS=2008 +) + +%_VECHO% Years = '%YEARS%' + +FOR %%C IN (%CONFIGURATIONS%) DO ( + FOR %%P IN (%PLATFORMS%) DO ( + FOR %%Y IN (%YEARS%) DO ( + %_ECHO% CALL "%TOOLS%\set_%%Y.bat" + + IF ERRORLEVEL 1 ( + ECHO Could not set variables for %%Y. + GOTO errors + ) + + %_ECHO% CALL "%TOOLS%\build.bat" "%%C" "%%P" + + IF ERRORLEVEL 1 ( + ECHO Could not build binaries for %%C/%%P/%%Y. + GOTO errors + ) + ) + ) +) + +GOTO no_errors + +:fn_ResetErrorLevel + VERIFY > NUL + GOTO :EOF + +:fn_SetErrorLevel + VERIFY MAYBE 2> NUL + GOTO :EOF + +:errors + CALL :fn_SetErrorLevel + ENDLOCAL + ECHO. + ECHO Failure, errors were encountered. + GOTO end_of_file + +:no_errors + CALL :fn_ResetErrorLevel + ENDLOCAL + ECHO. + ECHO Success, no errors were encountered. + GOTO end_of_file + +:end_of_file +%_ECHO% EXIT /B %ERRORLEVEL% ADDED Setup/set_2008.bat Index: Setup/set_2008.bat ================================================================== --- /dev/null +++ Setup/set_2008.bat @@ -0,0 +1,12 @@ +@ECHO OFF + +:: +:: set_2008.bat -- +:: +:: Written by Joe Mistachkin. +:: Released to the public domain, use at your own risk! +:: + +SET NETFX20ONLY= +SET NETFX40ONLY= +SET NETFX35ONLY=1 ADDED Setup/set_2010.bat Index: Setup/set_2010.bat ================================================================== --- /dev/null +++ Setup/set_2010.bat @@ -0,0 +1,12 @@ +@ECHO OFF + +:: +:: set_2010.bat -- +:: +:: Written by Joe Mistachkin. +:: Released to the public domain, use at your own risk! +:: + +SET NETFX20ONLY= +SET NETFX35ONLY= +SET NETFX40ONLY=1 Index: Setup/set_Release.bat ================================================================== --- Setup/set_Release.bat +++ Setup/set_Release.bat @@ -5,18 +5,6 @@ :: :: Written by Joe Mistachkin. :: Released to the public domain, use at your own risk! :: -REM -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build -REM system. This is very important because we want to ship binaries -REM that only rely upon the .NET Framework 2.0 which is very widely -REM deployed and because those binaries will also work with projects -REM using the .NET Framework 4.0. -REM -SET NETFX35ONLY=1 REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5 -SET YEAR=2008 -SET YEARS=%YEAR% - -ECHO WARNING: Forcing the use of the .NET Framework 3.5... Index: Setup/set_ReleaseNativeOnly.bat ================================================================== --- Setup/set_ReleaseNativeOnly.bat +++ Setup/set_ReleaseNativeOnly.bat @@ -5,18 +5,6 @@ :: :: Written by Joe Mistachkin. :: Released to the public domain, use at your own risk! :: -REM -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build -REM system. This is very important because we want to ship binaries -REM that only rely upon the .NET Framework 2.0 which is very widely -REM deployed and because those binaries will also work with projects -REM using the .NET Framework 4.0. -REM -SET NETFX35ONLY=1 REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5 -SET YEAR=2008 -SET YEARS=%YEAR% - -ECHO WARNING: Forcing the use of the .NET Framework 3.5... Index: Setup/set_common.bat ================================================================== --- Setup/set_common.bat +++ Setup/set_common.bat @@ -18,15 +18,19 @@ IF NOT DEFINED PUBLICKEY ( SET PUBLICKEY=db937bc2d44ff139 ) IF NOT DEFINED CONFIGURATIONS ( - SET CONFIGURATIONS=Release + SET CONFIGURATIONS=Release ReleaseNativeOnly +) + +IF NOT DEFINED PLATFORMS ( + SET PLATFORMS=Win32 x64 ) IF NOT DEFINED PROCESSORS ( SET PROCESSORS=x86 x64 ) IF NOT DEFINED YEARS ( - SET YEARS=2008 + SET YEARS=2008 2010 )