Hola,
Estoy usando ninja a través de CMake. Si uso el generador de Makefile de Unix, puedo pasar -DCMAKE_VERBOSE_MAKEFILE=ON
que da como resultado Makefiles detallados de forma predeterminada. El generador de Makefile archiva esto escribiendo VERBOSE=1
en el archivo Makefile. ¿Hay algo que pueda escribir en un archivo ninja para obtener el mismo resultado que llamar a ninja a través de -v
?
Gracias,
Gregor
No. ¿Qué tiene de malo llamar a ninja con -v
?
Esto no lo puede arreglar el ninja solo.
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 tiene una solución alternativa para esto: https://github.com/Kitware/CMake/commit/ce935ebe50926bde199d86fbde4a78974a4043f9
Si configura con -DCMAKE_VERBOSE_MAKEFILE=ON
entonces cmake --build
agregará el parámetro -v
a la llamada ninja.
Aún así, sería bueno obtener algo que pudiéramos agregar a los Ninjafiles. Pero actualmente puedo vivir con el status quo.
@gjasny , uso CMake 3.10 y aunque configuré en CMakeLists.txt
el siguiente set(CMAKE_VERBOSE_MAKEFILE ON)
no obtengo ninguna información adicional de Ninja.
¿Alguna idea?
Debe convertirlo en una variable de caché. Consulte el comando CMake set para saber cómo hacer esto.
Como referencia para otros, este comando SET
hizo el trabajo e hizo que Ninja fuera detallado:
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")
Aún así, sería bueno obtener algo que pudiéramos agregar a los Ninjafiles.
¿Por qué necesitarías esto?
Vuelva a abrir, si aún cree que es necesario.
Para otras personas que pueden haber tenido este error: set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")
no parece funcionar en Windows. Reproducción:
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)
El contenido de simple.cpp no importa.
Y luego el script que uso para ejecutar 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 .
Sin embargo, pasar -DCMAKE_VERBOSE_MAKEFILE=ON
a la invocación de cmake funciona.
agregar set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
para forzar a cmake a tragarse la configuración funcionó para mí. Aunque quizás tengas que regenerarte.
Comentario más útil
Como referencia para otros, este comando
SET
hizo el trabajo e hizo que Ninja fuera detallado: