मैं कॉन्फ़िगर से अपने निर्माण प्रणाली परिवर्तित कर रहा हूँ/एक cmake प्रणालीCMake और फ्लेक्स/बाइसन
प्रणाली कुछ स्वत: जनरेट की फ़ाइलें हैं करने के लिए बनाने के लिए, जंगली भैंसों/फ्लेक्स से। मूल makefile आदेशों हैं:
bison --defines=tokens.h --output=parser.cpp parser.y
flex --outfile=scanner.cpp scanner.l
मैं this ancient link जो इसे कैसे करना समझाने के लिए लगता है भर में आया है, लेकिन जब मैं निम्नलिखित कस्टम आदेशों के साथ cmake चलाने के लिए, कुछ भी नहीं है (कोई त्रुटि संदेश, कोई फ़ाइल पीढ़ी) होने के लिए प्रकट होता है
FIND_PACKAGE(BISON REQUIRED)
IF(BISON_FOUND)
ADD_CUSTOM_COMMAND(
SOURCE ${CMAKE_SOURCE_DIR}/src/rcdgen/parser.y
COMMAND ${BISON_EXECUTABLE}
ARGS --defines=${CMAKE_SOURCE_DIR}/src/rcdgen/tokens.h
-o ${CMAKE_SOURCE_DIR}/src/rcdgen/parser.cpp
${CMAKE_SOURCE_DIR}/src/rcdgen/parser.y
COMMENT "Generating parser.cpp"
OUTPUT ${CMAKE_SOURCE_DIR}/src/rcdgen/parser.cpp
)
ENDIF(BISON_FOUND)
FIND_PACKAGE(FLEX REQUIRED)
IF(FLEX_FOUND)
ADD_CUSTOM_COMMAND(
SOURCE ${CMAKE_SOURCE_DIR}/src/rcdgen/scanner.l
COMMAND ${FLEX_EXECUTABLE}
ARGS -o${CMAKE_SOURCE_DIR}/src/rcdgen/parser.cpp
${CMAKE_SOURCE_DIR}/src/rcdgen/scanner.l
COMMENT "Generating scanner.cpp"
OUTPUT ${CMAKE_SOURCE_DIR}/src/rcdgen/scanner.cpp
)
ENDIF(FLEX_FOUND)
मैं सेमीकेक में नया हूं, इसलिए यह मेरे लिए थोड़ा उलझन में है। क्या किसी को कोई आइडिया है कि एक कामकाजी custom_command क्या होगा?
क्या आप सीएमकेलिस्ट का हिस्सा भी पोस्ट कर सकते हैं जो जेनरेट की गई फाइलों का उपयोग करता है? – Angew
कृपया टैगिंग के बारे में जागरूक रहें। फ्लेक्स-लेक्सर व्याख्यात्मक विश्लेषक के लिए है; फ्लेक्स टैग एडोब/अपाचे यूआई फ्रेमवर्क के लिए है। – JeffryHouser
क्षमा करें, 'फ्लेक्स' मुझे स्वचालित रूप से सुझाया गया था, मैंने – LordAro