gpt4 book ai didi

c++ - 如何在 CMake 中隐藏某些目标?

转载 作者:可可西里 更新时间:2023-11-01 16:50:48 25 4
gpt4 key购买 nike

我有一个库是作为我基于 CMake 的项目的一部分构建的。这个库有很多目标,我不想看到它们出现在我的目标列表中(在 Visual Studio 或 QtCreator 下)。有没有一种方法可以让我将这个库构建为我的项目构建的一部分(有点像依赖构建)但看不到这个库的可用目标?

最佳答案

目前几乎没有明确支持在这些 IDE 中隐藏特定目标。 CMake(还)不支持显示/隐藏目标选项。但是,有一种方法可以避免在 Visual Studio 中滚动长长的目标列表;您可以使用 IDE 文件夹分组您的目标。 CMake 通过设置 FOLDER 来支持这一点特定目标的属性(property)。

首先,通过将此行添加到顶层 CMakeLists.txt 文件来告诉 CMake 启用 IDE 文件夹:

set_property(GLOBAL PROPERTY USE_FOLDERS ON)

然后,通过设置 FOLDER 属性将您的目标组织到文件夹中。

# Put these targets in the 'HiddenTargets' folder in the IDE.
set_target_properties(SillyLib1 SillyLib2 DontCareLib1 PROPERTIES FOLDER HiddenTargets)
# Put these targets in the 'AppTools' folder in the IDE.
set_target_properties(WriterLib1 ReaderLib1 AwesomeLib42 PROPERTIES FOLDER AppTools)

现在,您的 CMake 目标将被放置在 Visual Studio Solution ExplorerHiddenTargetsAppTools 文件夹中。您可以折叠包含您不想看到的目标的文件夹,或完全隐藏该文件夹(通过右键单击该文件夹,然后选择隐藏文件夹)。目标仍将可用(并在必要时构建),只是在解决方案资源管理器 中不可见。您可以通过右键单击解决方案并选择取消隐藏文件夹来取消隐藏隐藏的文件夹。


据我所知,Qt Creator 不支持这个。然而,在 2017 年,他们解决了类似的问题 request隐藏 CMake 目标。一般而言,此错误修复(在 Qt Creator 4.4.0 及更高版本中实现)清理了受污染的目标 View (删除了源目录列表),并改进了它们的隐藏生成的文件隐藏空文件夹功能,使用户能够更好地控制项目列表中显示/隐藏的内容。

关于c++ - 如何在 CMake 中隐藏某些目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080240/

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