बनाता है मैं अपने प्रोजेक्ट के लिए सेमेक सेट अप कर रहा हूं और मैंने इसके लिए एक परीक्षण प्रोजेक्ट स्थापित किया है। जब यह मेरे विजुअल स्टूडियो 2010 प्रोजेक्ट को उत्पन्न करता है, तो मैं इसे पहले प्रोजेक्ट के रूप में बनाना चाहता हूं।निर्दिष्ट करें कि कैसे सेमेक विजुअल स्टूडियो प्रोजेक्ट
- यह एक ALL_BUILD और ZERO_CHECK प्रोजेक्ट बनाता है जो मैं नहीं चाहता।
- यह .h फ़ाइलों को बाहरी निर्भरता फ़ोल्डर में रखता है। मैं एक फाइल फ़ोल्डर शामिल करना चाहता हूं जहां सभी .h फाइलें जाती हैं।
- मैं कुछ फाइलों को अलग-अलग फ़िल्टरों के तहत समूहबद्ध करना चाहता हूं। मेरे मूल lib में की तरह मैं एक फ़ोल्डर में गणित से संबंधित सभी फाइलों और किसी अन्य में इवेंट मैनेजमेंट से संबंधित सभी फाइलों को समूहबद्ध करना चाहता हूं।
- फाइल सिस्टम पर यह प्रोजेक्ट फ़ाइलों को/Lib/src के अंदर रखता है। शायद कारण है कि मैंने इसे व्यवस्थित किया है कि कोड फ़ोल्डर में, लेकिन मैं प्रोजेक्ट फ़ाइलों के लिए नहीं चाहता हूं।
- मैं अलग-अलग कॉन्फ़िगरेशन सेट अप करना चाहता हूं, इसलिए मेरे पास DebugOpenGL, DebugDirectX, रिलीज़ ओपनजीएल, रिलीज डायरेक्टएक्स है और फिर दो प्रकार की कॉन्फ़िगरेशन के लिए ध्वज USE_OPENGL या USE_DIRECTX सेट करना है।
जब मैं लिनक्स पर निर्माण करता हूं तो मैं विंडोज़ और अन्य पर निर्माण करते समय कुछ फ़ाइलों को कैसे बाहर निकाल सकता हूं? जैसे कि मेरे पास WindowWin.cpp और WindowLinux.cpp है।
मैं कोशिश की है कि तुम क्या sugested लेकिन प्राप्त नहीं कर सकते यह काम कर रहा:
#LibProject/src
FILE(GLOB test0_headers $CMakeTest_SOURCE_DIR/LibProject/inc/test.h)
source_group(include0 FILES ${test0_headers})
FILE(GLOB test0_source ${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(source0 FILES ${test0_source})
FILE(GLOB test1_headers $CMakeTest_SOURCE_DIR/LibProject/inc/test1.h)
source_group(include1 FILES ${test1_headers})
FILE(GLOB test1_source ${CMakeTest_SOURCE_DIR}/LibProject/src/test1.cpp)
source_group(source1 FILES ${test1_source})
include_directories(${test0_headers} ${test1_headers})
add_library(LibProject ${test0_headers} ${test1_headers} ${test0_source} ${test
1_source})
मैं एक तरह से यह काम कर रहा .. केवल कि मैं हेडर और स्रोत फ़ाइलों के लिए सब फ़ोल्डर चाहते मिला स्रोत समूह के अंदर।
set(test_source0 ${CMakeTest_SOURCE_DIR}/LibProject/inc/test.h ${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(TEST FILES ${test_source0})
set(test_source1 ${CMakeTest_SOURCE_DIR}/LibProject/inc/test2.h ${CMakeTest_SOURCE_DIR}/LibProject/src/test2.cpp)
source_group(TEST2 FILES ${test_source1})
include_directories(${CMakeTest_SOURCE_DIR}/LibProject/inc)
add_library(LibProject ${test_source0} ${test_source1})
यहाँ मेरा समाधान :)
set(test_header
${CMakeTest_SOURCE_DIR}/LibProject/inc/test.h)
set(test_source
${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(TEST\\Headers FILES ${test_header})
source_group(TEST\\Source FILES ${test_source})
set(test2_header
${CMakeTest_SOURCE_DIR}/LibProject/inc/test2.h)
set(test2_source
${CMakeTest_SOURCE_DIR}/LibProject/src/test2.cpp)
source_group(TEST2\\Headers FILES ${test2_header})
source_group(TEST2\\Source FILES ${test2_source})
include_directories(${CMakeTest_SOURCE_DIR}/LibProject/inc)
add_library(LibProject
${test_header}
${test_source}
${test2_header}
${test2_source})
http://stackoverflow.com/questions/27175754/what-are-all-build-and-zero-check-and-do-i-need-them देखें कि ZERO_CHECK और ALL_BUILD क्या हैं। – sashoalm