बाहरी पुस्तकालयों के लिए उपयोगकर्ता CMAKE_FLAGS
पर पथ जोड़कर या -DMYLIB_ROOT
जोड़कर एक गैर-मानक स्थान निर्दिष्ट कर सकता है। सीएमके स्क्रिप्ट के भीतर मैं लाइब्रेरी की पीकेजी-कॉन्फ़िगर पीसी फ़ाइल ढूंढना चाहता हूं। चूंकि पीसी फ़ाइल मानक फ़ोल्डर में नहीं है, इसलिए यह FindPkgConfig
के pkg_search_module
के साथ pkg-config द्वारा नहीं मिला है।सीएमके स्क्रिप्ट के भीतर pkg-config के अस्थायी रूप से पथ जोड़ें?
मैं PKG_CONFIG_PATH
को उपयोगकर्ता के दिए गए पथ जोड़ने की कोशिश की, लेकिन यह ध्यान नहीं दिया जा लग रहा था:
include(FindPkgConfig)
set(PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${MYLIB_ROOT}/lib/pkgconfig")
pkg_search_module(PKG_MYLIB mylib)
if(${PKG_MYLIB_FOUND})
...
जब मैं संशोधित PKG_CONFIG_PATH
सेट के साथ टर्मिनल से pkg-config कहते हैं, यह पीसी फ़ाइल खोजने । मैं क्या गलत कर रहा हूं? मैं pkg_search_module
कैसे काम कर सकता हूं? मैं सीधे सीएमके से पीकेजी-कॉन्फ़िगरेशन को कॉल करने से बचना चाहता हूं।
आप ठीक कह रहे हैं क्या करेंगे, यह है कि जब CMake 3.0 या उससे अधिक प्रयोग किया जाता है जाने के लिए रास्ता नहीं है। 3.1 के साथ यह स्वचालित रूप से शामिल किया जाएगा। – usr1234567
एकमात्र समाधान होने लगता है जो मेरे लिए काम करता है ... –