मैं एक परियोजना के अंदर एक git सबमॉड्यूल के रूप में RtMidi का उपयोग कर रहा हूँ, मैंने cmake के साथ बिल्ड सिस्टम को कोडित किया है, लेकिन मैं अपने प्रोजेक्ट के निर्माण के लिए RtMidi उदाहरणों को अक्षम करना चाहता हूँ, मुझे rtmidi/CMakeLists.txt के अंदर की रेखाएँ मिली हैं जो सक्षम करती हैं उदाहरणों का निर्माण।

option(RTMIDI_BUILD_TESTING "Build test programs" ON)
if (NOT DEFINED RTMIDI_BUILD_TESTING OR RTMIDI_BUILD_TESTING STREQUAL "")
  set(RTMIDI_BUILD_TESTING ${BUILD_TESTING})
endif()

if (RTMIDI_BUILD_TESTING)

    #Examples are built here

endif()

मुझे लगता है कि उदाहरणों के बिना निर्माण का कोई तरीका नहीं है क्योंकि उपरोक्त कोड पर दूसरी पंक्ति, कोई विचार?

1
Cheche Romo 28 अगस्त 2021, 23:38
2
बहुत set(RTMIDI_BUILD_TESTING OFF)?
 – 
KamilCuk
28 अगस्त 2021, 23:41
क्या पहली पंक्ति उस पर हावी नहीं होगी?
 – 
Cheche Romo
29 अगस्त 2021, 00:00
आप इसे क्यों नहीं आजमाते? शायद देखें cmake.org/cmake/help/latest/command/option.html< /ए>
 – 
KamilCuk
29 अगस्त 2021, 00:05
यह काम किया, मैंने नहीं देखा है कि यदि चर पहले से मौजूद है तो विकल्प कुछ भी नहीं करता है, धन्यवाद
 – 
Cheche Romo
29 अगस्त 2021, 00:54

1 उत्तर

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

Rtmidi न्यूनतम सीएमके संस्करण को 3.10 पर सेट करता है, लेकिन समझदार option() व्यवहार (set() का सम्मान) पेश नहीं किया गया था 3.13 तक

कोई बात नहीं, मौका मिलने से पहले बस विकल्प को OFF पर परिभाषित करें।

option(RTMIDI_BUILD_TESTING "Build test programs" OFF)
add_subdirectory(rtmidi)
2
Alex Reinking 29 अगस्त 2021, 00:52
धन्यवाद, यह काम करता है, मुझे नहीं पता था कि जब एक चर पहले से ही कैश विकल्प पर है () को नजरअंदाज कर दिया जाता है
 – 
Cheche Romo
29 अगस्त 2021, 00:55
1
यदि ऐसा नहीं होता, तो यह विकल्प सेट करने की विधि के रूप में काम नहीं करेगा।
 – 
Alex Reinking
29 अगस्त 2021, 00:57
मुझे लगता है कि जब आप इसके बारे में सोचते हैं तो यह स्पष्ट होता है, और मैं सीएमके हेहे का उपयोग कर सिर्फ एक नोब हूं
 – 
Cheche Romo
29 अगस्त 2021, 00:59
1
- हर कोई एक नोब शुरू करता है :) और सीएमके लोल के बारे में कुछ भी स्पष्ट नहीं है
 – 
Alex Reinking
29 अगस्त 2021, 01:00