MAP_IMPORTED_CONFIG_<CONFIG>¶
從專案組態對應到匯入目標的組態。
將此設定為匯入目標的組態列表,這些組態可用於目前專案的 <CONFIG>
組態。從其他專案匯入的目標可能無法提供與目前專案中可用的相同組態名稱集合。設定此屬性會告知 CMake 在建置 <CONFIG>
組態時,哪些匯入的組態適合使用。會選擇在列表中找到的、由匯入目標提供的第一個組態 (即,透過 IMPORTED_LOCATION_<CONFIG>
對應到的 <CONFIG>
)。作為一種特殊情況,空的列表元素是指無組態的匯入目標位置 (即 IMPORTED_LOCATION
)。
如果已設定此屬性,但沒有可用的相符組態,則會認為找不到匯入的目標。對於非匯入的目標,此屬性會被忽略。
如果目標建立時設定了 CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
變數,則此屬性會使用該變數的值進行初始化。
範例¶
例如,建立匯入的 C++ 程式庫 foo
add_library(foo STATIC IMPORTED)
針對 Debug
建置類型使用 foo_debug
路徑
set_property(
TARGET foo APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG
)
set_target_properties(foo PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
IMPORTED_LOCATION_DEBUG "${foo_debug}"
)
針對 Release
建置類型使用 foo_release
路徑
set_property(
TARGET foo APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE
)
set_target_properties(foo PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
IMPORTED_LOCATION_RELEASE "${foo_release}"
)
針對 MinSizeRel
和 RelWithDebInfo
建置類型使用程式庫的 Release
版本
set_target_properties(foo PROPERTIES
MAP_IMPORTED_CONFIG_MINSIZEREL Release
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
)