Ответ 1
Я боролся некоторое время, пытаясь получить хороший ответ на этот вопрос. Теперь я думаю, что нашел один: используйте команду install file с выражением генератора $<TARGET_PDB_FILE:tgt>
(доступно в CMake 3.1.3 и новее). В частности, команда установки ниже, кажется, работает. Команда скопирует целевой файл pdb $ {PROJECT_NAME} в целевой каталог bin установки.
install(FILES $<TARGET_PDB_FILE:${PROJECT_NAME}> DESTINATION bin OPTIONAL)
Команда установит файл pdb для каждой конфигурации, которая генерирует файл pdb. При использовании OPTIONAL
команда install не выдаст ошибку, если исходный файл pdb не существует. Эта команда предназначена для использования в целях, созданных с помощью add_library(${PROJECT_NAME}...)
или add_executable(${PROJECT_NAME}...)
.
Это лучший ответ, который я нашел. Пожалуйста, дайте мне знать, если есть лучший. Я нашел трудную для понимания документацию по TARGET_PDB_FILE
генератора TARGET_PDB_FILE в разделе "Информационные выражения" документации по выражениям cmake-generator-expression.