boost build: отключить -Weffc ++ для каждого модуля - PullRequest
0 голосов
/ 27 октября 2011

Я использую boost build для большого проекта, который разделен на разные подпроекты. Вот файл jamroot:

project
    : requirements
    <variant>debug:<define>DEBUG
    <variant>release:<define>NDEBUG
    <variant>debug:<cxxflags>-Weffc++
    <include>.
    :
    ;

use-project ...
use-project ...
...

build-project ...
build-project ...
...

Один подпроект включает автоматически сгенерированный код, который не очень хорош в стиле кода. Поэтому я хотел бы отключить директиву tie -Weffc ++ для этого подпроекта. Объявление -Weffc ++ для каждого подпроекта возможно, но мне не очень нравится это решение, потому что я хочу, чтобы -Weffc ++ везде, НО (в очень немногих) подпроектах я его отключаю.

Есть ли возможность в форсированной сборке отключить эту директиву для каждого подпроекта? Или есть опция компилятора gcc, которую я могу добавить с другим в подпроекте, и это отключит уже указанный -Weffc ++?

1 Ответ

2 голосов
/ 27 октября 2011

Вы можете отменить любой параметр предупреждения Gcc с префиксом no-: g++ -Wno-effc++. Определите это для подпроектов, которые вы хотите исключить, и оно должно работать, пока параметры подпроектов добавляются в командную строку после значений по умолчанию.

...