在 CMake 中安装编译期间生成的自定义文件

Install a custom file generated during compilation in CMake

我想安装一个在编译 CMake 项目时生成的自定义文件:

在我的项目中,文件 SampleDictionary_rdict.pcm 是在编译期间由来自外部模块的命令生成的,我想用 make install[=18 将其复制到 $CMAKE_INSTALL_PREFIX/lib =]

我 运行 遇到的问题是 install(...) 我试过的所有变体都要求文件在 编译前 存在。

来自生成文件的外部模块的命令是:

ROOT_GENERATE_DICTIONARY(
    SampleDictionary
    ...
    )

这会在我的构建目录中生成 SampleDictionary_rdict.pcm

例如,如果我尝试添加:

install(TARGETS SampleDictionary DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")

到我的 CMakeLists.txt 结尾,我遇到文件不存在的问题。

install(TARGETS ... 用于安装在项目中构建的目标。您要安装文件 SampleDictionary_rdict.pcm,因此您需要 variant 文件:install(FILES ...