[Lazarus] Conditional define via Build mode?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Conditional define via Build mode?

Reinier Olislagers
Hi all,

I'm trying to set a conditional symbol depending on build mode. I've got
Debug and Release build modes defined.

In code, I can do this:
  {$DEFINE DEBUG}
  {$IFDEF DEBUG}
  writeln('Debug: ' + Message);
  {$ENDIF DEBUG}

How can I set DEBUG only when in Debug build mode? I had a look at the
wiki page and the Project Options, Build Macros but I'm a bit lost.

I just added DEBUG:=1 to the Conditionals screen... but that doesn't
seem to do the trick... I've tried playing with adding macros but must
just be missing something elementary...

Thanks,
Reinier

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Conditional define via Build mode?

Mattias Gaertner
On Fri, 06 Jan 2012 16:01:50 +0100
Reinier Olislagers <[hidden email]> wrote:

> Hi all,
>
> I'm trying to set a conditional symbol depending on build mode. I've got
> Debug and Release build modes defined.
>
> In code, I can do this:
>   {$DEFINE DEBUG}
>   {$IFDEF DEBUG}
>   writeln('Debug: ' + Message);
>   {$ENDIF DEBUG}
>
> How can I set DEBUG only when in Debug build mode? I had a look at the
> wiki page and the Project Options, Build Macros but I'm a bit lost.
>
> I just added DEBUG:=1 to the Conditionals screen... but that doesn't
> seem to do the trick... I've tried playing with adding macros but must
> just be missing something elementary...

You have to separate IDE macros and FPC macros.
FPC macros are defined via the Compiler Options / Custom options, e.g.
-dDEBUG.

The "DEBUG:=1" sets an IDE macro.

Mattias

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Conditional define via Build mode?

Reinier Olislagers
On 6-1-2012 16:27, Mattias Gaertner wrote:

> On Fri, 06 Jan 2012 16:01:50 +0100
> Reinier Olislagers <[hidden email]> wrote:
>> I'm trying to set a conditional symbol depending on build mode. I've got
>> Debug and Release build modes defined.
>>
>> In code, I can do this:
>>   {$DEFINE DEBUG}
>>   {$IFDEF DEBUG}
>>   writeln('Debug: ' + Message);
>>   {$ENDIF DEBUG}
>>
>> How can I set DEBUG only when in Debug build mode? I had a look at the
>> wiki page and the Project Options, Build Macros but I'm a bit lost.
> You have to separate IDE macros and FPC macros.
> FPC macros are defined via the Compiler Options / Custom options, e.g.
> -dDEBUG.
>
> The "DEBUG:=1" sets an IDE macro.

Thanks Matthias, that's very clear... and works ;)

Reinier

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Conditional define via Build mode?

Elazar Dornelles Ceza
>> How can I set DEBUG only when in Debug build mode? I had a look at the
>> wiki page and the Project Options, Build Macros but I'm a bit lost.
> You have to separate IDE macros and FPC macros.
> FPC macros are defined via the Compiler Options / Custom options, e.g.
> -dDEBUG.

Hi, delphi has IFOTP directive to do something like this, search more about to see if can you use the same on FPC.
Here is one small example (portuguese) http://www.evolutionsystems.com.br/?p=173


--
Atenc;
Elazar Dornelles Ceza


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus