2013-11-15 24 views
7

Şirketimin kendi idl derleyicileri var ve CMake'i oluşturma işleminin bir parçası olarak üretiyorum. .idl dosyalarının görsel stüdyo projesinde olmasını istiyorum, ama bunun anlamı microsoft ile idl dosyalarını midl ile derlemeye çalışıyorum (ki bu da sefil bir şekilde başarısız oluyor).Dosyaları CMake'e ekleme ama derleme değil

Sorunun Adding data files to cmake-generated projects'a çok benzediğini biliyorum, ancak en büyük fark, Microsoft'un bir derleyiciye sahip olmasını istemiyorum. İşte

-update-

solüsyonu (kod tamamı çok fazla, ancak bunlarla idl dosyasını ekler işlevinden bir kod örneği sorusuna cevap verirken yardımcı olabilecek beyanlar varsa) bana bildirin: daha sonra sonra

function foo() 
    add_custom_command... 
    set(HEADERS ${HEADERS} bar.idl PARENT_SCOPE) 
    source_group("Source Files\\idl Files" REGULAR_EXPRESSION .*.idl) 
endfunction() 

- Ben foo çağırdıktan sonra - Aramaya add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) fark ettim

bir şey NMake Ben derlemek istiyorum nasıl derlemek, ancak görsel stüdyo çağrısı ekler olmasıdır Ben orda değil nt.

Herhangi bir yardım büyük takdir edilecektir.

I 'sabitleme' a/eklenerek sorun bir yol kesmek 2-

-update? görsel stüdyonun içinde yer alan komut satırına (ama her dev yaptıklarını her seferinde yapamayacağım), bu yüzden cmake'den ortadaki komut satırına nasıl argüman ekleyeceğini biliyorsa, bu da yardımcı olacaktır.

cevap

5

Bir kesmek biraz da muhtemelen, ama HEADER_FILE_ONLY olarak .Idl dosyaları işaretleyerek bunu başarmak düşünüyorum:

set_source_files_properties(${HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) 
+0

bir cazibe gibi çalıştı ve bir güzel başka şeyle olur zenginleri. Çok teşekkür ederim! –

İlgili konular