मैं कस्टम लक्ष्य बनाने के लिए सीएमके बिल्ड टूल मोड का उपयोग कर रहा हूं। कस्टम लक्ष्य एक कमांड को आमंत्रित करता है (कहते हैं, foo) जिसका आउटपुट मुझे पसंद है।

लेकिन सीएमके foo के आउटपुट को प्रिंट करने से पहले आउटपुट की कई लाइनें प्रिंट करता है, जिनमें मुझे कोई दिलचस्पी नहीं है:

$ cmake --build . --target check
=== BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ Rules build/delta.build/Debug/ZERO_CHECK.build/Script-6DF082DADA6745879D9E0B1F.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/delta.build/Debug/ZERO_CHECK.build/Script-6DF082DADA6745879D9E0B1F.sh
echo ""

make -f /Users/emlai/Code/delta/build/CMakeScripts/ReRunCMake.make
make[1]: `/Users/emlai/Code/delta/build/CMakeFiles/cmake.check_cache' is up to date.

=== BUILD TARGET not OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

=== BUILD TARGET FileCheck OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

=== BUILD TARGET deltaAST OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ PostBuild\ Rules build/src/ast/delta.build/Debug/deltaAST.build/Script-DFCB4F26C551468881A4AD63.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/src/ast/delta.build/Debug/deltaAST.build/Script-DFCB4F26C551468881A4AD63.sh
echo "Creating symlinks"
Creating symlinks
/usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_symlink_library /Users/emlai/Code/delta/build/src/ast/Debug/libdeltaAST.dylib /Users/emlai/Code/delta/build/src/ast/Debug/libdeltaAST.dylib /Users/emlai/Code/delta/build/src/ast/Debug/libdeltaAST.dylib

=== BUILD TARGET deltaSupport OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ PostBuild\ Rules build/src/support/delta.build/Debug/deltaSupport.build/Script-7CAA0CC95B4E463993DC6A8F.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/src/support/delta.build/Debug/deltaSupport.build/Script-7CAA0CC95B4E463993DC6A8F.sh
echo "Creating symlinks"
Creating symlinks
/usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_symlink_library /Users/emlai/Code/delta/build/src/support/Debug/libdeltaSupport.dylib /Users/emlai/Code/delta/build/src/support/Debug/libdeltaSupport.dylib /Users/emlai/Code/delta/build/src/support/Debug/libdeltaSupport.dylib

=== BUILD TARGET deltaSema OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ PostBuild\ Rules build/src/sema/delta.build/Debug/deltaSema.build/Script-73FADE92ABAA422B8804BD88.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/src/sema/delta.build/Debug/deltaSema.build/Script-73FADE92ABAA422B8804BD88.sh
echo "Creating symlinks"
Creating symlinks
/usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_symlink_library /Users/emlai/Code/delta/build/src/sema/Debug/libdeltaSema.dylib /Users/emlai/Code/delta/build/src/sema/Debug/libdeltaSema.dylib /Users/emlai/Code/delta/build/src/sema/Debug/libdeltaSema.dylib

=== BUILD TARGET deltaIRGen OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ PostBuild\ Rules build/src/irgen/delta.build/Debug/deltaIRGen.build/Script-228C0796627D463597C57E83.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/src/irgen/delta.build/Debug/deltaIRGen.build/Script-228C0796627D463597C57E83.sh
echo "Creating symlinks"
Creating symlinks
/usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_symlink_library /Users/emlai/Code/delta/build/src/irgen/Debug/libdeltaIRGen.dylib /Users/emlai/Code/delta/build/src/irgen/Debug/libdeltaIRGen.dylib /Users/emlai/Code/delta/build/src/irgen/Debug/libdeltaIRGen.dylib

=== BUILD TARGET deltaParser OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ PostBuild\ Rules build/src/parser/delta.build/Debug/deltaParser.build/Script-33329F75832D4A15AECE47BD.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/src/parser/delta.build/Debug/deltaParser.build/Script-33329F75832D4A15AECE47BD.sh
echo "Creating symlinks"
Creating symlinks
/usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_symlink_library /Users/emlai/Code/delta/build/src/parser/Debug/libdeltaParser.dylib /Users/emlai/Code/delta/build/src/parser/Debug/libdeltaParser.dylib /Users/emlai/Code/delta/build/src/parser/Debug/libdeltaParser.dylib

=== BUILD TARGET delta OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

=== BUILD AGGREGATE TARGET check OF PROJECT delta WITH CONFIGURATION Debug ===

Check dependencies

PhaseScriptExecution CMake\ Rules build/delta.build/Debug/check.build/Script-A3D22E5853C4469BA62E14D5.sh
    cd /Users/emlai/Code/delta
    /bin/sh -c /Users/emlai/Code/delta/build/delta.build/Debug/check.build/Script-A3D22E5853C4469BA62E14D5.sh
echo ""

<here's the output from foo>

क्या सीएमके को इस जानकारी को दबाने और केवल foo के आउटपुट को प्रिंट करने के लिए कहने का कोई तरीका है?

5
emlai 8 अगस्त 2017, 21:07

1 उत्तर

सबसे बढ़िया उत्तर

आउटपुट सीएमके का आउटपुट नहीं था, लेकिन अंतर्निहित देशी बिल्ड टूल का था। -- के बाद कमांड-लाइन विकल्प इसे पास किया जा सकता है:

$ cmake --build . --target check -- -quiet

यदि आपके बिल्ड टूल में --quiet मोड नहीं है, तो आप tail पहली n पंक्तियों को छोड़ने के लिए वर्कअराउंड के रूप में उपयोग कर सकते हैं:

$ cmake --build . --target check | tail -n +90
6
emlai 13 मार्च 2020, 17:36
--quiet होना चाहिए
 – 
smac89
1 जिंदा 2018, 02:00
नहीं, यह वास्तव में काम नहीं करता है क्योंकि उस तर्क को प्राप्त करने वाला निर्माण उपकरण xcodebuild (मेरी स्थिति में) है और यह केवल -quiet स्वीकार करता है, --quiet नहीं।
 – 
emlai
1 जिंदा 2018, 13:05
मैंने देखा, मुझे लगा कि आप make को बिल्ड टूल के रूप में उपयोग कर रहे हैं
 – 
smac89
1 जिंदा 2018, 19:35