CMake - получить вызванную командную строку как переменную внутри CMake. - PullRequest
0 голосов
/ 27 ноября 2018

Я ищу способ вызова команды для компиляции определенного файла внутри CMake в качестве переменной.Это та же самая «команда», которая показана в compile_commands.json.Он имеет вид:

%gcc% %bunch of -DSOMETHINGS% %bunch of -Isome/files% -o %cpp files% ... etc.

Проект, который я в процессе портирования на CMake, записывает в файл вызываемой команды компилятора, которую я изменяю, чтобы использовать configure_file механизм изготовления.Настроенный файл необходим до компиляции определенного объекта.

Во время поиска я нашел этот ответ, который во многом похож на тот же вопрос: cmake - получить используемые флаги командной строки "-D" ,Однако ему уже более 3 лет, и он касается только получения списка флагов «-D», который пользователь решил путем отслеживания вручную.Я считаю это неоптимальным.Если эта команда записана в compile_commands.json, я должен иметь к ней доступ, так?Когда именно пишется compile_commands.json?Любое изменение, которое я могу получить, чтобы написать этот файл для подобного, нефункциональной фиктивной цели или чего-то еще, затем получить к нему доступ и использовать его для настройки моего файла в реальном проекте?

Я знаю, что это противидеал CMake, и мне нравится тот факт, что мне никогда не приходится самостоятельно управлять флагами, однако мне трудно поверить, что нет способа получить их для определенного файла, я что-то пропускаю?

Я посмотрел на свойства CMake в исходных файлах и извлек их, используя get_property , однако я не верю, что смогу восстановить всю команду из них.

В настоящее время я создаю make-файлы Unix, хотя механизм должен оптимально работать и при создании файлов проекта MSVC, что, как мне известно, CMAKE_EXPORT_COMPILE_COMMANDS нет.

Любые мысли и замечания по этому вопросу очень важны.оценили!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...