Halo,
Saya menggunakan ninja melalui CMake. Jika saya menggunakan generator Unix Makefile, saya dapat meneruskan -DCMAKE_VERBOSE_MAKEFILE=ON
yang menghasilkan Makefile verbose secara default. Generator Makefile mengarsipkan ini dengan menulis VERBOSE=1
ke dalam makefile. Apakah ada sesuatu yang dapat ditulis ke dalam file ninja untuk mendapatkan hasil yang sama seperti memanggil ninja melalui -v
?
Terima kasih,
Gregor
Tidak. Apa salahnya memanggil ninja dengan -v
?
Ini tidak bisa diperbaiki oleh ninja saja.
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 memiliki solusi untuk ini: https://github.com/Kitware/CMake/commit/ce935ebe50926bde199d86fbde4a78974a4043f9
Jika Anda mengkonfigurasi dengan -DCMAKE_VERBOSE_MAKEFILE=ON
maka cmake --build
akan menambahkan parameter -v
ke panggilan ninja.
Tetap saja akan menyenangkan untuk mendapatkan sesuatu yang bisa kita tambahkan ke file Ninja. Tapi saat ini saya bisa hidup dengan status-quo.
@gjasny , saya menggunakan CMake 3.10 dan meskipun saya mengatur CMakeLists.txt
berikut set(CMAKE_VERBOSE_MAKEFILE ON)
Saya tidak mendapatkan informasi tambahan dari Ninja.
Ada ide?
Anda perlu menjadikannya variabel cache. Silakan lihat perintah set CMake untuk cara melakukannya.
Untuk referensi untuk orang lain, perintah SET
ini berhasil dan membuat Ninja bertele-tele:
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")
Tetap saja akan menyenangkan untuk mendapatkan sesuatu yang bisa kita tambahkan ke file Ninja.
Mengapa Anda membutuhkan itu?
Silakan buka kembali, jika menurut Anda ini masih diperlukan.
Untuk orang lain yang mungkin mengalami bug ini: set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")
tampaknya tidak berfungsi di Windows. Reproduksi:
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)
Isi simple.cpp tidak masalah.
Dan kemudian skrip yang saya gunakan untuk menjalankan 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 .
Melewati -DCMAKE_VERBOSE_MAKEFILE=ON
ke permintaan cmake tidak berhasil.
menambahkan set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
untuk memaksa cmake menelan pengaturan bekerja untuk saya. Mungkin Anda harus melakukan regenerasi.
Komentar yang paling membantu
Untuk referensi untuk orang lain, perintah
SET
ini berhasil dan membuat Ninja bertele-tele: