Я пытаюсь написать простую команду execute_process
для моего CMakeLists.txt
, чтобы проверить наличие определенного фрагмента текста в файле hosts при установке RPM, и если его там нет,добавьте его в файл hosts.
Однако при запуске CMake я получаю сообщение:
grep ||: No such file or directory
grep: echo: No such file or directory
grep: 172.16.10.43 UPSSERVER: No such file or directory
grep: >>: No such file or directory
Кажется, что каждая часть моей исполняемой команды является файлом?Вот команда, о которой идет речь:
set(HOSTS_UPSSERVER "172.16.10.43 UPSSERVER")
execute_process(COMMAND grep -qxF ${HOSTS_UPSSERVER} /etc/hosts || echo ${HOSTS_UPSSERVER} >> /etc/hosts)
Я знаю, что сама команда работает, потому что я тестировала ее самостоятельно вне командной строки.Есть ли ошибка в синтаксисе способа, которым я определил переменную HOSTS_UPSSERVER?Или то, как я использую команду execute_process?
Мне не повезло найти полезную информацию о CMake, поскольку документация расплывчатая, а хороших учебников практически не существует.