Поскольку вам нужно скомпилировать отдельные исполняемые файлы для каждой ОС, вы можете просто использовать {$IFDEF}
:
{$IFDEF MACOS} // Mac OSX
{$IFDEF WIN64} // Windows 64 bit
{$IFDEF WIN32} // Windows 32 bit app
{$IFDEF Linux} // Linux
{$IFDEF UNIX} // UNIX
Вы можете отличить Win32 и Win64 от 32-битного приложения, используя SysUtils.TOSVersion.Architecture
; Возможные значения: arIntelX86
и arIntelX64
, и в общем случае (без учета «битности») между Windows и MacOS с TOSVersion.Platform
.