我使用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
的路径,也许它确实工作,因为我希望它工作。
1条答案
按热度按时间zz2j4svz1#
您可以使用
install(FILES ...)
安装文件,使用install(DIRECTORY ...)
安装目录。