build2: компилятор не поддерживает модули

Я могу строить проекты C ++ без модулей C ++ с build2, но когда я пытаюсь настроить и использовать build2 с модулями c ++, у меня появляется ошибка «компилятор не поддерживает модули».

Я уверен, что мой компилятор способен создавать модули, потому что я могу собирать вручную с помощью этих команд:

clang++ --std=c++17 -fmodules-ts --precompile foo.cppm -o foo.pcm
clang++ --std=c++17 -fmodules-ts --precompile foo2.cppm -o foo2.pcm
clang++ --std=c++17 -fmodules-ts -c foo.pcm -o foo.o
clang++ --std=c++17 -fmodules-ts -c foo2.pcm -o foo2.o
clang++ --std=c++17 -fmodules-ts -fprebuilt-module-path=. foo.o foo2.o bar.cpp

Версия моего звонка 7.0.0:

$ clang++ --version
clang version 7.0.0- (trunk)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

Чтобы включить поддержку модулей в build2, я добавил следующие строки в root buildfile:

cxx.std = experimental

using cxx

assert $cxx.features.modules 'compiler does not support modules'

mxx{*}: extension = mxx
cxx{*}: extension = cxx

Что может быть не так? Это мой первый раз с build2, поэтому я могу упустить что-то очень простое.

1

Решение

Удалось это сработать.

Как я понимаю проблема была в том что я поменял buildfile, но следует использовать build/root.build вместо.

0

Другие решения

Других решений пока нет …