Последний вызов SetHomeDirectory фактически устанавливает исходный каталог для проекта. Опция -B (также недокументированная), в свою очередь, устанавливает двоичный каталог.
Если эти параметры не установлены, двоичный каталог будет текущей папкой, в которой выполняется cmake, и исходный каталог может быть задан как позиционный аргумент (если не найден, исходная папка также будет текущей рабочей папкой).
Начиная с CMake 3.13, -B является официально поддерживаемым флагом, может правильно обрабатывать пробелы и может использоваться независимо от опций -S или -H.