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
)