के साथ कंपाइलर उपसर्ग कमांड का उपयोग करना ऐसी सुविधाएं हैं जो एक उपसर्ग के रूप में कमांड जोड़कर मौजूदा कंपाइलर का उपयोग करती हैं (इसलिए cc -c file.c
पर कॉल करने के बजाय आप distcc cc -c file.c
पर कॉल कर सकते हैं)।सीएमके (distcc, ccache)
सीएमके का उपयोग करते समय संकलक कमांड को बदला जा सकता है, हालांकि मैं distcc
का उपयोग करने की समस्याओं में भाग गया, हालांकि यह संकलक (ccache
भी) के किसी भी कमांड उपसर्ग पर लागू होगा।
/usr/bin/distcc /usr/bin/cc is not a full path to an existing compiler tool.
/usr/bin/distcc
और CMAKE_C_COMPILER_ARG1
या CMAKE_C_FLAGS
को संकलक की स्थापना शुरू करने के लिए:
CMake उम्मीद संकलक एक निरपेक्ष पथ होने के लिए,
तो/usr/bin/distcc /usr/bin/cc
कोCMAKE_C_COMPILER
की स्थापना, एक त्रुटि देता है/usr/bin/cc
कुछ मामलों में काम करता है, लेकिनCHECK_C_SOURCE_COMPILES
के साथ विफल रहता है (यदि चेक किया गया है इस का समर्थन करने का कोई तरीका था, यहां तक किCMAKE_REQUIRED_FLAGS
उपसर्ग भी काम नहीं कर रहा था)।
एक ही तरीका है मैं यह करने के लिए मिला एक खोल स्क्रिप्ट में कमांड रैप करने के लिए है।
#!/bin/sh
exec /usr/bin/distcc /usr/bin/cc "[email protected]"
हालांकि यह काम करता है, यह CMake साथ संकलक सहायकों उपयोग करने के लिए हालांकि शेल स्क्रिप्ट जाना (कुछ छोटे भूमि के ऊपर दे रही है जब निर्माण प्रणाली सिर्फ एक आदेश उपसर्ग इस्तेमाल कर सकते हैं) बिना सक्षम होने के लिए अच्छा होगा।
तो मेरे सवाल है:
CMake (जैसे distcc के रूप में) संकलक उपसर्ग आदेशों का उपयोग कर सकते हैं सीधे ?, खोल स्क्रिप्ट रैपर के बिना?
अपने 'CC' /' CXX' वातावरण चर सेट कर रहा है जब cmake बुला (जैसे 'सीसी =" distcc जीसीसी " cmake ..') किसी कारण से अपर्याप्त? –
@ इस्कार जराक, यह काम करता है! (इसलिए मुझे लगता है कि यह जवाब हो सकता है)। दिलचस्प बात यह है कि आंतरिक रूप से पहले कमांड के लिए 'CMAKE_C_COMPILER' और दूसरे के लिए' CMAKE_C_COMPILER_ARG1' का उपयोग किया जाता है। मुझे यकीन नहीं है कि क्या चल रहा है - क्योंकि मैंने पहले से ही cmake-gui में इसे सेट करने का प्रयास किया था और 'CHAKK_C_SOURCE_COMPILES'' के साथ 'CMAKE_C_COMPILER_ARG1' को अनदेखा किया जा रहा था। – ideasman42
खुशी है कि यह काम करता है। पर्यावरण परिवर्तक को सेट करना शायद कुछ अन्य चीजों को भी सेट करता है, जो चीजें 'CHECK_C_SOURCE_COMPILES' उपयोग करती हैं ... हालांकि मैं 100% नहीं हूं ... यही कारण है कि सीएमके में व्यक्तिगत चर के साथ गड़बड़ करना गर्दन में इतना दर्द है। –