summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Freihofer <adrian.freihofer@gmail.com>2023-09-05 18:51:11 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-09-10 08:54:36 +0100
commit27414b27d4818efa77e98d5f62549087b9ed1210 (patch)
treeedef0666e3d7387c1d2edaee67c7adf9e00f42a2
parentd0a91931f274bfd9f048af38c7fd0a91bb2bcdbb (diff)
downloadpoky-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.bbclass43
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
161do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}" 161do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}"
162 162
163OECMAKE_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
163cmake_do_configure() { 186cmake_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}