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