在现代 CMake 中,习惯上在命名空间内导出目标,例如导出foo
项目foo::foo
,也许还有foo::bar
其他。
我的问题是:这些命名空间本身是否真的意味着什么,或者它们只是单个名称的一部分,而没有 CMake 分隔分隔的::
名称组件?
如果前者是正确的,你能说“命名空间中的所有目标”之类的东西吗?或者以其他方式使用命名空间?
我已经尝试在官方CMAKE维基上找到这些信息以及搜索SO(目前正在等待提升下载所以我可以通过源代码查找他们是如何做到的).我希望这里的某个人能够帮助完成这项工作,或者指出我正确的答案方向!
我有一个包含多个组件的项目.现在,该项目具有库和应用程序的子目录.我正在尝试重构项目并在各个存储库中安装应用程序并导出库.
其他项目如何使用以下命令(具体来说,指定哪些组件):
FIND_PACKAGE(Boost REQUIRED COMPONENTS系统date_time文件系统)
我想为我自己的项目使用相同的系统:
FIND_PACKAGE(项目需要组件查看gui执行分析)
您将提供的任何帮助将不胜感激.
我知道在 CMake 中我可以找到并需要我需要的 Qt5 库,代码如下:
find_package(Qt5 5.12.0 REQUIRED
COMPONENTS Gui Qml QuickControls2 Svg
)
Run Code Online (Sandbox Code Playgroud)
但是我怎么知道我可以在后面列出的确切名称COMPONENTS
?