gpt4 book ai didi

installation - install(TARGETS…)和add_subdirectory

转载 作者:行者123 更新时间:2023-12-03 11:59:24 26 4
gpt4 key购买 nike

是否可以将install(TARGETS ...)与在add_subdirectory添加的目录中定义的目标一起使用?

我的用例是,我想为gtest构建一个rpm的e.gg。 gtest项目恰好有一个CMakeLists.txt,没有任何安装语句。我想构建软件包而不将那些语句添加到gtest的CMakeLists.txt中。

我有这个结果目录结构:

+ gtest-1.5.0/...
+ CMakeLists.txt

gtest-1.5.0的CMakeLists定义如下库:
cxx_static_library(gtest "${cxx_strict}" src/gtest-all.cc)
cxx_static_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
target_link_libraries(gtest_main gtest)

现在我想向我的CMakeLists.txt添加这样的内容:
add_subdirectory(gtest-1.5.0)
install(TARGETS gtest gtest_main ARCHIVE DESTINATION lib)

但cmake正确指出:
CMake Error at CMakeLists.txt:10 (install):
install TARGETS given target "gtest" which does not exist in this
directory.

有没有一种方法可以不修补gtest-1.5.0?

最佳答案

您可以尝试使用文件安装而不是安装目标。缺点是您将必须处理共享和静态构建。
install(FILES gtest-1.5.0/gtest_main.so DESTINATION lib)

关于installation - install(TARGETS…)和add_subdirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com