premake5 Как я могу генерировать проекты относительно того, где пользователь вызывает premake, а не относительно файла premake5.lua?

#lua #premake

#lua #premake

Вопрос:

Я хочу, чтобы рабочая область и файлы проекта создавались относительно того, где пользователь вызывает premake5, так как прямо сейчас все относительно местоположения premake5.lua.

Я попытался использовать команду location в своей рабочей области, но я не могу найти функцию, которая возвращает папку, в которой вызывается исполняемый файл.

Цель состоит в том, чтобы имитировать то, что делает cmake, без жесткого кодирования чего-либо. Итак, если пользователь хочет сделать:

 mkdir build 
premake5 --file=../premake5.lua
  

Он должен генерировать все рабочие области / проекты внутри папки сборки, а не в корне.

Спасибо за помощь.

Ответ №1:

Смотрите location, _WORKING_DIR и, возможно, path.join.

 project 'MyProject'
   location(path.join(_WORKING_DIR, 'MyProject'))