Merge topic 'FindBoost-1.71'

907d3ed824 FindBoost: Tolerate future Boost INTERFACE libraries
2d357b7a68 FindBoost: Clarify role of legacy variables in warning message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3780
This commit is contained in:
Brad King
2019-09-04 13:43:07 +00:00
committed by Kitware Robot
+15 -9
View File
@@ -345,7 +345,7 @@ function(_boost_set_legacy_variables_from_config)
_boost_get_existing_target(${comp} target)
if(NOT target)
if(Boost_DEBUG OR Boost_VERBOSE)
message(WARNING "Could not find imported target for required component '${comp}'. Standard variables for this component might be missing. Refer to the documentation of your Boost installation for help on variables to use.")
message(WARNING "Could not find imported target for required component '${comp}'. Legacy variables for this component might be missing. Refer to the documentation of your Boost installation for help on variables to use.")
endif()
continue()
endif()
@@ -353,14 +353,20 @@ function(_boost_set_legacy_variables_from_config)
_boost_set_if_unset(Boost_${uppercomp}_LIBRARY "${target}")
_boost_set_if_unset(Boost_${uppercomp}_LIBRARIES "${target}") # Very old legacy variable
list(APPEND libraries "${target}")
foreach(cfg RELEASE DEBUG)
get_target_property(lib ${target} IMPORTED_LOCATION_${cfg})
if(lib)
get_filename_component(lib_dir "${lib}" DIRECTORY)
list(APPEND library_dirs ${lib_dir})
_boost_set_cache_if_unset(Boost_${uppercomp}_LIBRARY_${cfg} "${lib}")
endif()
endforeach()
get_property(type TARGET "${target}" PROPERTY TYPE)
if(NOT type STREQUAL "INTERFACE_LIBRARY")
foreach(cfg RELEASE DEBUG)
get_target_property(lib ${target} IMPORTED_LOCATION_${cfg})
if(lib)
get_filename_component(lib_dir "${lib}" DIRECTORY)
list(APPEND library_dirs ${lib_dir})
_boost_set_cache_if_unset(Boost_${uppercomp}_LIBRARY_${cfg} "${lib}")
endif()
endforeach()
elseif(Boost_DEBUG OR Boost_VERBOSE)
# For projects using only the Boost::* targets this warning can be safely ignored.
message(WARNING "Imported target '${target}' for required component '${comp}' has no artifact. Legacy variables for this component might be missing. Refer to the documentation of your Boost installation for help on variables to use.")
endif()
_boost_get_canonical_target_name("${comp}" canonical_target)
if(NOT TARGET "${canonical_target}")
add_library("${canonical_target}" INTERFACE IMPORTED)