Skip to content

Regarding the inability to reference io/ssl in vcpkg #265

@dongyaosheng

Description

@dongyaosheng

I am using cmake + vcpkg to reference cobalt. If I only use Boost::cobalt, there is no problem. But if I want to reference cobalt_io/cobalt_io_ssl, it seems to have some issues. Here is boost_cobalt-targets.cmake, seems no info about Boost::cobalt::io has been exported

# Generated by CMake

if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
   message(FATAL_ERROR "CMake >= 2.8.3 required")
endif()
if(CMAKE_VERSION VERSION_LESS "2.8.3")
   message(FATAL_ERROR "CMake >= 2.8.3 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.8.3...3.31)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------

# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)

# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_cmake_targets_defined "")
set(_cmake_targets_not_defined "")
set(_cmake_expected_targets "")
foreach(_cmake_expected_target IN ITEMS Boost::cobalt)
  list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
  if(TARGET "${_cmake_expected_target}")
    list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
  else()
    list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
  endif()
endforeach()
unset(_cmake_expected_target)
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
  unset(_cmake_targets_defined)
  unset(_cmake_targets_not_defined)
  unset(_cmake_expected_targets)
  unset(CMAKE_IMPORT_FILE_VERSION)
  cmake_policy(POP)
  return()
endif()
if(NOT _cmake_targets_defined STREQUAL "")
  string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
  string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
  message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
endif()
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)


# Create imported target Boost::cobalt
add_library(Boost::cobalt SHARED IMPORTED)

set_target_properties(Boost::cobalt PROPERTIES
  INTERFACE_COMPILE_DEFINITIONS "BOOST_COBALT_NO_LIB=1;_WIN32_WINNT=0x0601;BOOST_COBALT_DYN_LINK=1"
  INTERFACE_COMPILE_FEATURES "cxx_std_20"
  INTERFACE_INCLUDE_DIRECTORIES "D:/vcpkg/buildtrees/boost-cobalt/src/ost-1.90.0-be20deba3f.clean/libs/cobalt/include"
  INTERFACE_LINK_LIBRARIES "Boost::asio;Boost::callable_traits;Boost::circular_buffer;Boost::config;Boost::core;Boost::endian;Boost::intrusive;Boost::mp11;Boost::preprocessor;Boost::smart_ptr;Boost::static_string;Boost::system;Boost::throw_exception;Boost::variant2"
)

# Import target "Boost::cobalt" for configuration "Debug"
set_property(TARGET Boost::cobalt APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(Boost::cobalt PROPERTIES
  IMPORTED_IMPLIB_DEBUG "D:/vcpkg/buildtrees/boost-cobalt/x64-windows-dbg/stage/lib/boost_cobalt-vc145-mt-gd-x64-1_90.lib"
  IMPORTED_LOCATION_DEBUG "D:/vcpkg/buildtrees/boost-cobalt/x64-windows-dbg/stage/bin/boost_cobalt-vc145-mt-gd-x64-1_90.dll"
  )

# This file does not depend on other imported targets which have
# been exported from the same project but in a separate export set.

# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions