Этот вопрос немного устарел, но недавно я столкнулся с той же проблемой при интеграции GStreamer в мой проект. GStreamer поставляется с набором чрезвычайно хорошо подготовленных и высококачественных таблиц свойств, и я хотел использовать их вместо взлома в CMake.
К счастью, эта проблема ограничена только Windows и Visual Studio. Итак, вот мое решение:
Идея состоит в том, чтобы использовать .user файл в Visual Studio. CMake не генерирует этот файл, поэтому довольно безопасно генерировать его во время настройки. Во время настройки вы можете создать файл с именем EXACT в качестве файла проекта, но с расширением .user.
Частичное решение:
Если файл вашего проекта называется my_project.vcxproj
, вам нужно создать рядом с ним другой файл с именем my_project.vcxproj.user
. Согласно MSDN :
Пользовательский файл (.vcxproj.user) хранит пользовательские свойства, для
Например, настройки отладки и развертывания. Файл vcxproj.user
применяется ко всем проектам для конкретного пользователя.
Содержимое этого файла для импорта списков свойств выглядит примерно так:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="/path/to/sheet1.props" />
<Import Project="/path/to/sheet2.props" />
</Project>
Не безупречно, но работает, пока CMake не начнет поддерживать листы свойств. Файл можно создать с помощью команды CMake file
во время настройки.
Потенциальная оговорка:
Я заметил, что когда я добавляю листы свойств таким способом, иногда они не отображаются в окне диспетчера свойств (это может быть ошибкой в Visual Studio Community 2013), но они всегда импортируются правильно и зависимости разрешаются правильно.