[Lazarus] Problem with Includes during Design Time
Mattias Gaertner
nc-gaertnma at netcologne.de
Sun Aug 16 10:33:26 CEST 2009
On Sat, 15 Aug 2009 18:54:52 -0500
Andrew Brunner <andrew.t.brunner at gmail.com> wrote:
First this:
> > Otherwise your project will not be portable.
>
> Could you explain to me as to why a project is portable by not
> respecting my $ENV pointers in Lazarus's Compiler options GUI for the
> specific feature of "include paths??
With portable I mean: You can simply copy the project and the required
packages to another machine and compile it there. You don't need to
set up search paths (nor env variables).
>[...]
> Ok. So if the project paths includes the ENV variable then why would
> the unit need to be added to the project? This is not good. On a
> Windows Build the path to that folder will be different than it is on
> Windows. And as I understand the problem now, I will be required to
> add the uStorage.pas into the project and maintain a different project
> for each build machine.
No.
You can use
a) packages
b) use target macros in the "Other unit files". e.g. $TargetCPU,
$TargetOS
I added some help to
http://wiki.lazarus.freepascal.org/Multiplatform_Programming_Guide#Projects.2C_packages_and_search_paths
> I'm looking to get this system up and running and as automated as I
> can. Having to manage multiple projects for the same compile is IMO
> not portable enough. What can I do to remove the unit from the
> project but still have Lazarus not crash every time I click on a
> component - and I am asserting that this is not a feature - it's a
> flaw.
It crashes?
Please create a bug report.
> However, once the project is developed I *would* be able to bypass
> Lazarus on the official build machines - right? Meaning the entire
> premise for my discovery of this problem is that I am using $ENV() for
> establishing libraries and includes so that I can maintain many
> different native builds for x64 and 32 Windows and Linux and MAC.
There are various ways for building without installing lazarus:
lazbuild requires only the following parts of the lazarus folder:
lazbuild.exe
packager/units/*
There is no installer for lazbuild alone yet.
An other way is to use Makefiles or for the fearless ones: fpmake.
Or you can create your own build batch file.
Mattias
More information about the Lazarus
mailing list