1*4882a593Smuzhiyunrequire cmake.inc 2*4882a593Smuzhiyun 3*4882a593Smuzhiyuninherit cmake bash-completion 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunDEPENDS += "curl expat zlib libarchive xz ncurses bzip2" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSRC_URI:append:class-nativesdk = " \ 8*4882a593Smuzhiyun file://OEToolchainConfig.cmake \ 9*4882a593Smuzhiyun file://SDKToolchainConfig.cmake.template \ 10*4882a593Smuzhiyun file://cmake-setup.py \ 11*4882a593Smuzhiyun file://environment.d-cmake.sh \ 12*4882a593Smuzhiyun file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ 13*4882a593Smuzhiyun" 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunLICENSE:append = " & BSD-1-Clause & MIT" 16*4882a593SmuzhiyunLIC_FILES_CHKSUM:append = " \ 17*4882a593Smuzhiyun file://Utilities/cmjsoncpp/LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b \ 18*4882a593Smuzhiyun file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ 19*4882a593Smuzhiyun file://Utilities/cmlibuv/LICENSE;md5=a68902a430e32200263d182d44924d47 \ 20*4882a593Smuzhiyun" 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun# Strip ${prefix} from ${docdir}, set result into docdir_stripped 23*4882a593Smuzhiyunpython () { 24*4882a593Smuzhiyun prefix=d.getVar("prefix") 25*4882a593Smuzhiyun docdir=d.getVar("docdir") 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun if not docdir.startswith(prefix): 28*4882a593Smuzhiyun bb.fatal('docdir must contain prefix as its prefix') 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun docdir_stripped = docdir[len(prefix):] 31*4882a593Smuzhiyun if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': 32*4882a593Smuzhiyun docdir_stripped = docdir_stripped[1:] 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun d.setVar("docdir_stripped", docdir_stripped) 35*4882a593Smuzhiyun} 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunEXTRA_OECMAKE=" \ 38*4882a593Smuzhiyun -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ 39*4882a593Smuzhiyun -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ 40*4882a593Smuzhiyun -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ 41*4882a593Smuzhiyun -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ 42*4882a593Smuzhiyun -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ 43*4882a593Smuzhiyun -DKWSYS_CHAR_IS_SIGNED=1 \ 44*4882a593Smuzhiyun -DBUILD_CursesDialog=0 \ 45*4882a593Smuzhiyun -DKWSYS_LFS_WORKS=1 \ 46*4882a593Smuzhiyun" 47*4882a593Smuzhiyun 48*4882a593Smuzhiyundo_install:append:class-nativesdk() { 49*4882a593Smuzhiyun mkdir -p ${D}${datadir}/cmake 50*4882a593Smuzhiyun install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d 53*4882a593Smuzhiyun install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun # install cmake-setup.py to create arch-specific toolchain cmake file from template 56*4882a593Smuzhiyun install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/ 57*4882a593Smuzhiyun install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d 58*4882a593Smuzhiyun install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ 59*4882a593Smuzhiyun} 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunFILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunFILES:${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" 64*4882a593SmuzhiyunFILES:${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" 65*4882a593SmuzhiyunFILES:${PN}-dev = "" 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunBBCLASSEXTEND = "nativesdk" 68