Archive: Using Funtions in Compile Time


Using Funtions in Compile Time
I got the date functions from the NSIS site (http://nsis.sourceforge.net/Manage_dates_as_numbers) and would like to get the today serial value during compile time.

I envisioned running the script as follows:


!define day
!define !DaySerial `!insertmacro _!DaySerial`
!macro _!DaySerial _SERIAL
Call TodaySerial
Pop ${_SERIAL}
DetailPrint ${_SERIAL}
!macroend
${!DaySerial} day


But I am getting an error on the call:
Error: command Call not valid outside Section or Function
Error in macro _!DaySerial on macroline 1
Apparently, the CALL command cannot be executed from a compile time macro.

My question is: How can I call the function in compile time?

Thanks

David

You cannot call a function at compile time. You can however call an executable at compile time, using !execute or !system. So you can let your script run a compiled NSIS exe which writes "!define Foo bar" to an nsh file, and then you !include that nsh file after you !execute the exe.