如何让CMAKE安装目标PDB文件

How to get CMake to install PDB files for targets

本文关键字:目标 PDB 文件 安装 CMAKE      更新时间:2023-10-16

如何让cmake安装与Visual Studio生成的DLL文件和EXE文件所需的伴侣PDB文件?

我已经努力了一段时间,试图为这个问题找到一个很好的答案。我现在认为我已经找到了一个:使用$<TARGET_PDB_FILE:tgt> Generator表达式的安装文件命令(可在CMAKE 3.1.3及更新中使用)。具体来说,下面的安装命令似乎有效。该命令将将目标$ {project_name} PDB文件复制到目标的安装bin目录。

install(FILES $<TARGET_PDB_FILE:${PROJECT_NAME}> DESTINATION bin OPTIONAL)

命令将为生成PDB文件的每个配置安装PDB文件。通过使用OPTIONAL,如果源PDB文件不存在,则安装命令将不会生成错误。此命令旨在用于使用add_library(${PROJECT_NAME} ...)add_executable(${PROJECT_NAME} ...)命令创建的目标。

这是我找到的最好的答案。请让我知道是否有更好的。我发现在cmake-generator-expressions文档的"信息表达式"部分中,TARGET_PDB_FILE发电机实验的文档很难理解。