2014-05-12 25 views
8

Bu değişken her zaman cmake üzerinde çalıştığım CMakeLists.txt dosyasını içeren dizine ayarlanmış mı?CMAKE_SOURCE_DIR nerede?

Örneğin, şu anki dizinin yukarısındaki dizinde bulunan CMakeLists.txt dosyasına cmake dosyasını çalıştırmak istersem, cmake ...

Bu durumda, CMAKE_SOURCE_DIR cihazım ne ayarlandı?

cevap

4

src Projelerinizi içerir ve build bunu da dışı ağacının yapı dağıtabilir böylece yeni oluşturduğunuz boş klasör nerede olduğunu 2 klasörleri src ve build olduğunu varsayarsak: CMAKE_SOURCE_DIRsrcCMAKE_BINARY_DIR yoludur build'a işaret eder.

Ağaç içi yapı kullanıyorsanız, 2 önbellek girdilerinin aynı değeri aldığını unutmayın.

bağlantı: CMake Useful Variables. Daha ileri açıklamalar

<some location>/src/CMakeLists.txt (so *src* is the root of your project) 
<some location>/build 

için


DÜZENLEME

bunu yaparsanız

cd <some location>/build 
cmake <some location>/src 

Bir dışı ağacının yapı nereyeyapıyoruz gibi bir şeyve CMAKE_BINARY_DIR Farklı değerler edinin

+0

Cevapladığınız için teşekkür ederiz. Fakat maalesef bu cevabın yukarıdaki soruma nasıl bağlı olduğunu anlamıyorum. Ancak bazı temel bilgileri kaçırıyor olabilirim. – patchwork

+0

@patchwork Ağaç dışında bir yapının ne olduğunu biliyor musunuz? Özgün kaynak klasörü olmayan bir klasörde projenizi yapılandıracağınız ve oluşturduğunuzda, kaynak ağacınızın dışına cmake kullandığını söylediğinizde ağaç dışı bir yapı oluşturuyorsunuz demektir. – user2485710

+0

Teşekkürler, hayır ağacı dışında bir yapı olduğunu bilmiyordum. Ben hala cevabınızda verdiğiniz bilgileri, benim soru ile bağdaştırmayı başaramadım: "Bu değişken (CMAKE_SOURCE_DIR) her zaman cmake üzerinde çalıştığım CMakeLists.txt dosyasını içeren dizine ayarlanmış mı?" Her neyse - CMAKE_SOURCE_DIR ürününün önbelleğe aktarılmasının ne olduğunu öğrendim. – patchwork