CMake复制发布版本的PDB文件

CMake复制发布版本的PDB文件,cmake,pdb-files,Cmake,Pdb Files,当我为调试版本安装库时,pdb文件也会被复制 我也希望在发布版本中使用同样的方法,但CMake不这样做。因此,我必须手动选择CMAKE_BINARY_目录中的*.pdb文件并复制它们 基本上,我该怎么做?或者有其他方法解决这个问题吗?一种方法是像这样使用Cmake的“file”函数 if(CMAKE_BUILD_TYPE EQUAL "RELEASE") file(GLOB filelist ${PATH_TO_PDB_FILES}/*.pdb) file(COPY ${file

当我为调试版本安装库时,pdb文件也会被复制

我也希望在发布版本中使用同样的方法,但CMake不这样做。因此,我必须手动选择CMAKE_BINARY_目录中的*.pdb文件并复制它们


基本上,我该怎么做?或者有其他方法解决这个问题吗?

一种方法是像这样使用Cmake的“file”函数

if(CMAKE_BUILD_TYPE EQUAL "RELEASE")
    file(GLOB filelist ${PATH_TO_PDB_FILES}/*.pdb)
    file(COPY ${filelist} DESTINATION ${PATH_TO_PDB_DESTINATION})
endif(CMAKE_BUILD_TYPE EQUAL "RELEASE")
第一个“file”函数调用使用“GLOB”选项,该选项生成位于“PATH_TO_pdb_files”目录中的.pdb文件列表(称为“filelist”)

第二个“file”函数调用使用“COPY”选项,它使用第一个“file”函数调用生成的文件列表,并将这些文件复制到“PATH_TO_PDB_DESTINATION”目录中

我还使用if语句来检查您是否正在进行发布构建。(假设您只希望在发布版本上执行此操作。)

编辑:如果我理解正确,您希望在安装阶段复制pdb文件。如果是这种情况,则应这样做:

INSTALL(DIRECTORY ${PATH_TO_PDB_FILES}
    DESTINATION ${PATH_TO_PDB_DESTINATION}
    CONFIGURATIONS Release
    FILES_MATCHING
    PATTERN *.pdb
)

在生成库之前,不会生成pdb文件。。这应该作为构建后任务运行,如何执行??关于
if(CMAKE_build_TYPE EQUAL“RELEASE”)
:请查看我的编辑,这个新的解决方案应该可以做到这一点。