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