मेरे पास सीएमके में कुछ डीबग जानकारी है ताकि यह जांच सके कि मैंने किसी प्रोजेक्ट को संकलित करने की आवश्यकता नहीं है या नहीं। इस कोड में propertly काम करता है:लक्ष्य लिंक लाइब्रेरीज़ जानकारी प्राप्त करने का प्रयास करते समय संपत्ति रिक्त वैरिएबल प्राप्त करें
# Include DIRECTORIES
GET_PROPERTY(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
FOREACH(dir ${dirs})
MESSAGE(STATUS " * Include directory: '${dir}'")
ENDFOREACH()
लेकिन जब मैं वर्तमान प्रोजेक्ट में जुड़े सभी पुस्तकालयों की जांच करने के लिए प्रयास करें, मैं एक खाली चर मिलती है:
# Linking against
GET_PROPERTY(libtargets DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY LINK_LIBRARIES)
MESSAGE("Libs: ${libtargets}")
FOREACH(libtarget ${libtargets})
MESSAGE(STATUS " * Target Link library: '${libtarget}'")
ENDFOREACH()
जाँच हो रही है CMake documentation 3.0 यह ठीक लगता है, लेकिन मैं डॉन ' टी को जानने के लिए मूल्य क्या उपलब्ध हैं। मैं ADD_LIBRARY/ADD_EXECUTABLE
बनाने के बाद जानकारी मुद्रित करता हूं क्या LINK_LIBRARIES GET_PROPERTY के लिए गलत मान है? मैं वह जानकारी कैसे प्राप्त कर सकता हूं?
GET_TARGET_PROPERTY (libtargets $ {PROJECT_NAME} LINK_LIBRARIES) निजी रूप से काम करता है। धन्यवाद। – vgonisanz