Some improvements about the github build bot.
1, I think we need to build a "CbLauncher.exe" in the "bin" folder(the codeblocks.exe is in the the same bin folder), currently the configure-make method in the build bot does not generate this file. I mean by running this exe file, C::B is running in portable mode, all the configure settings were created in "bin/AppData" folder, so it won't pollute other C::B settings. For my test, I just copy a "CbLauncher.exe" from other windows build packages, and it works.
2, when I download the "Artifacts" file from the github action (for example, in my own github action here:
https://github.com/asmwarrior/x86-codeblocks-builds/actions/runs/10538520726), I need to set the PATH variable to adding my local msys2/mingw64/bin path
set PATH=<your_local_msys2_mingw64_bin_path>;%PATH%
by setting this, when code::blocks runs, it will find the gcc's dlls, wx's dlls, and exchnl's dlls. (suppose you install them by the pacman command)
Here is the list of dlls of the codeblocks.exe by using
brechtsanders/pedeps: Cross-platform C library to read data from PE/PE+ files (the format of Windows .exe and .dll files)'s listpedeps commands:
listpedeps.exe -s codeblocks.exe
[codeblocks.exe]
architecture: x86_64
machine name: AMD AMD64 (x64)
subsystem: Windows GUI
DLL: no
stripped: no
file version: 0.0
minimum Windows version: 5.2
IMPORTS
libcodeblocks-0.dll
COMCTL32.dll
exchndl.dll
libgcc_s_seh-1.dll
KERNEL32.dll
msvcrt.dll
SHELL32.dll
libstdc++-6.dll
USER32.dll
wxbase32u_gcc_custom.dll
wxmsw32u_aui_gcc_custom.dll
wxmsw32u_core_gcc_custom.dll
wxmsw32u_html_gcc_custom.dll
wxmsw32u_propgrid_gcc_custom.dll
wxmsw32u_xrc_gcc_custom.dll
So, you can see that you need to copy those dlls from the msys2 mingw64's bin folder, so that you can distribute a full package:
exchndl.dll
libgcc_s_seh-1.dll
libstdc++-6.dll
wxbase32u_gcc_custom.dll
wxmsw32u_aui_gcc_custom.dll
wxmsw32u_core_gcc_custom.dll
wxmsw32u_html_gcc_custom.dll
wxmsw32u_propgrid_gcc_custom.dll
wxmsw32u_xrc_gcc_custom.dl
To copy those dlls from the msys2's bin folder, you have to use another tool named "copypedeps.exe" from "brechtsanders/pedeps".
The commands are something like below:
copypedeps.exe -r -n -v ./codeblocks.exe ./
The options can be explained by the "-h" help command.
copypedeps.exe -h
Usage: copypedeps [-h|-?] [-r] srcfile [...] dstfolder
Parameters:
-h -? display command line help
-r recursively copy dependancies
-n don't overwrite existing files
-d dry run: don't actually copy, just display copy actions
-q quiet mode, only show errors
-v verbose mode (display copy actions)
Description:
Copies .exe and .dll files and all their dependancies to the destination folder.
Version: 0.1.14 (library version: 0.1.14)
So, can you add the extra steps like below:
1, build the CBLauncher.exe
2, use pacman to install the drmingw for the exchndl.dll and related dlls. See here: mingw-w64-x86_64-drmingw3, use the pedeps to copy all the necessary dlls to the bin folder.
Any ideas?
EDIT:mingw-w64-x86_64-drmingw is already installed in the current github action code.
EDIT2:The spell checker plugin is not loaded correctly, so maybe my local msys2 does not have hunspell package installed.