2015-11-19 4 views
7

मैं पहले से ही देख रहा हूं (स्टैक ओवरफ्लो और अधिक) और मैं विजुअल स्टूडियो फ़िल्टर जेनरेट करने के लिए सेमेक का उपयोग करने का प्रयास करता हूं। यानी ... मैं निम्न फ़ोल्डर है:सेमेक: दृश्य स्टूडियो फ़िल्टर कैसे बनाएं

src/गणित src/आयात src/ui

और मैं thos

तरह फिल्टर

"गणित" उत्पन्न करने के लिए करना चाहते हैं: शामिल सभी सीपीपी src/गणित में & ज फ़ाइलें

"आयात": src/आयात में सभी सीपीपी & ज फ़ाइलें हैं

"ui": सभी सीपीपी शामिल +०१२३२२४९२०९३एच फाइलों में src/ui

मैंने सेवरक समाधान का प्रयास किया है, लेकिन कोई भी काम नहीं कर रहा है !!!

set(VD_SRC "${VisualDesigner_SOURCE_DIR}/src/visualdesigner") 

file(GLOB_RECURSE SRC_UI 
    "${VD_SRC}/ui/*.cpp", "${VD_SRC}/ui/*.h") 
file(GLOB_RECURSE SRC_IMPORT 
    "${VD_SRC}/import/*.cpp", 
    "${VD_SRC}/import/*.h") 

source_group("ui"   FILES ${SRC_UI}) 
source_group("import"  FILES ${SRC_IMPORT}) 

किसी भी मदद का स्वागत किया जाता है:

यहाँ CMakeList.txt में कोड के अंतिम संस्करण है!

+0

मुझे लगता है कि आप फ़ाइलों के लिए एक लक्ष्य प्राप्त करना चाहते हैं? या फिल्टर के साथ आपका क्या मतलब है? क्या यह कुछ दृश्य स्टूडियो विशिष्ट है? – usr1234567

+0

हां, विजुअल स्टूडियो में "समाधान" में किसी प्रकार का "फ़ोल्डर" है, वे इसे "फ़िल्टर" कहते हैं। यह वीएस में फ़ोल्डरों की तरह सभी फाइलों को व्यवस्थित करने की अनुमति देता है! –

उत्तर

12

देखें How to set Visual Studio Filters for nested sub directory using cmake

बस ध्यान रखें कि

  • source_group() आदेश केवल add_library() या add_executable() आदेशों एक ही सूत्रों लिस्टिंग के साथ संयोजन में काम करता हो (पथ से मेल खाना चाहिए)
  • source_group() आदेश नहीं है जांचें कि फ़ाइल वास्तव में मौजूद है या नहीं (इसलिए यह कुछ भी लेता है जो आप इसे देते हैं और प्रोजेक्ट फ़ाइल पीढ़ी के दौरान यह प्रोजेक्ट में प्रयुक्त फ़ाइलों के विरुद्ध दिए गए स्रोत समूह फ़ाइल नामों से मेल खाता है)

मैं एक इसी add_library() लक्ष्य जोड़कर अपने कोड एक कोशिश दे दिया है और यह उम्मीद के रूप में (CMake 3.3.2 और VS2015) काम करता है:

set(VD_SRC "${VisualDesigner_SOURCE_DIR}/src/visualdesigner") 

file(GLOB_RECURSE SRC_UI 
    "${VD_SRC}/ui/*.cpp" 
    "${VD_SRC}/ui/*.h" 
) 
file(GLOB_RECURSE SRC_IMPORT 
    "${VD_SRC}/import/*.cpp" 
    "${VD_SRC}/import/*.h" 
) 

add_library(VisalDesigner ${SRC_UI} ${SRC_IMPORT}) 

source_group("ui"   FILES ${SRC_UI}) 
source_group("import"  FILES ${SRC_IMPORT}) 

Solution Explorer with Filters

में परिणाम

यहां Visual Studio as an editor for CMake friendly project:

से लिया गया एक और सामान्यीकृत संस्करण है
+0

यह सही है। धन्यवाद –

+0

धन्यवाद, बहुत उपयोगी! – user1754322

संबंधित मुद्दे