[OE-core] [oe-core][PATCH] cmake.bbclass : Add support for cmake projects that use .S files.

Philip Balister philip at balister.org
Fri Sep 19 13:55:57 UTC 2014


On 09/17/2014 07:07 PM, Khem Raj wrote:
> On Wed, Sep 17, 2014 at 7:33 AM, Philip Balister <philip at balister.org> wrote:
>> UHD and GNU radio use the cmake build system. The toolchain file made
>> from cmake.bbclass does not set the variable needs by cmake projects
>> that use .S files. UHD added some .S files and these changes are required
>> to build recent UHD.
>>
> 
> I dont know if this is right thing to do in a generic bbclass. Since
> some packages might use bare assembler to compiler assembly files

If a cmake project enables assembler and doesn't set the CMAKE_ASM_*
flags to some sane defaults, the build fails. Settings these vars in the
toolchain files fixes the problem.

I am not a cmake guru, but it seems like we should be able to build code
that builds OK natively.

Philip

> 
>> Signed-off-by: Philip Balister <philip at balister.org>
>> ---
>>  meta/classes/cmake.bbclass | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
>> index ab2adec..bfa5995 100644
>> --- a/meta/classes/cmake.bbclass
>> +++ b/meta/classes/cmake.bbclass
>> @@ -34,10 +34,13 @@ set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\).
>>  set( CMAKE_SYSTEM_PROCESSOR ${TARGET_ARCH} )
>>  set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
>>  set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} )
>> +set( CMAKE_ASM_COMPILER ${OECMAKE_C_COMPILER} )
>>  set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
>>  set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
>> +set( CMAKE_ASM_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "ASM FLAGS" )
>>  set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
>>  set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
>> +set( CMAKE_ASM_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "ASM FLAGS for release" )
>>  set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
>>  set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
>>
>> --
>> 1.8.3.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 



More information about the Openembedded-core mailing list