В моем проекте на основе CMake у меня есть некоторые XML-файлы, которые используются для генерации кода (с использованием типичного шаблона add_custom_target
).Создание/исправление XML-файла с переменной CMake
Этот XML-файл включает в себя другие файлы следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<definition
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../MyComponent/schema.xsd">
<include href="../../../MyComponent/another.xml" />
</definition>
Теперь я хочу, чтобы ../../../MyComponent
зависит от переменной CMake. То, что определенно будет работать, - это написать генератор, который принимает шаблон XML и заменяет пути содержимым переменной CMake, используя здесь также шаблон add_custom_command
& add_custom_target
.
Есть ли решение, которое использовало бы простые механизмы CMake и/или XML для исправления или создания правильного пути?
Если вам не нужен этот XML вне среды сборки CMake, вы можете добавить синтаксис '$ {...}' в свой XML-файл и использовать ['configure_file()'] (https: // cmake.org/cmake/help/v3.3/command/configure_file.html) для создания «настроенной» версии, например ваш двоичный выходной каталог. – Florian
Это очень хороший совет, спасибо! Я не знал эту команду CMake. Не стесняйтесь формулировать это как ответ, который я бы выбрал в качестве ответа. –