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

Reply via email to