安装EXCLUDE_FROM_ALL子目录

问题描述 投票:1回答:1

我有一个项目A,它使用项目B中定义的一些目标。因此我做了add_subdirectory(<PATH_TO B> EXCLUDE_FROM_ALL)包含子目录。现在,我使用组件创建安装目标,并且A中有一些安装组件也需要来自B的目标。但是,由于EXCLUDE_FROM_ALLcmake_install.cmakeA不包括BCMakeLists.txt。我该怎么做呢?

cmake
1个回答
1
投票

您可以在cmake 3.13之后安装子目录add_subdirectory(path/to/sub_dir EXCLUDE_FROM_ALL) target_link_library(your_target PRIVATE your_sub_dir_target) ... install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/path/to/sub_dir/cmake_install.cmake) 中定义的特定目标。

在3.13之前,用户可以使用

EXCLUDE_FROM_ALL

使用your_sub_dir_targetALL将不包含在qazxswpoi目标中,然后不会为你的sub_dir调用install命令,你需要手动执行它。

© www.soinside.com 2019 - 2024. All rights reserved.