こんにちは、
私はCMake経由で忍者を使用しています。 Unix Makefileジェネレーターを使用すると、 -DCMAKE_VERBOSE_MAKEFILE=ON
を渡すことができます。これにより、デフォルトで冗長なMakefileが生成されます。 Makefileジェネレーターは、makefileにVERBOSE=1
を書き込むことにより、これをアーカイブします。 -v
介して忍者を呼び出すのと同じ結果を得るために忍者ファイルに書き込むことができるものはありますか?
ありがとう、
グレゴール
いいえ。 -v
忍者を呼び出すことの何が問題になっていますか?
これは忍者だけでは直せません。
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:
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に設定を強制的に飲み込ませました。 ただし、おそらく再生する必要があります。
最も参考になるコメント
他の人のために、この
SET
コマンドが機能し、Ninjaを冗長にしました。