2011-06-01 62 views
5

我試圖搜索CMake文檔,但我無法弄清楚如何從CMake調用外部程序。使用CMake調用外部程序

我想做的事情很少。

使用一個makefile
  • 編譯Thrift定義文件到C++/Python的存根
    1. 編譯其他第三方的依賴。
    2. 編譯Cython定義文件。

    另一個問題是,什麼是處理這些情況的好方法呢?感覺就像直接從CMake調用shell腳本一樣,當CMake中的「C」代表跨平臺時,感覺不那麼幹淨。

    編輯:我有一些額外的問題。之前,在我的構建中,我預先構建了我的依賴項,並且項目本身使用FIND_PACKAGE(...)來查找依賴項的頭文件/庫。

    現在,我是ExternalProject_Add()來編譯依賴關係,但問題是,當我運行cmake .時,我的所有FindXYZ()函數都失敗了,因爲在執行CMake時依賴關係不存在。

    在這種情況下,我應該如何在我的項目中包含第三方庫?

  • 回答

    4
    1. http://www.kitware.com/media/html/BuildingExternalProjectsWithCMake2.8.html

    2 + 3。可以用CONFIGURE_COMMAND/BUILD_COMMAND/INSTALL_COMMAND破解

    +1

    哇,我發現ExternProject_Add()後對CMake的尊重已經大大提高了。我會盡快嘗試其他的東西。 – 2011-06-01 07:01:15

    +0

    謝謝Anycorn。不過,我有關於我的構建的更多問題。如果可以的話,你會友好地回答嗎?謝謝! – 2011-06-01 18:37:16

    +0

    @不確定如果我理解問題,你能否詳細說明一下? – Anycorn 2011-06-01 22:30:12