如何使用CMake獲取目標庫的基本名稱?使用CMake獲取目標文件名,不帶擴展名
我創建與CMake的變量名$ {}的lib庫中
set(lib lib)
add_library(${lib} ...
我需要生成的庫文件的基本名稱。
CMake將創建一個文件名爲<prefix>lib.<extension>
的庫,其中<prefix>
和<extension>
都是平臺特定的。
我試過發電機$<TARGET_FILE_NAME:${lib}>
,它給了我全名,這是因爲我需要在COMMAND中使用這個命令,這是CMake允許生成器的少數幾個地方之一。
要使用CMake的我需要使用GET_FILENAME_COMPONENT作爲
GET_FILENAME_COMPONENT(<var> <filename> NAME_WE)
刪除擴展,但這是用來設置變量<var>
(在正常CMake的方式)和發電機不工作在那裏。
(CMake的語言是一種不規則的憎惡,如果你問我的CMake,作爲一個概念,是很酷。)
「NOT FOUND」 - 這或許表明,如果你不將它設置爲任何東西(如我想的默認值)是搶先ÿ? – thoni56