karastojko / mailio

mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. It is based on standard C++ 17 and Boost library.
Other
372 stars 98 forks source link

CMake Error when using with vcpkg #172

Open ParticleG opened 1 month ago

ParticleG commented 1 month ago

Reproduce repo: Studio26F vcpkg.json:

{
  "name": "studio26f",
  "version-string": "1.0.0",
  "maintainers": [
    "Particle_G <particle_g@outlook.com>"
  ],
  "description": "The new centralized backend for the block stacking game <Techmino>",
  "homepage": "https://github.com/26F-Studio/Studio26F",
  "documentation": "https://github.com/26F-Studio/Studio26F",
  "license": "LGPL-3.0",
  "dependencies": [
    "cryptopp",
    {
      "name": "drogon",
      "default-features": false,
      "features": [
        "ctl",
        "orm",
        "postgres",
        "redis"
      ]
    },
    "mailio",
    "magic-enum",
    "range-v3"
  ]
}
CMake Error at cmake-build-debug/vcpkg_installed/x64-windows/share/mailio/mailioConfig.cmake:61 (set_target_properties):
  The link interface of target "mailio" contains:

    Boost::system

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
  CMakeLists.txt:35 (find_package)

CMake Generate step failed.  Build files cannot be regenerated correctly.
ninja: error: rebuilding 'build.ninja': subcommand failed
karastojko commented 1 month ago

Does it work when directly consumed from Vcpkg? Because the Microsoft CI/CD worked fine for the version 0.23.

ParticleG commented 1 month ago

I'm currently using vcpkg as a submodule, and I havn't tried with an empty vcpkg.json which has mailio as the only one dependency. Would try that out.

hotaery commented 2 weeks ago

Hi, @ParticleG Have you solve this problem?

hotaery commented 2 weeks ago

modify CMakeLists.txt from

find_package(mailio CONFIG REQUIRED)

to

find_package(boost_system CONFIG REQUIRED)
find_package(boost_date_time CONFIG REQUIRED)

find_package(mailio CONFIG REQUIRED)

fix my problem