Thanks for all the replies and dedication.
ChrisR wrote:I don't use Bash, is it also available on Windows 7 ?
No not natively, but when you install Git for Windows it also installs a full Bash (the mintty version, which is the standard nowadays, used also by MSYS2, Microsoft WSL, and others).
The Git Bash has all the required tools you mentioned except Make and Zip. These tools are just .exe files living in a subfolder of the Git installation, and can be used from the CMD by copying them (and required DLLs, if any) into a separate folder which is (or is made) on the PATH. By copying the LICENSE files, it should be OK to create our own ZIP package for distribution, to help with this build.
I have 7-Zip installed, with the CLI version on the path, but adding the one you indicated is not a problem at all, and can always come handy.
By the way, the best way to install Git under Windows is via Chocolatey GUI, which then makes it easier to keep it updated:
Probably you can install also the various GNU tools via Chocolatey, for there are tons of packages (especially those which don't have installers).
Using Make from the UnxTools should be safe, the problem is the lack of GPL license in UnxTools (and that is old).
I've started looking into CMake right now, which would allow a single configuration for all OSs, and all different VC compilers and SDK versions.
CMake has enough presets to auto-magically handle the different MSVS and VC distributions under Windows. The hard part is going to be adding the custom PB tools from the toolchain (i.e. hard for me that I never programmed in CMake — it's a real configuration language, not just a syntax). It might be worth the effort though, because we could even create and add support for a dedicated PureBasic build engine to CMake. Unfortunately, the documentation is quite big, and rather dry and technical, so it's not going to happen overnight. Also, I have the impression that currently it's all very much focused on C++ and C#, although documentation toolchains were also added. The project was designed to be OS and architecture agnostic, and extensible, so all the tools are there, and the idea of creating a dedicate PureBasic/SpiderBasic engine (or backend, what you want to call it) for CMake is not far fetched, it's even encouraged.
@ChrisR, I use batch scripting now and then but it's really limited and limiting, I think that PowerShell scripts would give you better control over this type of operatrions, especially regarding admin permissions. I don't use (nor like) PowerShell, but it is indeed more powerful than batch scripts and more flexible.
If I have understood correctly, the path to a PB installation that is set in the build script(s) is then used to build the fresh IDE there — i.e. overriding the original.
The problem with the current system that I see is that users have to tweak the scripts to provide their own paths, which is not OK in Git versioned control projects.
Couldn't the script just look for the currently installed PB versions under %PROGRAMFILES% and %PROGRAMFILES(X86)%, copy the full folder contents to the BUILD directory and use these as the reference PB setups? We can safely assume that users are interested in building the IDE with and for the current version of PB, which they should have already installed on their system (both x86 and x64, in case of x64 machines). So why not exploit this in the script and make the whole build simpler? (right now, it's all very complicate, unless you have the old SDK and VC installed).