0
我試圖寫一個FindQwt.cmake模塊。我搜索了現有的模塊,並沒有爲我的安裝工作。cmake find_path其中路徑包含版本號
我模塊的查找路徑呼叫目前看起來是這樣的:
find_path (QWT_INCLUDE_DIR
NAMES qwt_global.h
HINTS ${QT_INCLUDE_DIR}
PATHS
/opt
/usr/include
/usr/local
/usr/local/include
"$ENV{LIB_DIR}/include"
"$ENV{INCLUDE}"
PATH_SUFFIXES qwt
)
實際qwt_global.h
文件駐留在路徑:/opt/qwt-6.1.2/src/qwt_global.h
我可以如果我添加路徑後綴qwt-6.1.2/src
,則可以讓它起作用,但在我看來,如果我需要對每個版本進行硬編碼,它將會失去找到模塊的目的(假設我稍後在模塊中檢查版本是兼容的,不關心在兼容集合內使用哪個版本)。我試過和qwt*/src
PATH_SUFFIXES,但無濟於事。
這似乎是一個常見問題。有誰知道如何解決這個find_path
調用對路徑中的版本號碼的魯棒性?
編輯:我使用cmake 3.0.2
不知道cmake,但找到版本號的適當位置是qwtconfig.pri - 而不是qwtglobal.h。至少你處於cmake vs. qmake的更一般情況。 另外一個/opt/qwt-6.1.2/src的路徑表明你跳過了「make install」步驟,這不是一個好主意。 – Uwe
感謝您的建議。不幸的是,我的發行版安裝在只讀文件系統上,/ opt是我可以訪問的少數幾個地方之一。 –
跳過「make install」步驟沒有任何參數。編輯qwtconfig.pri並將安裝路徑設置爲/ opt中的某些內容。 – Uwe