diff options
| author | Adrian Freihofer <adrian.freihofer@gmail.com> | 2023-09-05 18:51:11 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-09-10 08:54:36 +0100 |
| commit | 27414b27d4818efa77e98d5f62549087b9ed1210 (patch) | |
| tree | edef0666e3d7387c1d2edaee67c7adf9e00f42a2 /meta/classes-recipe/cmake.bbclass | |
| parent | d0a91931f274bfd9f048af38c7fd0a91bb2bcdbb (diff) | |
| download | poky-27414b27d4818efa77e98d5f62549087b9ed1210.tar.gz | |
cmake.bbclass: refactor cmake args
Make the details of the cmake configure arguments available to
d.getVar(). This allows to share them with devtool via tinfoil.
(From OE-Core rev: 325fc8523bb5f62cd3754277aa34032cc0884861)
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/cmake.bbclass')
| -rw-r--r-- | meta/classes-recipe/cmake.bbclass | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/meta/classes-recipe/cmake.bbclass b/meta/classes-recipe/cmake.bbclass index c4ac96524a..41748b0820 100644 --- a/meta/classes-recipe/cmake.bbclass +++ b/meta/classes-recipe/cmake.bbclass | |||
| @@ -160,6 +160,29 @@ CONFIGURE_FILES = "CMakeLists.txt" | |||
| 160 | 160 | ||
| 161 | do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}" | 161 | do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}" |
| 162 | 162 | ||
| 163 | OECMAKE_ARGS = "\ | ||
| 164 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ | ||
| 165 | -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \ | ||
| 166 | -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \ | ||
| 167 | -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \ | ||
| 168 | -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ | ||
| 169 | -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix') + '/')} \ | ||
| 170 | -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ | ||
| 171 | -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \ | ||
| 172 | -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \ | ||
| 173 | -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \ | ||
| 174 | -DPYTHON_EXECUTABLE:PATH=${PYTHON} \ | ||
| 175 | -DPython_EXECUTABLE:PATH=${PYTHON} \ | ||
| 176 | -DPython3_EXECUTABLE:PATH=${PYTHON} \ | ||
| 177 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | ||
| 178 | -DCMAKE_INSTALL_SO_NO_EXE=0 \ | ||
| 179 | -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain.cmake \ | ||
| 180 | -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \ | ||
| 181 | -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \ | ||
| 182 | -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ | ||
| 183 | -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \ | ||
| 184 | " | ||
| 185 | |||
| 163 | cmake_do_configure() { | 186 | cmake_do_configure() { |
| 164 | if [ "${OECMAKE_BUILDPATH}" ]; then | 187 | if [ "${OECMAKE_BUILDPATH}" ]; then |
| 165 | bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." | 188 | bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." |
| @@ -180,25 +203,7 @@ cmake_do_configure() { | |||
| 180 | ${OECMAKE_GENERATOR_ARGS} \ | 203 | ${OECMAKE_GENERATOR_ARGS} \ |
| 181 | $oecmake_sitefile \ | 204 | $oecmake_sitefile \ |
| 182 | ${OECMAKE_SOURCEPATH} \ | 205 | ${OECMAKE_SOURCEPATH} \ |
| 183 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ | 206 | ${OECMAKE_ARGS} \ |
| 184 | -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \ | ||
| 185 | -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \ | ||
| 186 | -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \ | ||
| 187 | -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ | ||
| 188 | -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix') + '/')} \ | ||
| 189 | -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ | ||
| 190 | -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \ | ||
| 191 | -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \ | ||
| 192 | -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \ | ||
| 193 | -DPYTHON_EXECUTABLE:PATH=${PYTHON} \ | ||
| 194 | -DPython_EXECUTABLE:PATH=${PYTHON} \ | ||
| 195 | -DPython3_EXECUTABLE:PATH=${PYTHON} \ | ||
| 196 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | ||
| 197 | -DCMAKE_INSTALL_SO_NO_EXE=0 \ | ||
| 198 | -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ | ||
| 199 | -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \ | ||
| 200 | -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \ | ||
| 201 | -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ | ||
| 202 | ${EXTRA_OECMAKE} \ | 207 | ${EXTRA_OECMAKE} \ |
| 203 | -Wno-dev | 208 | -Wno-dev |
| 204 | } | 209 | } |
