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)
Используйте путь foo_debug для типа сборки 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}"
)
Используйте путь foo_release для типа сборки 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}"
)
Используйте версию библиотеки Release для типов сборки MinSizeRel и RelWithDebInfo:
set_target_properties(foo PROPERTIES MAP_IMPORTED_CONFIG_MINSIZEREL Release MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release )
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.11/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.html