Ver a proveniência

handle simple generator expression in target usage requirements

master
Sascha Kratky há 8 anos
ascendente
cometimento
1cc391fbbd
1 ficheiros alterados com 9 adições e 4 eliminações
  1. +9
    -4
      CMake/cotire.cmake

+ 9
- 4
CMake/cotire.cmake Ver ficheiro

@@ -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)


Carregando…
Cancelar
Guardar