如何使用CMake生成和安装运行时依赖项?

zqdjd7g9  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(189)

我使用CMake构建项目“Proj”,然后安装它。
现在我想安装两个运行时依赖项(extra1.bin,extra2.bin)与Proj一起放入同一目录。
bin文件由输入文件extra生成。json。我希望bin文件在额外时重新生成。JSON会改变(不经常)。
我的CMakeLists的相关部分。txt看起来像这样:

project(Proj)

add_library(Proj SHARED main.cpp)

set(EXTRA_FILES extra1.bin extra2.bin)
add_custom_command(
    OUTPUT ${EXTRA_FILES}
    COMMAND generate-extra-files extra.json
    DEPENDS extra.json
    VERBATIM
)

install(TARGETS Proj COMPONENT main_component)

我如何实现我想要的?
1.我尝试添加bin文件作为Proj的依赖项,但是当我生成make文件时,CMake希望它们存在,并且在extra中进行了更改。JSON不会触发重建。
1.我尝试使用add_custom_target(ExtraTarget ${EXTRA_FILES)),但文件总是重新生成。
1.我不知道如何使用install(IMPORTED_RUNTIME_ARTIFACTS ...,它是否解决了我的问题。
看起来我可能在选项1中搞砸了我的EXTRA_FILES的路径,也许它确实工作,因为我希望它工作。

zz2j4svz

zz2j4svz1#

您可以使用install(FILES ...)安装文件,使用install(DIRECTORY ...)安装目录。

相关问题