xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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