Yocto наполняет SDK - рецепт наследуется от cmake - PullRequest
0 голосов
/ 18 января 2019


Я использую cmake для создания моего исходного кода. Это зависит от пакета с именем "spdlog".
Я хочу создать SDK с помощью Yocto. SDK сгенерирован правильно с помощью populate_sdk, но файл cmake config spdlog не поставляется в SDK. Мой рецепт:

SUMMARY = "Spdlog"
DESCRIPTION = "Fast C++ logging library"
AUTHOR = "author name"
LICENSE = "CLOSED"
SECTION = "libs"

SRC_URI = "git://git@github.com/gabime/spdlog.git;branch=master;protocol=ssh"
SRCREV = "7088644d3f69f18b51671eb52dd49028fd858add"

PR = "r0"

PVBASE := "${PV}"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PVBASE}:"

PV = "${PVBASE}.${SRCPV}"

S = "${WORKDIR}/git"

inherit cmake pkgconfig

FILES_${PN} += "/usr/lib/cmake/spdlog/spdlogConfig.cmake \
                /usr/lib/cmake/spdlog/spdlogConfigVersion.cmake \
                "

Но мы устанавливаем мой SDK и пытаемся использовать его для компиляции моего кода, но произошла ошибка с этой ошибкой:

Make Error at CMakeLists.txt:89 (find_package):
  Could not find a package configuration file provided by "spdlog" with any
  of the following names:

    spdlogConfig.cmake
    spdlogConfigVersion.cmake

Когда я проверяю папку build tmp / work / spdlog, я вижу экспортированные файлы:

./image/usr/lib/cmake/spdlog/spdlogConfig.cmake
./sysroot-destdir/usr/lib/cmake/spdlog/spdlogConfig.cmake
./packages-split/spdlog/usr/lib/cmake/spdlog/spdlogConfig.cmake
./build/CMakeFiles/Export/lib/cmake/spdlog/spdlogConfig.cmake
./build/spdlogConfig.cmake
./package/usr/lib/cmake/spdlog/spdlogConfig.cmake
./recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPkgConfig.cmake
./recipe-sysroot-native/usr/share/cmake-3.8/Modules/UsePkgConfig.cmake

У вас есть идеи по этому вопросу?

1 Ответ

0 голосов
/ 18 января 2019

Каждый пакет из файла FILES _ $ {PN} -dev будет доступен в Yocto SDK.

Решение для моей проблемы состоит в том, чтобы установить cmake требуемый файл конфигурации * .cmake в FILES _ $ {PN} -dev.

...