CMake安装(子目录中的TARGETS)

门德斯

考虑以下CMakeLists.txt文件:

add_subdirectory(execA)
add_subdirectory(libB)

install(TARGETS execA libB
        RUNTIME DESTINATION bin
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)

我收到以下错误:

install TARGETS given target "execA" which does not exist in this
  directory

execAlibB具有自己的CMakeList.txt文件,位于project目录以及我正在运行的构建目录cmakecmake ..)下:

project
  |------ CMakeList.txt (the one with the code)
  |----execA
  |      \- .cpp, .hpp and CMakelist.txt
  |----libB
  |      \- .cpp, .hpp and CMakelist.txt
  |---- lib
  |---- bin
  \---- build (where I´m commanding: $ cmake ..

如何解决此错误?

齐瓦列夫

根据此错误报告install(TARGETS)命令流仅接受在同一目录中创建的目标

因此,您需要将add_library()调用移至顶级目录,或将install(TARGETS)调用拆分为按目标的调用,然后将每个调用移至相应的子目录。

由于CMake 3.13甚至install(TARGETS) 可以与在其他目录中创建的目标一起使用。

install(TARGETS)可以安装在其他目录中创建的目标。使用此类跨目录安装规则时,make install从子目录运行(或类似操作)将无法保证其他目录中的目标是最新的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在cmake中,如何从子目录安装共享库?

来自分类Dev

CMake排除子目录中的测试

来自分类Dev

在子目录中安装Codeigniter 2.1.4

来自分类Dev

在子目录中安装Joomla

来自分类Dev

如何启用cmake从安装中排除子目录?

来自分类Dev

cmake:子目录B中的目标需要传递的子目录A中的生成头

来自分类Dev

需要使用 CMake 从库子目录中复制 DLL 以测试子目录

来自分类Dev

子目录中的CMake链接库

来自分类Dev

在CMake中跨子目录保留文件层次结构

来自分类Dev

如何在Windows Azure的子目录中安装Wordpress

来自分类Dev

如何从git仓库中的子目录安装Bower组件?

来自分类Dev

在嵌套的子目录中安装几个单独的Wordpress网站

来自分类Dev

是否可以仅在子目录中安装lumen或laravel

来自分类Dev

CMake:将目录从子目录(又称为库)中包含到父目录中

来自分类Dev

子目录中的cakePHP

来自分类Dev

提示中的子目录?

来自分类Dev

子目录中的测试

来自分类Dev

子目录中的cakePHP

来自分类Dev

子目录中的文件?

来自分类Dev

对依赖的CMake子目录使用project()

来自分类Dev

介子找不到cmake子目录

来自分类Dev

镜像SVN子目录中的git子目录

来自分类Dev

镜像SVN子目录中的git子目录

来自分类Dev

使用循环在子目录中的子目录

来自分类Dev

删除子目录中留下给定的子目录

来自分类Dev

从所有子目录安装软件

来自分类Dev

CMake-将子目录中的所有源添加到cmake项目

来自分类Dev

将根项目的包含目录添加到CMake中的子目录的最佳方法

来自分类Dev

目录中的子目录数?