Я пытаюсь использовать выражения генератора для связывания библиотек отладки / выпуска, например:
list(APPEND LINK_LIBRARIES $<$<CONFIG:Release>:${LIBRARIES_RELEASE}> $<$<CONFIG:Debug>:${LIBRARIES_DEBUG}>)
Но оценивается только внутренний генератор, и результат выражения
$<1:/path/to/the/lib
Внутреннее выражение оценивается как 1, а внешнее не работает вообще. Похоже, что отсутствует >, но в CMakeLists.txt все выглядит правильно.
Я нахожу ценность, просматривая сгенерированный список библиотек в Visual Studio. LIBRARIES_RELEASE может содержать несколько путей, так что, возможно, его следует разбить.





Во-первых, как найти результат оценки выражения генератора? Обратите внимание, что
message()не работает с выражениями генератора. Во-вторых, содержит ли переменнаяLIBRARIES_RELEASEодно значение или несколько (несколько путей)? В последнем случае каждый путь должен быть заключен в собственное выражение генератора.