مرحبا،
أنا أستخدم النينجا عبر CMake. إذا استخدمت مُنشئ Unix Makefile ، فأنا قادر على تمرير -DCMAKE_VERBOSE_MAKEFILE=ON
مما ينتج عنه ملفات Makefiles مطولة بشكل افتراضي. يقوم منشئ Makefile بأرشفة هذا عن طريق كتابة VERBOSE=1
في ملف makefile. هل هناك أي شيء يمكن كتابته في ملف النينجا للحصول على نفس النتيجة مثل استدعاء النينجا عبر -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 على حل بديل لهذا: https://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.
اي فكرة؟
تحتاج إلى جعله متغير ذاكرة التخزين المؤقت. يرجى مراجعة الأمر CMake set لمعرفة كيفية القيام بذلك.
كمرجع للآخرين ، قام هذا الأمر 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 .
بالرغم من ذلك ، فإن تمرير -DCMAKE_VERBOSE_MAKEFILE=ON
لاستدعاء cmake يعمل.
إضافة set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
لإجبار cmake على ابتلاع الإعداد المناسب لي. ربما عليك أن تتجدد ، رغم ذلك.
التعليق الأكثر فائدة
كمرجع للآخرين ، قام هذا الأمر
SET
بالعمل وجعل Ninja مطولًا: