LongDirtyAnimAlf / fpcupdeluxe

A GUI based installer for FPC and Lazarus
503 stars 92 forks source link

CrossCompile install all feature #709

Open mobius1qwe opened 1 month ago

mobius1qwe commented 1 month ago

Is it possible to add a button or radio button to install all available crosslibs within the target version? Its boring and time-consuming to have to manually select CPU+OS for the platforms.

I mainly use Win32, Win64, Linux64 target platforms, whenever there's an update of lazarus/fpc if it's a Minor release or major I need to re-install the crosslibs one by one, We could have 1 button to install all of them or maybe add a list to queue the combinations we wanna install and then push the button that will install all of the listed ones in sequence. Once LAMW becomes more stable more platforms will be added to the list, so the installation process will be longer.

LongDirtyAnimAlf commented 1 week ago

This is a good request. Hard to implement. However, you can use the trick I use myself to ease the install.

Thake the old (or original) fpc.cfg with all the settings for cross-compilers. Remove the settings, but keep the defines. Like this.

# begin fpcup do not remove arm-android
# Inserted by up v2.4.0fp on 31/10/2024 20:13:52
# Cross compile settings dependent on both target OS and target CPU
#IFDEF FPC_CROSSCOMPILING
#IFDEF ANDROID
#IFDEF CPUARM
#ENDIF CPUARM
#ENDIF ANDROID
#ENDIF FPC_CROSSCOMPILING
# end fpcup do not remove

# begin fpcup do not remove aarch64-android
# Inserted by up v2.4.0fp on 31/10/2024 20:17:16
# Cross compile settings dependent on both target OS and target CPU
#IFDEF FPC_CROSSCOMPILING
#IFDEF ANDROID
#IFDEF CPUAARCH64
#ENDIF CPUAARCH64
#ENDIF ANDROID
#ENDIF FPC_CROSSCOMPILING
# end fpcup do not remove

Add the above into your new fpc.cfg. Run fpcupdeluxe and choose auto-install of cross-compilers.

I will try to implement something easier, if time permits.

mobius1qwe commented 1 week ago

I mean, you have crossbins on the repo here, under tags, the idea would be read those files and load them into a list with multiple selectable lines or a button to install all crosslibs, and it would grab all those crossbin files and install them... But yeah time's the main issue for all of us