要使用find_package,您需要具有相應的Find或Config cmake文件。但圖書館可能不提供它,似乎與你的圖書館是這樣的情況。您可以使用find_library查找庫,find_path查找include目錄。有了這些命令,你甚至可以自己編寫FindXXX.cmake。
CMAKE_MODULE_PATH不是一個環境變量,它是CMake的一個。這個變量是爲你設置的,如果你有額外的模塊目錄,默認情況下它是空的。這用於「模塊」模式。在這種模式下,CMake在CMAKE_MODULE_PATH(您的模塊)或CMake附帶的模塊中搜索FindXXX.cmake,如果找到它,它就會使用它來查找庫和它的頭文件。
如果未找到該模塊,則會切換到「Config」模式。在Unix它搜索ConfigXXX.cmake在以下目錄:
<prefix>/(lib/<arch>|lib|share)/cmake/<name>*/
<prefix>/(lib/<arch>|lib|share)/<name>*/
<prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/
此文件附帶的庫,所以沒有必要找什麼,它們所包含的所有信息,其中庫和包括位於等。
關於命名方案,沒有標準方案。你可以看看Standard CMake modules。爲您的庫找到名爲FindLibConfig.cmake的模塊的模塊
對於您的情況,庫沒有相應的cmake文件,因此您應該將它寫入自己(或查找已寫入),並將該文件添加到CMAKE_MODULE_PATH。
我建議您閱讀how find_package command works和how to write FindXXX.cmake files。
我認識的庫有一個配置cmake文件。該文件將在哪裏找到,以及與庫相關的軟件包名稱是什麼?請看我的其他兩個問題。 – Mustafa 2012-08-16 18:51:04
@Mustafa:更新後的帖子更多信息 – 2012-08-16 21:29:27