我正在使用cmake來構建我的項目,並且我希望它與名爲Project_A的第三方庫集成,該庫使用autoconf生成make,如何編寫CMakeLists.txt以同時構建Project_A和我的項目?如何使用cmake編譯autoconf項目?
謝謝!
我正在使用cmake來構建我的項目,並且我希望它與名爲Project_A的第三方庫集成,該庫使用autoconf生成make,如何編寫CMakeLists.txt以同時構建Project_A和我的項目?如何使用cmake編譯autoconf項目?
謝謝!
我認爲在CMake中使用ExternalProject模塊是最好的解決方案。請參閱http://www.kitware.com/media/html/BuildingExternalProjectsWithCMake2.8.html以獲得有關api的良好介紹。
如果您想要執行詞法代碼重用(即複製粘貼代碼而不依賴依賴項),請不要中途停止。通過以這種方式使用外部代碼,您基本上就是爲了您的項目聲明擁有它,所以不需要保留自動工具構建。只需將代碼拉出並通過cmake構建即可。不要打擾嘗試創建混合構建。
如果你的項目是一個庫,這是行不通的。 – ruipacheco
@ruipacheco是的,它會的。如果您將代碼複製到您的樹中,則如果您的項目是一個庫,則完全無關緊要。 –
Project_A是一個依賴項。安裝它。需要它。爲什麼你想要將它整合到源代碼級別的項目中? –
@WilliamPursell我們需要修改依賴項目的代碼,我們希望Project_A的代碼是我的項目的一部分 – jiluo
如果你修改Project_A,那麼這樣做,但是沒有必要將它合併到你的樹中。修改它,安裝修改後的版本,然後使用它!如有必要,重新命名並分配它,但從長遠來看,如果將庫集成到代碼庫中,維護將變得更加困難。 –