2016-10-12 24 views
5

CMake ile bir .sln oluşturuyorum. Google Testini kullanmak ve yeni testler eklemek için kodu bu tür kullanmak istiyorum:Visual Studio'daki hedefler CMake'ten nasıl gizlenir

add_executable(my_test test/my_test.cpp) 
target_link_libraries(my_test gtest gmock_main) 
add_test(NAME my_test COMMAND my_test) 

Düzgün çalışır, ama benim .sln açtığınızda, ben çözüm explorer görünen tüm hedefleri vardır: kütüphaneler, birim testleri, vb.

Bu hedefleri gizlemek için bir yol var mı?

+3

(görsel studio 2010'da nasıl bu en azından) Sana hedefleri gizleyebilirsiniz emin değilim ama Yapabilirsiniz grup hedefleridir. – drescherjm

+2

Anlatabildiğim kadarıyla, Visual Studio'daki projeleri gizlemenin bir yolu yok, bu yüzden CMake'in size orada yardımcı olması pek olası değil. Niçin sorun bu? Sanırım bunu her zaman birkaç çözüme ayırabilirsiniz, ama bana öyle geliyor ki, hiçbir faydası olmayacak. –

+0

Sorun, bazı projelerin çok sayıda oluşturma hedefi içerdiğinden bir sorun. Örneğin, GLFW, yaklaşık 50 yapı hedefini içeriyor, görsel stüdyosundaki liste, hiçbir arama işlevselliğine sahip olmadığı ve kaydırma yapmanın garip olduğu için bu pek çok giriş için geçerli değildi. Ayrıca, projenizin yeni kullanıcıları için gerçekten önemsedikleri hedefi bulmayı çok daha zorlaştırır. – Lockyer

cevap

2

Sen cmake (ATM) 'de açıkça sadece bunu yapamaz, ama burada daha verimli çoklu hedefleri gizleyebilirsiniz nasıl bir yoludur: Sadece aynı (cmake olarak) "klasör" ve sonra onları koymak klasörü gizleyin (görsel stüdyoda).

Görsel Studio'da gizlemek istediğiniz Mm, Nn ve Pp olarak adlandırılan cmake hedefleriniz olduğunu varsayalım. Sen "klasörleri" izin vermek CKağıt ve Basitçe set the property böylece

set_property(GLOBAL PROPERTY USE_FOLDERS ON) 
set_target_properties(Mm Nn Pp PROPERTIES FOLDER nameOfTheFolder) 

gibi FOLDER denilen ve ardından sağ çözeltide ve gizlemek klasörüne klasöre nameOfTheFolder tıklamanız söylemek gerekir. Tekrar Gizli klasörleri görmek istiyorsan

, sağ çözümü tıklayın ve ardından Klasörleri gösterme