代码之家  ›  专栏  ›  技术社区  ›  Gizmomogwai

安装(目标…)并添加\u子目录

  •  21
  • Gizmomogwai  · 技术社区  · 14 年前

    是否可以将install(TARGETS…)与在添加了add\u子目录的目录中定义的目标一起使用?

    我有这样的目录结构:

    + 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 Error at CMakeLists.txt:10 (install):
      install TARGETS given target "gtest" which does not exist in this
      directory.
    

    有没有一种方法可以在不修补gtest-1.5.0的情况下做到这一点?

    1 回复  |  直到 14 年前
        1
  •  7
  •   RobertJMaynard    14 年前

    您可以尝试使用文件安装而不是安装目标。缺点是您将不得不处理共享和静态构建。

    install(FILES gtest-1.5.0/gtest_main.so DESTINATION lib)

    推荐文章