У меня нет ответа на ваш общий вопрос об обнаружении файлов во время компиляции, но у меня есть решение того, что, по вашему мнению, вы пытаетесь выполнить.
Мои установщики используют что-то вроде этого:
В файле CustomBranding.nsh:
!define CUSTOM_BRANDING
!define APPNAME "Brand X"
!define LOGO "C:\Brand_X_Logo.png"
В основном скрипте установщика:
!include /NONFATAL "CustomBranding.nsh"
!ifndef CUSTOM_BRANDING
!define APPNAME "Generic"
!define LOGO "C:\Generic_Logo.png"
!endif
Это тот тип "альтернативного брендинга", о котором вы спрашиваете?