conan-io / cmake-conan

CMake wrapper for conan C and C++ package manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[develop2] PR 539 causing find_package to attempt to create the same target twice producing spurious warning

simonimpey opened this issue · comments

I am making the following find package call find_package(pugixml CONFIG REQUIRED) and since this PR I am seeing the following warning in the CMake output:

CMake Warning at x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake:25 (message):
  Target name 'pugixml::static' already exists.
Call Stack (most recent call first):
  x64/Debug/conan/build/Debug/generators/pugixml-config.cmake:16 (include)
  x64/Debug/conan_provider.cmake:303 (find_package)
  Common/FileIO/CMakeLists.txt:6 (find_package)

This cause by two things. Firstly the new behaviour in the conan_provider.cmake file is causing find_package to be called twice:

C:/Users/simon/Source/Projects/Diaspora/Common/FileIO/CMakeLists.txt(6):  find_package(pugixml CONFIG REQUIRED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(262):  get_property(CONAN_INSTALL_SUCCESS GLOBAL PROPERTY CONAN_INSTALL_SUCCESS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(263):  if(NOT CONAN_INSTALL_SUCCESS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(278):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(279):  message(STATUS CMake-Conan: find_package(pugixml) found, 'conan install' already ran )
-- CMake-Conan: find_package(pugixml) found, 'conan install' already ran
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(282):  get_property(CONAN_GENERATORS_FOLDER GLOBAL PROPERTY CONAN_GENERATORS_FOLDER )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(292):  set(_find_args CONFIG;REQUIRED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(293):  list(REMOVE_ITEM _find_args REQUIRED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(294):  if(NOT MODULE IN_LIST _find_args )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(295):  find_package(pugixml ${_find_args} BYPASS_PROVIDER PATHS ${CONAN_GENERATORS_FOLDER} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(1):  set(PACKAGE_VERSION 1.13 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(3):  if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(5):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(6):  if(1.13 MATCHES ^([0-9]+)\\. )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(7):  set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(12):  if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(14):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(15):  set(PACKAGE_VERSION_COMPATIBLE FALSE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(18):  if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(5):  if(${CMAKE_VERSION} VERSION_LESS 3.15 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(9):  if(pugixml_FIND_QUIETLY )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(11):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(12):  set(pugixml_MESSAGE_MODE STATUS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(15):  include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(2):  macro(conan_find_apple_frameworks FRAMEWORKS_FOUND FRAMEWORKS FRAMEWORKS_DIRS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(18):  function(conan_package_library_targets libraries package_libdir package_bindir library_type is_host_windows deps_target out_libraries_target config_suffix package_name no_soname_mode )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(80):  macro(check_build_type_defined )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(16):  include(${CMAKE_CURRENT_LIST_DIR}/pugixmlTargets.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(2):  get_filename_component(_DIR ${CMAKE_CURRENT_LIST_FILE} PATH )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(3):  file(GLOB DATA_FILES ${_DIR}/pugixml-*-data.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(5):  foreach(f ${DATA_FILES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(6):  include(${f} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(4):  set(pugixml_COMPONENT_NAMES  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(5):  set(pugixml_FIND_DEPENDENCY_NAMES  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(9):  set(pugixml_PACKAGE_FOLDER_DEBUG C:/Users/simon/.conan2/p/b/pugixc7251d31c698e/p )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(10):  set(pugixml_BUILD_MODULES_PATHS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(13):  set(pugixml_INCLUDE_DIRS_DEBUG ${pugixml_PACKAGE_FOLDER_DEBUG}/include )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(14):  set(pugixml_RES_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(15):  set(pugixml_DEFINITIONS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(16):  set(pugixml_SHARED_LINK_FLAGS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(17):  set(pugixml_EXE_LINK_FLAGS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(18):  set(pugixml_OBJECTS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(19):  set(pugixml_COMPILE_DEFINITIONS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(20):  set(pugixml_COMPILE_OPTIONS_C_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(21):  set(pugixml_COMPILE_OPTIONS_CXX_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(22):  set(pugixml_LIB_DIRS_DEBUG ${pugixml_PACKAGE_FOLDER_DEBUG}/lib )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(23):  set(pugixml_BIN_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(24):  set(pugixml_LIBRARY_TYPE_DEBUG STATIC )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(25):  set(pugixml_IS_HOST_WINDOWS_DEBUG 1 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(26):  set(pugixml_LIBS_DEBUG pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(27):  set(pugixml_SYSTEM_LIBS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(28):  set(pugixml_FRAMEWORK_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(29):  set(pugixml_FRAMEWORKS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(30):  set(pugixml_BUILD_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(31):  set(pugixml_NO_SONAME_MODE_DEBUG FALSE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(35):  set(pugixml_COMPILE_OPTIONS_DEBUG $<$<COMPILE_LANGUAGE:CXX>:${pugixml_COMPILE_OPTIONS_CXX_DEBUG}> $<$<COMPILE_LANGUAGE:C>:${pugixml_COMPILE_OPTIONS_C_DEBUG}> )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(38):  set(pugixml_LINKER_FLAGS_DEBUG $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${pugixml_SHARED_LINK_FLAGS_DEBUG}> $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${pugixml_SHARED_LINK_FLAGS_DEBUG}> $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${pugixml_EXE_LINK_FLAGS_DEBUG}> )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(44):  set(pugixml_COMPONENTS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(10):  foreach(_COMPONENT ${pugixml_COMPONENT_NAMES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(17):  if(NOT TARGET pugixml::pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(18):  add_library(pugixml::pugixml INTERFACE IMPORTED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(19):  message(${pugixml_MESSAGE_MODE} Conan: Target declared 'pugixml::pugixml' )
-- Conan: Target declared 'pugixml::pugixml'
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(21):  if(NOT TARGET pugixml::static )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(22):  add_library(pugixml::static INTERFACE IMPORTED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(23):  set_property(TARGET pugixml::static PROPERTY INTERFACE_LINK_LIBRARIES pugixml::pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(28):  get_filename_component(_DIR ${CMAKE_CURRENT_LIST_FILE} PATH )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(29):  file(GLOB CONFIG_FILES ${_DIR}/pugixml-Target-*.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(31):  foreach(f ${CONFIG_FILES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(32):  include(${f} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(2):  include_guard()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(4):  set(pugixml_FRAMEWORKS_FOUND_DEBUG  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(5):  conan_find_apple_frameworks(pugixml_FRAMEWORKS_FOUND_DEBUG ${pugixml_FRAMEWORKS_DEBUG} ${pugixml_FRAMEWORK_DIRS_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(3):  if(APPLE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(7):  set(pugixml_LIBRARIES_TARGETS  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(11):  if(NOT TARGET pugixml_DEPS_TARGET )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(12):  add_library(pugixml_DEPS_TARGET INTERFACE IMPORTED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(15):  set_property(TARGET pugixml_DEPS_TARGET PROPERTY INTERFACE_LINK_LIBRARIES $<$<CONFIG:Debug>:${pugixml_FRAMEWORKS_FOUND_DEBUG}> $<$<CONFIG:Debug>:${pugixml_SYSTEM_LIBS_DEBUG}> $<$<CONFIG:Debug>:> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(24):  conan_package_library_targets(${pugixml_LIBS_DEBUG} ${pugixml_LIB_DIRS_DEBUG} ${pugixml_BIN_DIRS_DEBUG} ${pugixml_LIBRARY_TYPE_DEBUG} ${pugixml_IS_HOST_WINDOWS_DEBUG} pugixml_DEPS_TARGET pugixml_LIBRARIES_TARGETS _DEBUG pugixml ${pugixml_NO_SONAME_MODE_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(20):  set(_out_libraries_target  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(22):  foreach(_LIBRARY_NAME ${libraries} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(23):  find_library(CONAN_FOUND_LIBRARY NAMES ${_LIBRARY_NAME} PATHS ${package_libdir} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(25):  if(CONAN_FOUND_LIBRARY )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(26):  message(VERBOSE Conan: Library ${_LIBRARY_NAME} found ${CONAN_FOUND_LIBRARY} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(30):  string(REGEX REPLACE [^A-Za-z0-9.+_-] _ _LIBRARY_NAME ${_LIBRARY_NAME} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(31):  set(_LIB_NAME CONAN_LIB::${package_name}_${_LIBRARY_NAME}${config_suffix} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(33):  if(is_host_windows AND library_type STREQUAL SHARED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(56):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(57):  if(NOT TARGET ${_LIB_NAME} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(59):  add_library(${_LIB_NAME} ${library_type} IMPORTED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(61):  message(DEBUG Created target ${_LIB_NAME} ${library_type} IMPORTED )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(62):  set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_FOUND_LIBRARY} IMPORTED_NO_SONAME ${no_soname_mode} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(64):  list(APPEND _out_libraries_target ${_LIB_NAME} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(65):  message(VERBOSE Conan: Found: ${CONAN_FOUND_LIBRARY} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(69):  unset(CONAN_FOUND_LIBRARY CACHE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(73):  foreach(_T ${_out_libraries_target} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(74):  set_property(TARGET ${_T} PROPERTY INTERFACE_LINK_LIBRARIES ${deps_target} APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(77):  set(${out_libraries_target} ${_out_libraries_target} PARENT_SCOPE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(36):  set(CMAKE_MODULE_PATH ${pugixml_BUILD_DIRS_DEBUG} ${CMAKE_MODULE_PATH} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(39):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_LINK_LIBRARIES $<$<CONFIG:Debug>:${pugixml_OBJECTS_DEBUG}> $<$<CONFIG:Debug>:${pugixml_LIBRARIES_TARGETS}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(45):  if(${pugixml_LIBS_DEBUG} STREQUAL  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(55):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_LINK_OPTIONS $<$<CONFIG:Debug>:${pugixml_LINKER_FLAGS_DEBUG}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(58):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<$<CONFIG:Debug>:${pugixml_INCLUDE_DIRS_DEBUG}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(62):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_LINK_DIRECTORIES $<$<CONFIG:Debug>:${pugixml_LIB_DIRS_DEBUG}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(65):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<CONFIG:Debug>:${pugixml_COMPILE_DEFINITIONS_DEBUG}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(68):  set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_COMPILE_OPTIONS $<$<CONFIG:Debug>:${pugixml_COMPILE_OPTIONS_DEBUG}> APPEND )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-Target-debug.cmake(73):  set(pugixml_LIBRARIES_DEBUG pugixml::pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(17):  include(CMakeFindDependencyMacro )
C:/Users/simon/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.49/bin/cmake/win/x64/share/cmake-3.26/Modules/CMakeFindDependencyMacro.cmake(57):  macro(find_dependency dep )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(19):  check_build_type_defined()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(82):  get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(83):  if(NOT isMultiConfig AND NOT CMAKE_BUILD_TYPE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(21):  foreach(_DEPENDENCY ${pugixml_FIND_DEPENDENCY_NAMES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(28):  set(pugixml_VERSION_STRING 1.13 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(29):  set(pugixml_INCLUDE_DIRS ${pugixml_INCLUDE_DIRS_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(30):  set(pugixml_INCLUDE_DIR ${pugixml_INCLUDE_DIRS_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(31):  set(pugixml_LIBRARIES ${pugixml_LIBRARIES_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(32):  set(pugixml_DEFINITIONS ${pugixml_DEFINITIONS_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(35):  foreach(_BUILD_MODULE ${pugixml_BUILD_MODULES_PATHS_DEBUG} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(301):  set(_cmake_module_path_orig ${CMAKE_MODULE_PATH} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(302):  list(PREPEND CMAKE_MODULE_PATH ${CONAN_GENERATORS_FOLDER} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan_provider.cmake(303):  find_package(pugixml CONFIG;REQUIRED BYPASS_PROVIDER )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(1):  set(PACKAGE_VERSION 1.13 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(3):  if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(5):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(6):  if(1.13 MATCHES ^([0-9]+)\\. )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(7):  set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(12):  if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(14):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(15):  set(PACKAGE_VERSION_COMPATIBLE FALSE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config-version.cmake(18):  if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(5):  if(${CMAKE_VERSION} VERSION_LESS 3.15 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(9):  if(pugixml_FIND_QUIETLY )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(11):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(12):  set(pugixml_MESSAGE_MODE STATUS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(15):  include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(2):  macro(conan_find_apple_frameworks FRAMEWORKS_FOUND FRAMEWORKS FRAMEWORKS_DIRS )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(18):  function(conan_package_library_targets libraries package_libdir package_bindir library_type is_host_windows deps_target out_libraries_target config_suffix package_name no_soname_mode )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/cmakedeps_macros.cmake(80):  macro(check_build_type_defined )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-config.cmake(16):  include(${CMAKE_CURRENT_LIST_DIR}/pugixmlTargets.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(2):  get_filename_component(_DIR ${CMAKE_CURRENT_LIST_FILE} PATH )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(3):  file(GLOB DATA_FILES ${_DIR}/pugixml-*-data.cmake )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(5):  foreach(f ${DATA_FILES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(6):  include(${f} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(4):  set(pugixml_COMPONENT_NAMES  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(5):  set(pugixml_FIND_DEPENDENCY_NAMES  )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(9):  set(pugixml_PACKAGE_FOLDER_DEBUG C:/Users/simon/.conan2/p/b/pugixc7251d31c698e/p )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(10):  set(pugixml_BUILD_MODULES_PATHS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(13):  set(pugixml_INCLUDE_DIRS_DEBUG ${pugixml_PACKAGE_FOLDER_DEBUG}/include )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(14):  set(pugixml_RES_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(15):  set(pugixml_DEFINITIONS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(16):  set(pugixml_SHARED_LINK_FLAGS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(17):  set(pugixml_EXE_LINK_FLAGS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(18):  set(pugixml_OBJECTS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(19):  set(pugixml_COMPILE_DEFINITIONS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(20):  set(pugixml_COMPILE_OPTIONS_C_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(21):  set(pugixml_COMPILE_OPTIONS_CXX_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(22):  set(pugixml_LIB_DIRS_DEBUG ${pugixml_PACKAGE_FOLDER_DEBUG}/lib )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(23):  set(pugixml_BIN_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(24):  set(pugixml_LIBRARY_TYPE_DEBUG STATIC )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(25):  set(pugixml_IS_HOST_WINDOWS_DEBUG 1 )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(26):  set(pugixml_LIBS_DEBUG pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(27):  set(pugixml_SYSTEM_LIBS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(28):  set(pugixml_FRAMEWORK_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(29):  set(pugixml_FRAMEWORKS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(30):  set(pugixml_BUILD_DIRS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(31):  set(pugixml_NO_SONAME_MODE_DEBUG FALSE )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(35):  set(pugixml_COMPILE_OPTIONS_DEBUG $<$<COMPILE_LANGUAGE:CXX>:${pugixml_COMPILE_OPTIONS_CXX_DEBUG}> $<$<COMPILE_LANGUAGE:C>:${pugixml_COMPILE_OPTIONS_C_DEBUG}> )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(38):  set(pugixml_LINKER_FLAGS_DEBUG $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${pugixml_SHARED_LINK_FLAGS_DEBUG}> $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${pugixml_SHARED_LINK_FLAGS_DEBUG}> $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${pugixml_EXE_LINK_FLAGS_DEBUG}> )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixml-debug-x86_64-data.cmake(44):  set(pugixml_COMPONENTS_DEBUG )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(10):  foreach(_COMPONENT ${pugixml_COMPONENT_NAMES} )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(17):  if(NOT TARGET pugixml::pugixml )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(21):  if(NOT TARGET pugixml::static )
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(24):  else()
C:/Users/simon/Source/Projects/Diaspora/x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake(25):  message(WARNING Target name 'pugixml::static' already exists. )
CMake Warning at x64/Debug/conan/build/Debug/generators/pugixmlTargets.cmake:25 (message):
  Target name 'pugixml::static' already exists.
Call Stack (most recent call first):
  x64/Debug/conan/build/Debug/generators/pugixml-config.cmake:16 (include)
  x64/Debug/conan_provider.cmake:303 (find_package)
  Common/FileIO/CMakeLists.txt:6 (find_package)

Secondly the code in the generated pugixmlTargets.cmake file:

if(NOT TARGET pugixml::static)
    add_library(pugixml::static INTERFACE IMPORTED)
    set_property(TARGET pugixml::static PROPERTY INTERFACE_LINK_LIBRARIES pugixml::pugixml)
else()
    message(WARNING "Target name 'pugixml::static' already exists.")
endif()

I am uncertain if this is an issue with the new behaviour in conan_provider.cmake or something to do with the recipe generating a warning when it shouldn't. Should there potentially be a check in the conan_provider.cmake file e.g.

# Ensure that we consider Conan-provided packages ahead of any other,
# irrespective of other settings that modify the search order or search paths
# This follows the guidelines from the find_package documentation
#  (https://cmake.org/cmake/help/latest/command/find_package.html):
#       find_package (<PackageName> PATHS paths... NO_DEFAULT_PATH)
#       find_package (<PackageName>)

# Filter out `REQUIRED` from the argument list, as the first call may fail
set(_find_args "${ARGN}")
list(REMOVE_ITEM _find_args "REQUIRED")
if(NOT "MODULE" IN_LIST _find_args)
    find_package(${package_name} ${_find_args} BYPASS_PROVIDER PATHS "${CONAN_GENERATORS_FOLDER}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
endif()
unset(_find_args)

# Invoke find_package a second time - if the first call succeeded,
# this will simply reuse the result. If not, fall back to CMake default search
# behaviour, also allowing modules to be searched.
if(NOT ${package_name}_FOUND)
    set(_cmake_module_path_orig "${CMAKE_MODULE_PATH}")
    list(PREPEND CMAKE_MODULE_PATH "${CONAN_GENERATORS_FOLDER}")
    find_package(${package_name} ${ARGN} BYPASS_PROVIDER)

    set(CMAKE_MODULE_PATH "${_cmake_module_path_orig}")
    unset(_cmake_module_path_orig)
endif()

Hi @simonimpey

Thanks for your report.
This is unexpected, we thought that CMake would be the one avoiding the duplicate call once the first time it has been found, in theory the manual if(NOT ${package_name}_FOUND) shouldn't be needed. We need to check this.