Почему выражения генератора не оцениваются для LINK_LIBRARIES? ⇐ C++
Почему выражения генератора не оцениваются для LINK_LIBRARIES?
Я хочу сохранить различные целевые свойства CMake в файл. Эти свойства могут содержать выражения-генераторы, которые, как я ожидаю, будут преобразованы в фактические значения. Это можно сделать с помощью команды file(GENERATE).
cmake_minimum_required (ВЕРСИЯ 3.10.0) проект(Тест) add_executable(Exec main.cpp) target_link_libraries(Exec PRIVATE Lib0 $) target_include_directories(Exec PRIVATE /Dir0 $) target_compile_definitions(Exec PRIVATE -DVALUE=Val0 -DVALUE=$) target_compile_options(Exec PRIVATE Opt0 $) set(EXPR "\ $ $ $ $ ") файл (ГЕНЕРАЦИЯ ВЫВОДА $.txt CONTENT "${EXPR}") Это отлично работает для всех свойств, которые я пробовал, за исключением LINK_LIBRARIES — выражения генератора не разрешаются. См. вывод конфигурации отладки:
Lib0;$ /Каталог0;/Каталог1 ЗНАЧЕНИЕ=Значение0;ЗНАЧЕНИЕ=Значение1 Опция0;Опт1 Можно ли это как-то исправить? Задокументировано ли такое поведение?
Я хочу сохранить различные целевые свойства CMake в файл. Эти свойства могут содержать выражения-генераторы, которые, как я ожидаю, будут преобразованы в фактические значения. Это можно сделать с помощью команды file(GENERATE).
cmake_minimum_required (ВЕРСИЯ 3.10.0) проект(Тест) add_executable(Exec main.cpp) target_link_libraries(Exec PRIVATE Lib0 $) target_include_directories(Exec PRIVATE /Dir0 $) target_compile_definitions(Exec PRIVATE -DVALUE=Val0 -DVALUE=$) target_compile_options(Exec PRIVATE Opt0 $) set(EXPR "\ $ $ $ $ ") файл (ГЕНЕРАЦИЯ ВЫВОДА $.txt CONTENT "${EXPR}") Это отлично работает для всех свойств, которые я пробовал, за исключением LINK_LIBRARIES — выражения генератора не разрешаются. См. вывод конфигурации отладки:
Lib0;$ /Каталог0;/Каталог1 ЗНАЧЕНИЕ=Значение0;ЗНАЧЕНИЕ=Значение1 Опция0;Опт1 Можно ли это как-то исправить? Задокументировано ли такое поведение?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение