我很好奇C ++模块TS。我和Clang的实施一起玩了一下。一次只有一两个文件。
现在我想尝试更大的东西。我想使用CMake。
有人知道是否有一些使用CMake的Clang模块实现的好方法,或者是否有一些CMake模块可以帮助我解决这个问题?
我真的很想知道。否则我必须考虑使用不同的构建系统。
答案 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,我不知道。