function(conan_message MESSAGE_OUTPUT) if(NOT CONAN_CMAKE_SILENT_OUTPUT) message(${ARGV${0}}) endif() endfunction() macro(conan_find_apple_frameworks FRAMEWORKS_FOUND FRAMEWORKS FRAMEWORKS_DIRS) if(APPLE) foreach(_FRAMEWORK ${FRAMEWORKS}) # https://cmake.org/pipermail/cmake-developers/2017-August/030199.html find_library(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND NAME ${_FRAMEWORK} PATHS ${FRAMEWORKS_DIRS} CMAKE_FIND_ROOT_PATH_BOTH) if(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND) list(APPEND ${FRAMEWORKS_FOUND} ${CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND}) else() message(FATAL_ERROR "Framework library ${_FRAMEWORK} not found in paths: ${FRAMEWORKS_DIRS}") endif() endforeach() endif() endmacro() function(conan_package_library_targets libraries package_libdir deps out_libraries out_libraries_target build_type package_name) unset(_CONAN_ACTUAL_TARGETS CACHE) unset(_CONAN_FOUND_SYSTEM_LIBS CACHE) foreach(_LIBRARY_NAME ${libraries}) find_library(CONAN_FOUND_LIBRARY NAME ${_LIBRARY_NAME} PATHS ${package_libdir} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) if(CONAN_FOUND_LIBRARY) conan_message(STATUS "Library ${_LIBRARY_NAME} found ${CONAN_FOUND_LIBRARY}") list(APPEND _out_libraries ${CONAN_FOUND_LIBRARY}) if(NOT ${CMAKE_VERSION} VERSION_LESS "3.0") # Create a micro-target for each lib/a found string(REGEX REPLACE "[^A-Za-z0-9.+_-]" "_" _LIBRARY_NAME ${_LIBRARY_NAME}) set(_LIB_NAME CONAN_LIB::${package_name}_${_LIBRARY_NAME}${build_type}) if(NOT TARGET ${_LIB_NAME}) # Create a micro-target for each lib/a found add_library(${_LIB_NAME} UNKNOWN IMPORTED) set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION ${CONAN_FOUND_LIBRARY}) set(_CONAN_ACTUAL_TARGETS ${_CONAN_ACTUAL_TARGETS} ${_LIB_NAME}) else() conan_message(STATUS "Skipping already existing target: ${_LIB_NAME}") endif() list(APPEND _out_libraries_target ${_LIB_NAME}) endif() conan_message(STATUS "Found: ${CONAN_FOUND_LIBRARY}") else() conan_message(STATUS "Library ${_LIBRARY_NAME} not found in package, might be system one") list(APPEND _out_libraries_target ${_LIBRARY_NAME}) list(APPEND _out_libraries ${_LIBRARY_NAME}) set(_CONAN_FOUND_SYSTEM_LIBS "${_CONAN_FOUND_SYSTEM_LIBS};${_LIBRARY_NAME}") endif() unset(CONAN_FOUND_LIBRARY CACHE) endforeach() if(NOT ${CMAKE_VERSION} VERSION_LESS "3.0") # Add all dependencies to all targets string(REPLACE " " ";" deps_list "${deps}") foreach(_CONAN_ACTUAL_TARGET ${_CONAN_ACTUAL_TARGETS}) set_property(TARGET ${_CONAN_ACTUAL_TARGET} PROPERTY INTERFACE_LINK_LIBRARIES "${_CONAN_FOUND_SYSTEM_LIBS};${deps_list}") endforeach() endif() set(${out_libraries} ${_out_libraries} PARENT_SCOPE) set(${out_libraries_target} ${_out_libraries_target} PARENT_SCOPE) endfunction() include(FindPackageHandleStandardArgs) conan_message(STATUS "Conan: Using autogenerated Findpugixml.cmake") # Global approach set(pugixml_FOUND 1) set(pugixml_VERSION "1.11") find_package_handle_standard_args(pugixml REQUIRED_VARS pugixml_VERSION VERSION_VAR pugixml_VERSION) mark_as_advanced(pugixml_FOUND pugixml_VERSION) set(pugixml_INCLUDE_DIRS "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/include") set(pugixml_INCLUDE_DIR "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/include") set(pugixml_INCLUDES "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/include") set(pugixml_RES_DIRS ) set(pugixml_DEFINITIONS ) set(pugixml_LINKER_FLAGS_LIST "$<$,SHARED_LIBRARY>:>" "$<$,MODULE_LIBRARY>:>" "$<$,EXECUTABLE>:>" ) set(pugixml_COMPILE_DEFINITIONS ) set(pugixml_COMPILE_OPTIONS_LIST "" "") set(pugixml_COMPILE_OPTIONS_C "") set(pugixml_COMPILE_OPTIONS_CXX "") set(pugixml_LIBRARIES_TARGETS "") # Will be filled later, if CMake 3 set(pugixml_LIBRARIES "") # Will be filled later set(pugixml_LIBS "") # Same as pugixml_LIBRARIES set(pugixml_SYSTEM_LIBS ) set(pugixml_FRAMEWORK_DIRS ) set(pugixml_FRAMEWORKS ) set(pugixml_FRAMEWORKS_FOUND "") # Will be filled later set(pugixml_BUILD_MODULES_PATHS ) conan_find_apple_frameworks(pugixml_FRAMEWORKS_FOUND "${pugixml_FRAMEWORKS}" "${pugixml_FRAMEWORK_DIRS}") mark_as_advanced(pugixml_INCLUDE_DIRS pugixml_INCLUDE_DIR pugixml_INCLUDES pugixml_DEFINITIONS pugixml_LINKER_FLAGS_LIST pugixml_COMPILE_DEFINITIONS pugixml_COMPILE_OPTIONS_LIST pugixml_LIBRARIES pugixml_LIBS pugixml_LIBRARIES_TARGETS) # Find the real .lib/.a and add them to pugixml_LIBS and pugixml_LIBRARY_LIST set(pugixml_LIBRARY_LIST pugixml) set(pugixml_LIB_DIRS "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/lib") # Gather all the libraries that should be linked to the targets (do not touch existing variables): set(_pugixml_DEPENDENCIES "${pugixml_FRAMEWORKS_FOUND} ${pugixml_SYSTEM_LIBS} ") conan_package_library_targets("${pugixml_LIBRARY_LIST}" # libraries "${pugixml_LIB_DIRS}" # package_libdir "${_pugixml_DEPENDENCIES}" # deps pugixml_LIBRARIES # out_libraries pugixml_LIBRARIES_TARGETS # out_libraries_targets "" # build_type "pugixml") # package_name set(pugixml_LIBS ${pugixml_LIBRARIES}) foreach(_FRAMEWORK ${pugixml_FRAMEWORKS_FOUND}) list(APPEND pugixml_LIBRARIES_TARGETS ${_FRAMEWORK}) list(APPEND pugixml_LIBRARIES ${_FRAMEWORK}) endforeach() foreach(_SYSTEM_LIB ${pugixml_SYSTEM_LIBS}) list(APPEND pugixml_LIBRARIES_TARGETS ${_SYSTEM_LIB}) list(APPEND pugixml_LIBRARIES ${_SYSTEM_LIB}) endforeach() # We need to add our requirements too set(pugixml_LIBRARIES_TARGETS "${pugixml_LIBRARIES_TARGETS};") set(pugixml_LIBRARIES "${pugixml_LIBRARIES};") set(CMAKE_MODULE_PATH "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/" ${CMAKE_MODULE_PATH}) set(CMAKE_PREFIX_PATH "/home/codespace/.conan/data/pugixml/1.11/_/_/package/b911f48570f9bb2902d9e83b2b9ebf9d376c8c56/" ${CMAKE_PREFIX_PATH}) if(NOT ${CMAKE_VERSION} VERSION_LESS "3.0") # Target approach if(NOT TARGET pugixml::pugixml) add_library(pugixml::pugixml INTERFACE IMPORTED) if(pugixml_INCLUDE_DIRS) set_target_properties(pugixml::pugixml PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${pugixml_INCLUDE_DIRS}") endif() set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_LINK_LIBRARIES "${pugixml_LIBRARIES_TARGETS};${pugixml_LINKER_FLAGS_LIST}") set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_COMPILE_DEFINITIONS ${pugixml_COMPILE_DEFINITIONS}) set_property(TARGET pugixml::pugixml PROPERTY INTERFACE_COMPILE_OPTIONS "${pugixml_COMPILE_OPTIONS_LIST}") endif() endif() foreach(_BUILD_MODULE_PATH ${pugixml_BUILD_MODULES_PATHS}) include(${_BUILD_MODULE_PATH}) endforeach()