0
当我为调试版本安装我的库时,也会复制pdb文件。CMake为发布版本复制PDB文件
我也希望发布版本也一样,但CMake并没有这样做。所以我必须手动选择CMAKE_BINARY_DIR中的* .pdb文件并复制它们。
基本上,我该怎么做?或者还有其他解决这个问题的方法吗?
当我为调试版本安装我的库时,也会复制pdb文件。CMake为发布版本复制PDB文件
我也希望发布版本也一样,但CMake并没有这样做。所以我必须手动选择CMAKE_BINARY_DIR中的* .pdb文件并复制它们。
基本上,我该怎么做?或者还有其他解决这个问题的方法吗?
这样做的一种方法是使用Cmake的“文件”功能。
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")
第一个“文件”功能调用使用“GLOB”选项,并生成一个列表(称为“文件列表”)的位于“PATH_TO_PDB_FILES”目录.pdb文件。
第二个“文件”函数调用使用“COPY”选项,它使用第一个“文件”函数调用生成的文件列表,并将这些文件复制到“PATH_TO_PDB_DESTINATION”目录中。
我还把if语句来检查你是否正在发布版本。 (假设你只想在发布版本上这样做)。
编辑:如果我理解正确,你想在安装阶段复制pdb文件。如果是这样的话,这应该这样做:
INSTALL(DIRECTORY ${PATH_TO_PDB_FILES}
DESTINATION ${PATH_TO_PDB_DESTINATION}
CONFIGURATIONS Release
FILES_MATCHING
PATTERN *.pdb
)
pdb文件不会生成,直到建立图书馆..这应该作为后期构建任务运行,如何做到这一点? – Nick
关于'if(CMAKE_BUILD_TYPE EQUAL“RELEASE”)':http://stackoverflow.com/questions/24460486/cmake-build-type-not-being-used-in-cmakelists-txt –
请看我的编辑,这个新的解决方案应该做的伎俩。 – Cyberunner23