207 похожих чатов

Приветствую. Я уже голову сломал, не знаю, что делать. Пытаюсь

прицепить пост билд эвент, кросс платформенно, немного разные эвенты под разные типы сборок:

if (CMAKE_CONFIGURATION_TYPES)
set(conf_types ${CMAKE_CONFIGURATION_TYPES})
else()
set(conf_types ${CMAKE_BUILD_TYPE})
endif()

foreach(conf IN LISTS conf_types)
add_custom_command(
TARGET mytarget
POST_BUILD
COMMAND "$<$<CONFIG:${conf}>:echo $<TARGET_FILE:mytarget>>"
COMMENT "My process target \"mytarget\""
VERBATIM
)
endforeach()

Однако в студии получаю такое:

"echo J:\myprj\build-vc15-x64\Release\bin\mytarget.dll"

То есть команда в кавычках, из-за этого команда не выполняется.
Окей, пробую убрать кавычки в самой команде:

COMMAND $<$<CONFIG:${conf}>:echo $<TARGET_FILE:mytarget>>

На выходе получаю вообще тихий ужас:

""$"<1:echo" "J:/myprj/build-vc15-x64/Release/bin/mytarget.dll>"

Пробую убрать VERBATIM, на выходе примерно то же самое, что и выше, но кавычки опять изменились:

""$"<1:echo" J:/myprj/build-vc15-x64/Release/bin/mytarget.dll>


CMake 3.18.2, но целевой - 3.7.2
MS VS 16.4.3
Под линуксами (make в качестве генератора) первый вариант работает изумительно.

Куда копать?

7 ответов

9 просмотров
Пашечка- Автор вопроса

Время обеда, поэтому позвольте я снова подниму этот вопрос.

Пашечка- Автор вопроса

Нет... Попробую...

Пашечка- Автор вопроса

Увы, результат такой же...

Как выглядит код сейчас? Кавычки в COMMAND оставлены?

Пашечка- Автор вопроса

Всё перепробовал. Везде добавлял, везде убирал, где-то оставлял, где-то убирал. Пробовал вообще весь текст команды, включая определение CONFIG в отдельную переменную вытаскивать, так же плясать с кавычками - всё без толку...

Просто echo $<TARGET_FILE:mytarget> работает?

Пашечка- Автор вопроса

Да, так всё отлично. При отсутствии кавычек.

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
Как попросить stack install делать executable без .exe на винде?
Danila Danko
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Карта сайта