【问题标题】:How to hide targets in Visual Studio from CMake如何从 CMake 隐藏 Visual Studio 中的目标
【发布时间】:2017-02-21 16:48:57
【问题描述】:

我正在使用 CMake 生成一个 .sln。 我想使用 Google Test 并使用这种代码来添加新测试:

add_executable(my_test test/my_test.cpp)
target_link_libraries(my_test gtest gmock_main)
add_test(NAME my_test COMMAND my_test)

它工作正常,但是当我打开我的 .sln 时,我的解决方案资源管理器中出现了所有目标:库、单元测试等。

有没有办法隐藏这些目标?

【问题讨论】:

  • 我不确定你可以隐藏目标,但你可以做的是分组目标。
  • 据我所知,没有办法在 Visual Studio 本身中隐藏项目,因此 CMake 不太可能帮助您。为什么还是有问题?我想你总是可以把它分成几个解决方案,但在我看来,这只会是无益的麻烦。
  • 这是一个问题,因为有些项目包含很多构建目标。例如 GLFW 包含大约 50 个构建目标,Visual Studio 中的列表并不真正适用于这么多条目,因为它没有搜索功能并且滚动很尴尬。这也让项目的新用户更难找到他们真正关心的目标。
  • 哦,实际上我更关心的是 VS2017 中的 CMake > Build Only 菜单,它更难导航。但是,我怀疑该列表确实来自解决方案资源管理器中的任何内容,因此如果您可以将其拆分,它可能会同时清理两者。

标签: c++ visual-studio cmake googletest


【解决方案1】:

您不能在 cmake (ATM) 中明确 这样做,但这里有一种方法可以更有效地隐藏多个目标:只需将它们放在同一个“文件夹”中(在cmake),然后隐藏文件夹(在 Visual Studio 中)。

假设您有名为 Mm、Nn 和 Pp 的 cmake 目标,您想在 Visual Studio 中隐藏它们。您需要对 cmake 说允许“文件夹”,并且只需将 set the property 称为 FOLDER 就像这样

set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_target_properties(Mm Nn Pp PROPERTIES FOLDER nameOfTheFolder)

然后右键单击解决方案中的文件夹nameOfTheFolder,然后隐藏文件夹

如果您想再次查看隐藏文件夹,请右键单击解决方案,然后取消隐藏文件夹(至少在 Visual Studio 2010 中是这样)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2021-06-25
    相关资源
    最近更新 更多