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 | |
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>
-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 | } |