2012-07-30 23 views
7

'u ekleyin. Kendi yazılımımın makefileğindeki bir dış kütüphaneden makefile eklemek istiyorum. En basit olanı, include ${dir}/makefile Makefile eşdeğeri için CMake kodunu bulmak olacaktır.Dış makefile, CMake

Belki de biraz bağlam vermeliyim. PETSc'yi (ve SLEPc) koduma dahil etmeye çalışıyorum. (PETSc hemen hemen aynı olsa da) İşte SLEPc kullanarak bir örnekten bazı kodudur: Gördüğünüz gibi

hello: hello.o chkopts 
     -${CLINKER} -o hello hello.o ${SLEPC_LIB} 
     ${RM} hello.o 

include ${SLEPC_DIR}/conf/slepc_common 

, bir başka makefiles bir demet içeren belirli makefile'daki dahil gerektirir. Bu biraz garip çünkü sadece bir dahil dizinine sahip olmanın daha kolay olacağını düşündüm, fakat anladığım kadarıyla anladığımdan daha fazlası var. Her neyse, ilk çözümüm sadece istediği makefile dahil etmek ve işe yarayıp yaramadığını görmek oldu. CMe'nin bir parçası olarak bir include method var.

cevap

0

. Politika kapsamını uygun şekilde ayarlarsanız (hangisinin 2.8 olduğuna inanamadan), PROJECT yönteminin iki kez kullanılması ve istenen sonuçları vermesi gerekir. Emin olmak için bunu denemedim ama bu bir atıştı.

1

ben o çapraz platform yapmaktır CKağıt çekirdek ilkesinin nesil fazında ve biri sırasında hiç Makefiles üretildi olarak CKağıt tasarım modeli uymuyor bu gereksinimi inanıyoruz, bu nedenle daha iyi bir fikir olabilir be:

    CKağıt komut dış yapı sistemini yeniden yazma
  1. projenizde CKağıt komut dosyalarını ekleyin

Çaba büyükse, oluşturulan dosyaları düzeltmek için kutu komutlarından bazılarını yapmak üzere add_custom_target/add_custom_command ile deneyebilirsiniz, ancak bunlar önemli çabalar da içe aktaracaktır - yalnızca kılavuzu okuyun ve daha fazla fırsat isteyin.