C ++模块TS& CMake的

时间:2017-10-02 12:29:46

标签: c++ module cmake clang

我很好奇C ++模块TS。我和Clang的实施一起玩了一下。一次只有一两个文件。

现在我想尝试更大的东西。我想使用CMake。

有人知道是否有一些使用CMake的Clang模块实现的好方法,或者是否有一些CMake模块可以帮助我解决这个问题?

我真的很想知道。否则我必须考虑使用不同的构建系统。

2 个答案:

答案 0 :(得分:1)

我建议你试试build2:
https://build2.org/build2/doc/build2-build-system-manual.xhtml#cxx-modules
它支持Visual Studio,gcc和clang的模块。对于gcc,有一个包含标准库的包:
https://build2.org/pkg/hello/libstd-modules?f=full&q=library
请注意,Microsoft实现,从Visual Studio 2017更新4开始,使用.ixx文件中的旧语法(模块xyz;而不是导出模块xyz;后者是最后的模块TS草案要求)

答案 1 :(得分:0)

它不应该比配置proper command-line arguments更难。由于这个功能尚未标准化,并且在两个已知的实现之间有所不同(clang和MSVC - gcc 7.2文档没有提到我能找到的模块),我不希望有任何CMake功能处理任何事情。

AFAIK,如果它们位于模块映射文件中,则将标题视为特殊标记的方法是滞后于current working draft for modules。 IMO,尝试使用MSVC更有用,MSVC目前更接近跟踪模块的WD。我不知道为什么g ++和clang在这里滞后,他们通常是早期采用者。也许是因为规范仍处于工作草案阶段,还不是TS,我不知道。