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: |
c2deab8b6237791f46326ab31c3e2c27 |
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
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 |
︙ | ︙ |