2013-08-22 10 views
7

Próbuję zbudować obraz yocto z własnym pakietem. Mam kod OpenCV na github, który używa cmake.Cmake z bitbake recipe

Próbuję napisać przepis na to i w obliczu wielu błędów. Czy ktoś może podpowiedzieć, jakie funkcje lub parametry uwzględnić w mojej recepturze? Mój przepis wygląda następująco

DESCRIPTION = "cameracapture application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r0" 

DEPENDS += "opencv" 

SRC_URI = "git://https://github.com/zafrullahsyed/cameracapture.git;protocol=https;tag=v0.1" 

EXTRA_OECMAKE="" 

do_configure() { 
cmake ../ 
} 

inherit pkgconfig cmake 

I po tych tutoriali napisać moją recepturę z cmake ale na próżno: Bitbake Player recipe

Cmake-Bitbake-QT

+0

Czy możesz wspomnieć o błędach? – lpapp

+0

Ponadto nie powinieneś już używać PR. – lpapp

Odpowiedz

11

Prawidłowy sposób pisania własnych receptur z cmake następująco:

DESCRIPTION = "cameracapture application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r0" 

DEPENDS = "opencv" 

SRC_URI = "git://github.com/zafrullahsyed/cameracapture.git;protocol=https;tag=v0.1" 

S = "${WORKDIR}/git" 

inherit pkgconfig cmake 

do_install() { 
    install -d ${D}${bindir} 
    install -m 0755 cameracapture ${D}${bindir} 
} 

Wcześniej nie miałem dodać do_install to powód yocto pobiera przepis ale nie obejmuje to obraz .

+3

do_install nie jest konieczne, zobacz odpowiedź elmsfu – Anonymous

+1

Podobnie jak w poprzednim komentarzu, 'do_install' isn Niezbędne. "Cmake.bbclass" będzie domyślnie uruchamiał '\t oe_runmake 'DESTDIR = $ {D}' install '. – Anders

2

dodać katalog źródłowy w swojej recepturze.

przykład S = "${WORKDIR}/cameracapture

S jest ścieżka kodu źródłowego, gdzie CMakeList.txt.

to jak dziedziczysz cmb bbclass w swoim przepisie, więc zajmie się wszystkimi funkcjami konfigurowania, kompilowania i instalowania.

po wykonaniu tej czynności można również usunąć funkcję do_configure w powyższym przepisie.

możesz dodać swoje opcje make jeśli do poniższego makra (jak trzymałeś puste). przykład

EXTRA_OECMAKE = "all"

+1

możesz wyjaśnić mi o do_install. Ja też mam podobny problem podczas instalacji plików binarnych. zapoznaj się z poniższym pytaniem. http://stackoverflow.com/questions/18508048/do-install-error-while-running-custom-bitbake-in-poky-build – Pala

9

Jeśli CMakeLists.txt używa polecenia install, to bitbake wykona instalację dla ciebie i nie będziesz musiał definiować własnego do_install.

install(TARGETS cameracapture DESTINATION bin)