|
|
@@ -320,13 +320,18 @@ function (cotire_copy_set_properties _configurations _type _source _target) |
|
|
|
endforeach() |
|
|
|
endfunction() |
|
|
|
|
|
|
|
function (cotire_get_target_usage_requirements _target _targetRequirementsVar) |
|
|
|
function (cotire_get_target_usage_requirements _target _config _targetRequirementsVar) |
|
|
|
set (_targetRequirements "") |
|
|
|
get_target_property(_librariesToProcess ${_target} LINK_LIBRARIES) |
|
|
|
while (_librariesToProcess) |
|
|
|
# remove from head |
|
|
|
list (GET _librariesToProcess 0 _library) |
|
|
|
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}) |
|
|
|
list (FIND _targetRequirements ${_library} _index) |
|
|
|
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 |
|
|
|
if (_target) |
|
|
|
set (_linkedTargets "") |
|
|
|
cotire_get_target_usage_requirements(${_target} _linkedTargets) |
|
|
|
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) |
|
|
|
foreach (_linkedTarget ${_linkedTargets}) |
|
|
|
get_target_property(_targetOptions ${_linkedTarget} INTERFACE_COMPILE_OPTIONS) |
|
|
|
if (_targetOptions) |
|
|
@@ -573,7 +578,7 @@ function (cotire_get_target_include_directories _config _language _target _inclu |
|
|
|
# interface include directories from linked library targets |
|
|
|
if (_target) |
|
|
|
set (_linkedTargets "") |
|
|
|
cotire_get_target_usage_requirements(${_target} _linkedTargets) |
|
|
|
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) |
|
|
|
foreach (_linkedTarget ${_linkedTargets}) |
|
|
|
get_target_property(_linkedTargetType ${_linkedTarget} TYPE) |
|
|
|
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() |
|
|
|
# interface compile definitions from linked library targets |
|
|
|
set (_linkedTargets "") |
|
|
|
cotire_get_target_usage_requirements(${_target} _linkedTargets) |
|
|
|
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets) |
|
|
|
foreach (_linkedTarget ${_linkedTargets}) |
|
|
|
get_target_property(_definitions ${_linkedTarget} INTERFACE_COMPILE_DEFINITIONS) |
|
|
|
if (_definitions) |
|
|
|