Ninja: デフォルトでビルドを冗長にする方法

作成日 2015年01月16日  ·  10コメント  ·  ソース: ninja-build/ninja

こんにちは、

私はCMake経由で忍者を使用しています。 Unix Makefileジェネレーターを使用すると、 -DCMAKE_VERBOSE_MAKEFILE=ONを渡すことができます。これにより、デフォルトで冗長なMakefileが生成されます。 Makefileジェネレーターは、makefileにVERBOSE=1を書き込むことにより、これをアーカイブします。 -v介して忍者を呼び出すのと同じ結果を得るために忍者ファイルに書き込むことができるものはありますか?

ありがとう、
グレゴール

最も参考になるコメント

他の人のために、このSETコマンドが機能し、Ninjaを冗長にしました。

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

全てのコメント10件

いいえ。 -v忍者を呼び出すことの何が問題になっていますか?

これは忍者だけでは直せません。

  • まず、これをサポートするために、忍者ファイル用のcmakeのジェネレーターを変更する必要があります。 (makefileジェネレーターの場合、cmakeは.SILENT特殊ターゲットターゲットを抑制するmakefileを生成します。)
    @gjasnyが提案することを試してみると、
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -G Ninja ../src/cmake4eclipse/testprojects/C-1src/src1
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:
  • 忍者は、特別なターゲット.SILENTや変数展開のようなものを提供する必要があります。 しかし、忍者が変数を拡張するように設計されているとは思えません。

CMake 3.3には、この回避策があります//github.com/Kitware/CMake/commit/ce935ebe50926bde199d86fbde4a78974a4043f9

-DCMAKE_VERBOSE_MAKEFILE=ON構成すると、 cmake --build-vパラメーターを忍者の呼び出しに追加します。

それでも、Ninjafilesに追加できるものを入手できれば便利です。 しかし、現在、私は現状のまま生きることができます。

@gjasny 、私はCMake 3.10を使用しており、 CMakeLists.txt次のset(CMAKE_VERBOSE_MAKEFILE ON)に設定しましたが、Ninjaから追加情報を取得していません。

何か案が?

キャッシュ変数にする必要があります。 これを行う方法については、CMakesetコマンドを参照してください。

他の人のために、このSETコマンドが機能し、Ninjaを冗長にしました。

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

それでも、Ninjafilesに追加できるものを入手できれば便利です。

なぜあなたはそれが必要なのでしょうか?

それでも必要だと思われる場合は、再度開いてください。

このバグに遭遇した可能性のある他の人々の場合: set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")はWindowsでは機能しないようです。 再生:

CMakeLists.txt

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(simplecmake CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

add_library(simplecmake simple.cpp)

simple.cppの内容は関係ありません。

そして、cmakeを実行するために使用するスクリプト。

<strong i="12">@echo</strong> off
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
cd c:/Users/Administrator/ezyang/lab3
cd build
set CC=cl
set CXX=cl
cmake -GNinja ..
cmake --build .

ただし、cmake呼び出しに-DCMAKE_VERBOSE_MAKEFILE=ONを渡すことは機能します。

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)を追加して、cmakeに設定を強制的に飲み込ませました。 ただし、おそらく再生する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価