| @@ -320,13 +320,18 @@ function (cotire_copy_set_properties _configurations _type _source _target) | |||||
| endforeach() | endforeach() | ||||
| endfunction() | endfunction() | ||||
| function (cotire_get_target_usage_requirements _target _targetRequirementsVar) | |||||
| function (cotire_get_target_usage_requirements _target _config _targetRequirementsVar) | |||||
| set (_targetRequirements "") | set (_targetRequirements "") | ||||
| get_target_property(_librariesToProcess ${_target} LINK_LIBRARIES) | get_target_property(_librariesToProcess ${_target} LINK_LIBRARIES) | ||||
| while (_librariesToProcess) | while (_librariesToProcess) | ||||
| # remove from head | # remove from head | ||||
| list (GET _librariesToProcess 0 _library) | list (GET _librariesToProcess 0 _library) | ||||
| list (REMOVE_AT _librariesToProcess 0) | list (REMOVE_AT _librariesToProcess 0) | ||||
| if (_library MATCHES "^\\$<\\$<CONFIG:${_config}>:([A-Za-z0-9_:-]+)>$") | |||||
| set (_library "${CMAKE_MATCH_1}") | |||||
| elseif (_config STREQUAL "None" AND _library MATCHES "^\\$<\\$<CONFIG:>:([A-Za-z0-9_:-]+)>$") | |||||
| set (_library "${CMAKE_MATCH_1}") | |||||
| endif() | |||||
| if (TARGET ${_library}) | if (TARGET ${_library}) | ||||
| list (FIND _targetRequirements ${_library} _index) | list (FIND _targetRequirements ${_library} _index) | ||||
| if (_index LESS 0) | if (_index LESS 0) | ||||
| @@ -441,7 +446,7 @@ function (cotire_get_target_compile_flags _config _language _target _flagsVar) | |||||
| # interface compile options from linked library targets | # interface compile options from linked library targets | ||||
| if (_target) | if (_target) | ||||
| set (_linkedTargets "") | set (_linkedTargets "") | ||||
| cotire_get_target_usage_requirements(${_target} _linkedTargets) | |||||
| cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) | |||||
| foreach (_linkedTarget ${_linkedTargets}) | foreach (_linkedTarget ${_linkedTargets}) | ||||
| get_target_property(_targetOptions ${_linkedTarget} INTERFACE_COMPILE_OPTIONS) | get_target_property(_targetOptions ${_linkedTarget} INTERFACE_COMPILE_OPTIONS) | ||||
| if (_targetOptions) | if (_targetOptions) | ||||
| @@ -573,7 +578,7 @@ function (cotire_get_target_include_directories _config _language _target _inclu | |||||
| # interface include directories from linked library targets | # interface include directories from linked library targets | ||||
| if (_target) | if (_target) | ||||
| set (_linkedTargets "") | set (_linkedTargets "") | ||||
| cotire_get_target_usage_requirements(${_target} _linkedTargets) | |||||
| cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) | |||||
| foreach (_linkedTarget ${_linkedTargets}) | foreach (_linkedTarget ${_linkedTargets}) | ||||
| get_target_property(_linkedTargetType ${_linkedTarget} TYPE) | get_target_property(_linkedTargetType ${_linkedTarget} TYPE) | ||||
| if (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE AND NOT CMAKE_VERSION VERSION_LESS "3.4.0" AND | if (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE AND NOT CMAKE_VERSION VERSION_LESS "3.4.0" AND | ||||
| @@ -703,7 +708,7 @@ function (cotire_get_target_compile_definitions _config _language _target _defin | |||||
| endif() | endif() | ||||
| # interface compile definitions from linked library targets | # interface compile definitions from linked library targets | ||||
| set (_linkedTargets "") | set (_linkedTargets "") | ||||
| cotire_get_target_usage_requirements(${_target} _linkedTargets) | |||||
| cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) | |||||
| foreach (_linkedTarget ${_linkedTargets}) | foreach (_linkedTarget ${_linkedTargets}) | ||||
| get_target_property(_definitions ${_linkedTarget} INTERFACE_COMPILE_DEFINITIONS) | get_target_property(_definitions ${_linkedTarget} INTERFACE_COMPILE_DEFINITIONS) | ||||
| if (_definitions) | if (_definitions) | ||||