I am seeing several failures due to this series see https://errors.yoctoproject.org/Errors/Build/113114/
On Sun, Nov 22, 2020 at 4:49 AM Andrej Valek <[email protected]> wrote: > > Keep only flags related to release in particular part _RELEASE (same for > debug). This option allows to really use the Release/Debug build type > in cmake. The corresponding build type will have corresponding flags set > with/without optimization. Flags are respecting selected optimization from > the whole build. > > Signed-off-by: Andrej Valek <[email protected]> > Signed-off-by: Pascal Bach <[email protected]> > Signed-off-by: Adrian Freihofer <[email protected]> > --- > meta/classes/cmake.bbclass | 27 ++++++++++++++++++++++----- > 1 file changed, 22 insertions(+), 5 deletions(-) > > diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass > index 7c055e8a3d..a0ce92ce46 100644 > --- a/meta/classes/cmake.bbclass > +++ b/meta/classes/cmake.bbclass > @@ -25,15 +25,23 @@ python() { > OECMAKE_AR ?= "${AR}" > > # Compiler flags > -OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}" > -OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS}" > -OECMAKE_C_FLAGS_RELEASE ?= "-DNDEBUG" > -OECMAKE_CXX_FLAGS_RELEASE ?= "-DNDEBUG" > +OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS_COMMON}" > +OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} > ${CXXFLAGS_COMMON}" > +OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" > +OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" > +OECMAKE_C_FLAGS_DEBUG ?= "${DEBUG_OPTIMIZATION}" > +OECMAKE_CXX_FLAGS_DEBUG ?= "${DEBUG_OPTIMIZATION}" > OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} > ${LDFLAGS}" > -OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} > ${LDFLAGS}" > +OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} > ${CXXFLAGS_COMMON} ${LDFLAGS}" > +OECMAKE_LINKER_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION}" > +OECMAKE_LINKER_FLAGS_DEBUG ?= "${DEBUG_OPTIMIZATION}" > CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" > CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" > > +# Common CFLAGS/CXXFLAGS without optimization > +CFLAGS_COMMON = > "${@d.getVar('CFLAGS').replace(d.getVar('SELECTED_OPTIMIZATION'),'')}" > +CXXFLAGS_COMMON = > "${@d.getVar('CXXFLAGS').replace(d.getVar('SELECTED_OPTIMIZATION'),'')}" > + > def oecmake_map_compiler(compiler, d): > args = d.getVar(compiler).split() > if args[0] == "ccache": > @@ -107,8 +115,17 @@ set( CMAKE_ASM_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING > "ASM FLAGS" ) > set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING > "Additional CFLAGS for release" ) > set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING > "Additional CXXFLAGS for release" ) > set( CMAKE_ASM_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING > "Additional ASM FLAGS for release" ) > +set( CMAKE_C_FLAGS_DEBUG "${OECMAKE_C_FLAGS_DEBUG}" CACHE STRING "Additional > CFLAGS for debug" ) > +set( CMAKE_CXX_FLAGS_DEBUG "${OECMAKE_CXX_FLAGS_DEBUG}" CACHE STRING > "Additional CXXFLAGS for debug" ) > +set( CMAKE_ASM_FLAGS_DEBUG "${OECMAKE_C_FLAGS_DEBUG}" CACHE STRING > "Additional ASM FLAGS for debug" ) > set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) > set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" > ) > +set( CMAKE_SHARED_LINKER_FLAGS_RELEASE "${OECMAKE_LINKER_FLAGS_RELEASE}" > CACHE STRING "Additional SHARED LINKER FLAGS for release" ) > +set( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${OECMAKE_LINKER_FLAGS_DEBUG}" CACHE > STRING "Additional SHARED LINKER FLAGS for debug" ) > +set( CMAKE_MODULE_LINKER_FLAGS_RELEASE "${OECMAKE_LINKER_FLAGS_RELEASE}" > CACHE STRING "Additional MODULE LINKER FLAGS for release" ) > +set( CMAKE_MODULE_LINKER_FLAGS_DEBUG "${OECMAKE_LINKER_FLAGS_DEBUG}" CACHE > STRING "Additional MODULE LINKER FLAGS for debug" ) > +set( CMAKE_EXE_LINKER_FLAGS_RELEASE "${OECMAKE_LINKER_FLAGS_RELEASE}" CACHE > STRING "Additional EXE LINKER FLAGS for release" ) > +set( CMAKE_EXE_LINKER_FLAGS_DEBUG "${OECMAKE_LINKER_FLAGS_DEBUG}" CACHE > STRING "Additional EXE LINKER FLAGS for debug" ) > > # only search in the paths provided so cmake doesnt pick > # up libraries and tools from the native build machine > -- > 2.11.0 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#144911): https://lists.openembedded.org/g/openembedded-core/message/144911 Mute This Topic: https://lists.openembedded.org/mt/78429704/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
