तुम बस CMake उपयोग कर सकते हैं, यह बहुत सीधा है:
autotools पर एक अच्छा प्राइमर के लिए, यहाँ एक नजर है।
आप इन चीजों की आवश्यकता:
पहले, विन्यास बारीकियों पता लगाने के लिए इसका मतलब है। उदाहरण के लिए, यदि आप जानते हैं कि कुछ समारोह कुछ मंच पर अलग नाम है, तो आप TRY_COMPILE
कि खोजने के लिए उपयोग कर सकते हैं:
TRY_COMPILE(HAVE_ALTERNATIVE_FUNC
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/alternative_function_test.cpp
CMAKE_FLAGS -DINCLUDE_DIRECTORIES=xxx
)
जहां alternative_function_test.cpp
कि एकमात्र विकल्प परिभाषा के साथ संकलित अपने स्रोत निर्देशिका में एक फाइल है।
यह संकलन सफल होने पर परिवर्तनीय HAVE_ALTERNATIVE_FUNC
परिभाषित करेगा।
दूसरा, आपको यह परिभाषा आपके स्रोतों को प्रभावित करने की आवश्यकता है। या तो आप झंडे
IF(HAVE_TR1_RANDOM)
ADD_DEFINITIONS(-DHAVE_TR1_RANDOM)
ENDIF(HAVE_TR1_RANDOM)
संकलित करने के लिए जोड़ सकते हैं या आप एक config.h
फ़ाइल बना सकते हैं। निम्न पंक्ति
#cmakedefine HAVE_ALTERNATIVE_FUNCS
साथ config.h.in
बनाएँ और CMakeLists.txt
में इस लाइन द्वारा एक config.h
फ़ाइल बनाने (CONFIGURE_FILE
देख)
CONFIGURE_FILE(config.h.in config.h @ONLY)
#cmakedefine
CMake चर पर निर्भर करता है #define
या #undef
लिए अनुवाद किया जाएगा।
Btw, परीक्षण edianness के लिए, this mail
खिड़कियों को देखने मैं आशा मेरे लिए एक लक्ष्य कभी नहीं होगा;) – claf