मैं Pro*C से परिचित नहीं हूं, लेकिन ऐसा लगता है कि आप add_custom_command
।
पहला संस्करण add_custom_command(OUTPUT ...)
फ़ाइल उत्पन्न करने के लिए प्रयोग किया जाता है जिसे बाद में किसी अन्य सीएमके लक्ष्य की निर्भरता के रूप में जोड़ा जाता है। जब वह लक्ष्य बनाया जाता है, तो आउटपुट फ़ाइल बनाने के लिए पहले कस्टम कमांड को निष्पादित किया जाता है।
दूसरा संस्करण add_custom_command(TARGET ...)
प्री-बिल्ड, प्री-लिंक या पोस्ट-बिल्ड कमांड को परिभाषित करने के लिए उपयोग किया जाता है; एक जो आवश्यक रूप से एक फ़ाइल नहीं बनाता है, लेकिन जो संबंधित लक्ष्य के निर्माण के संयोजन के साथ निष्पादित होता है।
यदि आपके पास केवल एक लक्ष्य है जो प्रो * सी के आउटपुट पर निर्भर करता है, तो पहला संस्करण शायद आपका सबसे अच्छा दांव है:
add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/connection.c
COMMAND ${PROC} iname=${PROJECT_SOURCE_DIR}/connection.proc SQLCHECK=SYNTAX
MODE=ANSI IRECLEN=255 ORECLEN=255
ONAME=${PROJECT_SOURCE_DIR}/connection.c)
add_executable(myproj ${PROJECT_SOURCE_DIR}/connection.c <other sources>)