CMake: установить свойства проекта Visual Studio для наследования от родителя (таблица свойств)

Я использую CMake 3.8.1 для создания проектов Visual Studio 2015.

Добавление пользовательского листа свойств:

set_target_properties(${TARGET} PROPERTIES VS_USER_PROPS "my_settings.props")

Не удается найти путь в CMakeLists.txt, чтобы установить "Выходной каталог", "Промежуточный каталог" и некоторые другие свойства проекта Visual Studio в файле vcxproj на желаемые значения. В этих выходных / промежуточных каталогах CMake устанавливает значение по умолчанию.

В идеале я хочу установить эти свойства

<inherit from parent or project defaults>

Таким образом, проект подберет значения, которые у меня есть в my_settings.props

В файлах vcsproj, если вы пропустите запись для свойства, он унаследует значение от parent.

Есть ли способ настроить / установить / контролировать эти значения из файла CMakeLists.txt?

1 ответ

Некоторые (большинство?) Полей свойств в проекте Visual Studio управляются значениями, установленными в CMakeLists.txt но нет команды, которая просто устанавливает их на то, что вы хотите.

Есть много свойств и переменных, которые управляют созданием цели. Затем каждый тип генератора выводит файл проекта в соответствии с этими элементами. Вот так генератор для Visual Studio строит те же артефакты, что и для MSYS Makefiles, Вот несколько примеров (которые я помню):

  1. Output Directory - Ссылаться на RUNTIME_OUTPUT_DIRECTORY
  2. Intermediate Directory - Контролируется CMake невозможно изменить
  3. Target Name - Ссылаться на OUTPUT_NAME
  4. Target Extension - Ссылаться на SUFFIX

Я предполагаю, что вы можете злоупотреблять некоторыми из этих элементов, делая их равными переменной Visual Studio или чему-то еще, но я никогда не сталкивался с этим.

Другие вопросы по тегам