blob: 6a9a3266dff403fac113b65b3908b3d65f873263 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001require cmake.inc
2
Andrew Geisslerc9f78652020-09-18 14:11:35 -05003inherit cmake bash-completion
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08004
5DEPENDS += "curl expat zlib libarchive xz ncurses bzip2"
6
Patrick Williams213cb262021-08-07 19:21:33 -05007SRC_URI:append:class-nativesdk = " \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08008 file://OEToolchainConfig.cmake \
Patrick Williams45852732022-04-02 08:58:32 -05009 file://SDKToolchainConfig.cmake.template \
10 file://cmake-setup.py \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080011 file://environment.d-cmake.sh \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080012"
13
Patrick Williams03907ee2022-05-01 06:28:52 -050014LICENSE:append = " & BSD-1-Clause & MIT"
15LIC_FILES_CHKSUM:append = " \
16 file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \
17 file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \
18 file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \
19"
20
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080021# Strip ${prefix} from ${docdir}, set result into docdir_stripped
22python () {
23 prefix=d.getVar("prefix")
24 docdir=d.getVar("docdir")
25
26 if not docdir.startswith(prefix):
27 bb.fatal('docdir must contain prefix as its prefix')
28
29 docdir_stripped = docdir[len(prefix):]
30 if len(docdir_stripped) > 0 and docdir_stripped[0] == '/':
31 docdir_stripped = docdir_stripped[1:]
32
33 d.setVar("docdir_stripped", docdir_stripped)
34}
35
36EXTRA_OECMAKE=" \
37 -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \
38 -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
39 -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
Andrew Geissler5082cc72023-09-11 08:41:39 -040040 -DCMAKE_USE_SYSTEM_LIBRARY_CPPDAP=0 \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080041 -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 \
Andrew Geissler5082cc72023-09-11 08:41:39 -040046 -DCMake_ENABLE_DEBUGGER=0 \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080047"
48
Patrick Williams213cb262021-08-07 19:21:33 -050049do_install:append:class-nativesdk() {
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080050 mkdir -p ${D}${datadir}/cmake
51 install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
52
53 mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
54 install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh
Patrick Williams45852732022-04-02 08:58:32 -050055
56 # install cmake-setup.py to create arch-specific toolchain cmake file from template
57 install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/
58 install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
59 install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080060}
61
Patrick Williams213cb262021-08-07 19:21:33 -050062FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080063
Patrick Williams213cb262021-08-07 19:21:33 -050064FILES:${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim"
65FILES:${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
66FILES:${PN}-dev = ""
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080067
68BBCLASSEXTEND = "nativesdk"