How to Force command substitution evaluation in bash?

OK, I'm striving to abide by all the rules this time.

Here is a fragment of my windows10/cygwin64/bash script:

export BUPLOG=$(BackupRecords --log "$src")
robocopy  $(BackupRecords -mrbd "$src" --path "$src")  $(BackupRecords --appSwitches "$src") "$src" "$dst"  $(BackupRecords --fileSwitches "$src") >$BUPLOG 2>&1
BackupRecords --complete "$src"
echo \*\*\* ALL DONE \*\*\* >>$BUPLOG 2>&1

"BackupRecords --log" is a program I wrote to return a unique log file name using the current time.

The problem is that I get two different log files. How can I force the evaluation of BUGLOG sooner?

Thanks
Siegfried