यदि आप एक साझा लायब्रेरी बना रहे हैं और आपका स्रोत किसी अन्य लायब्रेरी के हेडर को खोल देता है (उदाहरण के लिए QtNetwork कहें), लेकिन आपकी हेडर फ़ाइलों में QtNetwork हेडर शामिल नहीं हैं, तो QtNetwork एक PRIVATE
निर्भरता है।
यदि आपके स्रोत की फाइलें और आपके हेडर में किसी अन्य लाइब्रेरी के हेडर शामिल हैं, तो यह एक PUBLIC
निर्भरता है।
यदि आपकी हेडर फाइलें लेकिन आपकी स्रोत फ़ाइलों में अन्य लाइब्रेरी के हेडर शामिल नहीं हैं, तो यह एक INTERFACE
निर्भरता है।
के अन्य निर्माण गुण PUBLIC
और INTERFACE
निर्भरता लेने वाली पुस्तकालयों के लिए उगाया जाता है। http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#transitive-usage-requirements