On Nov 2, 2007, at 5:56 PM, Luiz Americo Pereira Camara wrote:
Mattias Gaertner wrote:
On Fri, 2 Nov 2007 16:16:06 +0100
Milipili Houbi <[EMAIL PROTECTED]> wrote:
I miss something with Lazarus. Something quite usefull I think.
I would like to be able to set multiple target, with different
compiler options and different defines at the compilation.
It is possible to load/save the settings but it is not really easy
to use.
There are obviously more important things to do right now but I
would like to know if there is something like that planned,
discussed, rejected for some reaons...
Yes, it is discussed from time to time.
It is definitely planned. It is mainly a GUI problem.
Perhaps it would be a good idea to start a wiki and collect some case
studies, so the GUI designers know, what the GUI should manage and
what
not.
Here's two cases where i need similar features:
1) Make possibly to define a package requirement as optional
(Should be available both to package and program).
Concrete situation: VirtualTreeView requires multilog package to
help debug code. In a release is not desired to have such
dependency. Currently in the release is necessary to remove the
dependency from the package, and then add again to reenable debugging.
An idea is to have groups of conditional requirements. Each group
would have a define value associated to be used at compile time
(e.g: 'DEBUG_CODE') and child packages. Each group would have a
enabled flag. If enabled flag is set, the child packages are added
as requirements and the define value used at compile time.
2)Make units packages/projects optional according to widgetset.
Concrete situation: LCL extensions package has a unit (OleUtils)
that implements TOLEStream. It only makes sense in win32. Currently
the unit is added in all widgetsets but all code is wrapped around
a ifdef Windows define so is seen as a dummy unit in other widgetsets.
Let me know the wiki address to add these cases
As we can specify the target OS and arch, I would like to change the
executable name according ti this. The ultimate feature would be the
use of variable. Something like this :
Target name : foo.${targetos}.${targetcpu}${extension} would give :
- foo.Linux.x86
- foo.Linux.x86_64
- foo.windows.x86.exe
- foo.windows.x86_64.exe
Consequently, it needs settings for all targets and the same one
which override them for a specific targets ()
For my part, I mainly need specific flags for a "Debug" target or a
"Release" one.
The idea of specific units is not a bad one since you can provide a
specific build of your app for special needs of a customer (units
_and_ forms in fact).
The title of the target should not be limited to some caracters
The ultimate of the ultimate feature would be to be able to compile a
specific target from the command line, and if possible, without the
need of a graphical interface. This way, you can run your daily
compilation and your numerous tests.
:)
Luiz
--
Milipili Houbi
[EMAIL PROTECTED]
"Sometimes you have to make a choice, and to deal with it, no matter
what"
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives