मैं Xcode के साथ CMake उपयोग कर रहा हूँ एक सी ++/ग "परियोजना" (my_project) और कुछ C++/ग "लक्ष्य" उत्पन्न करने के लिए (एक एक द्विआधारी है, बाकी पुस्तकालय हैं)CMake शीर्ष स्तरीय XCode प्रोजेक्ट गुण
project(my_project)
add_subdirectory(library_projectA)
add_subdirectory(library_projectB)
add_subdirectory(binary_project)
प्रत्येक उपनिर्देशिका के साथ या तो एक CMakeLists.txt है:: मेरी CMakeLists.txt कुछ इस तरह दिखता
add_library(library_projectA)
या
add_executable(binary_project)
जो शीर्ष स्तर my_project.xcodeproj उत्पन्न करता है, जो उपप्रोजेक्ट का संदर्भ देता है।
लक्ष्य, परियोजना, डिफ़ॉल्ट
मैं my_project के लिए "परियोजना" क्षेत्रों को बदलने के लिए है, यानी चाहते हैं:
Xcode इस श्रेणीबद्ध संपत्ति विरासत (बाएं क्षेत्रों सही क्षेत्रों से प्राथमिकता दी जाती है)। यह सभी लक्ष्यों को प्रभावित करना चाहिए।
मैं इस की कोशिश की है:
add_custom_target(my_project)
add_target_properties(my_project PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
लेकिन यह काम नहीं करता।
ध्यान दें कि अगर मैं "लक्ष्य" में से एक में यह डाल: फिर
add_target_properties(binary_project PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
इस काम करता है, लेकिन केवल कि "लक्ष्य"
यदि यह स्पष्ट नहीं है, मैं था के लिए एक कामकाजी उदाहरण प्रदान करने में प्रसन्न रहें, लेकिन इसमें कुछ समय लगेगा ...
किसी भी मौके पर किसी को भी पूरी समस्या के त्वरित समाधान के बारे में पता है, तो मुझे एक्सकोड का क्लीन इंस्टॉल नहीं चाहिए इस (या किसी अन्य) चेतावनी के साथ आओ:
प्रोजेक्ट 'my_project' आर्किटेक्चर सेटिंग को ओवरराइड करता है। यह सेटिंग को हटा देगा और सक्रिय प्लेटफ़ॉर्म के लिए उपलब्ध हार्डवेयर और परिनियोजन लक्ष्य के आधार पर एक्सकोड स्वचालित रूप से आर्किटेक्चर का चयन करने की अनुमति देगा।
दुःख की बात यह चेतावनी ओपी के बारे में बात कर रही है को दूर नहीं करता और ठीक XCode पता चलता है जो कुछ अजीब कारण के लिए अन्य सेटिंग्स का एक समूह को हटा उपयोग करने के लिए हमें बाध्य करती है। – Samaursa