4
定義CMake目標時,可以創建別名目標,以便別名可用於在後續命令中引用定義的目標。例如在CMake中使用別名目標
add_library(foo_lib foo.cpp bar.cpp bat.cpp)
add_library(foo::lib ALIAS foo_lib)
據我的理解是,這具有名稱foo_lib
好好嘗試一下出現一個make目標的優勢。然而,給出了這樣的別名,我想各種屬性設置爲它們如:
set_target_properties(foo::lib PROPERTIES COMPILE_DEFINITIONS ...)
target_include_directories(foo::lib PUBLIC ... PRIVATE ...)
,但是這是不可能的不幸,因爲CMake的錯誤:set_target_properties不能別名目標使用。我不明白爲什麼這不應該是可能的,因爲我想定義一次我的lib的名稱,並且每當我想要調整目標的屬性時引用給定的別名。有關如何正確使用ALIAS目標的提示? ALIAS目標的目的除了它們沒有出現在Make目標之外呢?