Hi, I came across a message posted by Martin (developer of MSEide). He does exactly what I need to do, but I need to do it with Lazarus IDE. Having one project that must be compiled with various versions of FPC. Simple example is a app being distributed as 32-bit and 64-bit. Then there is also the case of using the stable released version of FPC vs the unstable "trunk" or stable "fixes" versions.
Is something like this possible with Lazarus? If so, how does one go
about setting this up? Also see attached images for how it looks in
MSEide. He has various custom "macro groups" and various build modes (6
of them: Make, Build, Custom1-4).
Is something like this at all possible with Lazarus IDE?
------------[ Martin's setup with MSEide ]-----------------------
I use the following script to compile RTL and packages of a FPC SVN checkout
with debuginfo:
"
#!/bin/sh
fpcdir=/home/mse/packs/standard/svn/fp/fixes_2_4
cd ${fpcdir}/packages
make clean
cd ${fpcdir}/rtl
make clean
cd ..
make OPT="-gl -O-" FPC=${fpcdir}/compiler/ppc386 rtl packages
"
In .fpc.cfg there are ifdef'd sections of -Fu defines:
"
#IFDEF svnfixes_2_4
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/rtl/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/fcl-base/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/fcl-image/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/fcl-db/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/pasjpeg/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/paszlib/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/hash/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/libc/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/ibase/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/odbc/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/postgres/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/sqlite/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/mysql/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_4/packages/x11/units/$fpctarget
#ELSE
#IFDEF svnfixes_2_2
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/rtl/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/fcl-base/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/fcl-image/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/fcl-db/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/pasjpeg/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/paszlib/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/hash/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/libc/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/ibase/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/odbc/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/postgres/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/sqlite/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/mysql/units/$fpctarget
-Fu/home/mse/packs/standard/svn/fp/fixes_2_2/packages/x11/units/$fpctarget
#ELSE
# searchpath for units and other system dependent things
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
#ENDIF
#ENDIF
#ENDIF
"
In 'Project'-'Options'-'Macros' there are settings for different FPC
versions which can be switched easy, see attachments.
-------------[ end ]-------------------------
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/
<<inline: makeoptions.png>>
<<inline: macros.png>>
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
