2012-03-16 8 views
34

मैं किसी दिए गए निर्देशिका को फिर से स्कैन करने और स्रोत फ़ाइलों की सूची निर्धारित करने के लिए सीएमके कैसे स्थापित करूं?क्या सीएमके रिकर्सल स्कैन फ़ोल्डर्स है?

मेरी परियोजना एक साझा लाइब्रेरी है।

/ 
    src/    # Source files in an arbitrary tree 
    include/   # Headers, tree mirrors that of the src/ folder 
    examples/   # Executable code examples that link against the library 
    CMakeLists.txt 

मैं बचना चाहते हैं: मैं एक फ़ोल्डर संरचना इस के समान है

  • अंतहीन CMakeLists.txt फ़ाइलों
  • बदल सकते हैं और स्क्रिप्ट हर बार अनुकूल करने के लिए होने के साथ src/ और include/ निर्देशिका प्रदूषण मैं मेरी फ़ोल्डर संरचना

प्रत्येक उदाहरण के लिए अपनी खुद की बिल्ड स्क्रिप्ट रखना ठीक है, तथापि।

उत्तर

38

CMake पुनरावर्ती फ़ाइलों के लिए निम्न आदेश globing प्रदान करता है:

file(GLOB_RECURSE variable [RELATIVE path] 
    [FOLLOW_SYMLINKS] [globbing expressions]...) 

कमान प्रलेखन: http://www.cmake.org/cmake/help/v2.8.8/cmake.html#command:file

+11

ध्यान दें कि यदि आप इस विधि का उपयोग, आप cmake फिर हर बार पुनर्जीवित करने के लिए होगा आप जोड़ना या निकालना स्रोत फ़ाइलें। – mrgrieves

+6

@mrgrieves एक और अधिक कुशल तरीका है? यदि ऐसा है, तो कृपया इस प्रश्न का एक और जवाब जोड़ने पर विचार करें। –