System.Data.SQLite

Check-in [c2deab8b62]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add special tools capable of building all binaries out-of-the-box using Visual Studio 2022.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c2deab8b6237791f46326ab31c3e2c273edbc81a
User & Date: mistachkin 2025-01-20 21:18:33.064
Context
2025-01-20
21:38
When building using Visual Studio 2022, forcibly use the .NET Framework 4.0 to avoid issues on machines that do not have all the Developer Packs installed. check-in: 5f24381e5b user: mistachkin tags: trunk
21:18
Add special tools capable of building all binaries out-of-the-box using Visual Studio 2022. check-in: c2deab8b62 user: mistachkin tags: trunk
2025-01-18
03:51
Fix a typo in the previous check-in. check-in: ae10148ec8 user: mistachkin tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Added Setup/build_vs_2022.bat.




































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
@ECHO OFF

::
:: build_vs_2022.bat --
::
:: Wrapper Tool for MSBuild
::
:: Written by Joe Mistachkin.
:: Released to the public domain, use at your own risk!
::

SETLOCAL

REM SET __ECHO=ECHO
REM SET __ECHO2=ECHO
REM SET __ECHO3=ECHO
IF NOT DEFINED _AECHO (SET _AECHO=REM)
IF NOT DEFINED _CECHO (SET _CECHO=REM)
IF NOT DEFINED _CECHO2 (SET _CECHO2=REM)
IF NOT DEFINED _CECHO3 (SET _CECHO3=REM)
IF NOT DEFINED _VECHO (SET _VECHO=REM)

SET ROOT=%~dp0\..
SET ROOT=%ROOT:\\=\%

%_VECHO% Root = '%ROOT%'

SET TOOLS=%~dp0
SET TOOLS=%TOOLS:~0,-1%

%_VECHO% Tools = '%TOOLS%'

IF DEFINED CONFIGURATION (
  CALL :fn_UnquoteVariable CONFIGURATION
) ELSE (
  %_AECHO% No configuration specified, using default...
  SET CONFIGURATION=Release
)

%_VECHO% Configuration = '%CONFIGURATION%'

CALL :fn_CopyVariable CONFIGURATION BASE_CONFIGURATION
CALL :fn_CopyVariable CONFIGURATION EXTRA_CONFIGURATION

SET BASE_CONFIGURATION=%BASE_CONFIGURATION:All=%
SET BASE_CONFIGURATION=%BASE_CONFIGURATION:Dll=%
SET BASE_CONFIGURATION=%BASE_CONFIGURATION:ManagedOnly=%
SET BASE_CONFIGURATION=%BASE_CONFIGURATION:NativeOnly=%
SET BASE_CONFIGURATION=%BASE_CONFIGURATION:Static=%

%_VECHO% BaseConfiguration = '%BASE_CONFIGURATION%'

IF NOT DEFINED PLATFORM_TOOLSET (
  SET PLATFORM_TOOLSET=v143
)

%_VECHO% PlatformToolset = '%PLATFORM_TOOLSET%'

REM
REM HACK: Prevent errors from the NuGet restore process from breaking the
REM       build.
REM
SET NOUSEPACKAGERESTORE=1

%_VECHO% NoUsePackageRestore = '%NOUSEPACKAGERESTORE%'
%_AECHO% WARNING: FORCIBLY DISABLED NUGET PACKAGE RESTORATION.

REM
REM HACK: Forcibly change the platform toolset for the native projects so
REM       it can build with Visual Studio 2022.
REM
%_CECHO% "%ROOT%\Externals\Eagle\bin\netFramework40\EagleShell.exe" -preInitialize "set whatIf false" -file "%TOOLS%\changePlatformToolset.eagle" "%PLATFORM_TOOLSET%"
%__ECHO% "%ROOT%\Externals\Eagle\bin\netFramework40\EagleShell.exe" -preInitialize "set whatIf false" -file "%TOOLS%\changePlatformToolset.eagle" "%PLATFORM_TOOLSET%"

IF ERRORLEVEL 1 (
  ECHO Failed to change platform toolsets.
  GOTO errors
)

%_CECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%ManagedOnly" %*
%__ECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%ManagedOnly" %*

IF ERRORLEVEL 1 (
  ECHO Failed to build managed binaries.
  GOTO errors
)

%_CECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%NativeOnly" Win32 %*
%__ECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%NativeOnly" Win32 %*

IF ERRORLEVEL 1 (
  ECHO Failed to build native binaries for Win32.
  GOTO errors
)

%_CECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%NativeOnly" x64 %*
%__ECHO% CALL "%TOOLS%\build.bat" "%BASE_CONFIGURATION%NativeOnly" x64 %*

IF ERRORLEVEL 1 (
  ECHO Failed to build native binaries for x64.
  GOTO errors
)

GOTO no_errors

:fn_CopyVariable
  IF NOT DEFINED %1 GOTO :EOF
  IF "%2" == "" GOTO :EOF
  SETLOCAL
  SET __ECHO_CMD=ECHO %%%1%%
  FOR /F "delims=" %%V IN ('%__ECHO_CMD%') DO (
    SET VALUE=%%V
  )
  ENDLOCAL && SET %2=%VALUE%
  GOTO :EOF

:fn_ResetErrorLevel
  VERIFY > NUL
  GOTO :EOF

:fn_SetErrorLevel
  VERIFY MAYBE 2> NUL
  GOTO :EOF

:usage
  ECHO.
  ECHO Usage: %~nx0 [...]
  ECHO.
  GOTO errors

:errors
  CALL :fn_SetErrorLevel
  ENDLOCAL
  ECHO.
  ECHO Build failure, errors were encountered.
  GOTO end_of_file

:no_errors
  CALL :fn_ResetErrorLevel
  ENDLOCAL
  ECHO.
  ECHO Build success, no errors were encountered.
  GOTO end_of_file

:end_of_file
%__ECHO% EXIT /B %ERRORLEVEL%
Added Setup/changePlatformToolset.eagle.






































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
###############################################################################
#
# changePlatformToolset.eagle --
#
# Written by Joe Mistachkin.
# Released to the public domain, use at your own risk!
#
###############################################################################

package require Eagle

proc usage { error } {
  if {[string length $error] > 0} then {puts stdout $error}

  puts stdout "usage:\
[file tail [info nameofexecutable]]\
[file tail [info script]] <platformToolset>"

  #
  # NOTE: Indicate to the caller, if any, that we have failed.
  #
  exit 1
}

if {![info exists whatIf]} then {
  set whatIf true
}

set argc [llength $argv]

if {$argc == 1} then {
  set path [file normalize [file dirname [info script]]]
  set rootPath [file normalize [file dirname $path]]

  set platformToolset [lindex $argv 0]
  set pattern(1) {v\d+}
  set pattern(2) [appendArgs {^} $pattern(1) {$}]

  set pattern(3) [appendArgs \
      <PlatformToolset> $pattern(1) </PlatformToolset>]

  set subSpec(3) [appendArgs \
      <PlatformToolset> $platformToolset </PlatformToolset>]

  if {[regexp -- $pattern(2) $platformToolset]} then {
    set fileNames [findFilesRecursive [file join $rootPath *.vcxproj]]

    foreach fileName $fileNames {
      set data [readFile $fileName]

      if {[regsub -all -- \
          $pattern(3) $data $subSpec(3) data] > 0} then {
        if {!$whatIf} then {
          writeFile $fileName $data
        }

        host result Ok [appendArgs \
            "Changed property toolset for project file \"" \
            $fileName "\" to \"" $platformToolset \".\n]
      }
    }
  } else {
    usage [appendArgs "bad platform toolset, must match: " $pattern]
  }
} else {
  usage ""
}
Changes to Setup/data/verify.lst.
233
234
235
236
237
238
239


240
241
242
243
244
245
246
  Setup/build_all.bat
  Setup/build_ce_200x.bat
  Setup/build_ce_2013.bat
  Setup/build_mono.bat
  Setup/build_net_standard_20.bat
  Setup/build_net_standard_21.bat
  Setup/build_nuget.bat


  Setup/clean.bat
  Setup/compile-interop-assembly-debug.sh
  Setup/compile-interop-assembly-release.sh
  Setup/data/
  Setup/data/CheckForNetFx.pas
  Setup/data/InitializeSetup.pas
  Setup/data/SQLite.iss







>
>







233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
  Setup/build_all.bat
  Setup/build_ce_200x.bat
  Setup/build_ce_2013.bat
  Setup/build_mono.bat
  Setup/build_net_standard_20.bat
  Setup/build_net_standard_21.bat
  Setup/build_nuget.bat
  Setup/build_vs_2022.bat
  Setup/changePlatformToolset.eagle
  Setup/clean.bat
  Setup/compile-interop-assembly-debug.sh
  Setup/compile-interop-assembly-release.sh
  Setup/data/
  Setup/data/CheckForNetFx.pas
  Setup/data/InitializeSetup.pas
  Setup/data/SQLite.iss