[CMake] CMake still broken post-2.8.1

Alexander Neundorf a.neundorf-work at gmx.net
Wed Jan 25 14:46:11 EST 2012


On Wednesday 25 January 2012, Brad King wrote:
> On 1/25/2012 1:50 PM, Phil Smith wrote:
> > Ok, that *maybe* gets me further. CMakeDetermineASM_DIGNUSCompiler.cmake
> > (in Modules\) is:
> > 
> > SET(ASM_DIALECT _DIGNUS)
> > SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT "asmit.bat")
> > INCLUDE(CMakeDetermineASMCompiler)
> > SET(ASM_DIALECT)
> > 
> > and that gets invoked several times, with:
> > 
> > dasm.exe --version
> > dasm.exe -h
> > dasm.exe -qversion
> > dasm.exe -V
> > 
> > ...none of which work. Maybe I need to force something for the assembler?
> > 
>  > Or should asmit.bat just return 0 for any of those?

This is cmak trying to recognize which assembler this is by looking at the 
output of the assembler,

This is e.g. what GNU as says:
hammer:~$ as --version
GNU assembler (Linux/GNU Binutils) 2.21.51.0.6.20110118
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `i486-slackware-linux'.

There is then a regexp in CMakeDetermineASMCompiler.cmake, which recognizes 
this as the GNU assembler.
Does dasm.exe have a command line switch which just makes it print its name 
and version number and exit ?

This should be added to CMakeDetermineASMCompiler.cmake then.
...or you preset CMAKE_ASM_DIGNUS_COMPILER_ID to DIGNUS.

> Assembly support was very immature as of 2.8.0 and has been modified
> since then.  I've heard complaints that some incompatibilities were
> introduced but never worked with it myself.

Yes. It should be much better now.
But I didn't follow that whole thread...

Alex


More information about the CMake mailing list