[CMake] CMake still broken post-2.8.1

Phil Smith phil at voltage.com
Wed Jan 25 13:50:16 EST 2012


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?

Oh, I did also try the recommended lines, both as listed and as:

   SET(CMAKE_C_COMPILER_ID_RUN 1)
   SET(CMAKE_C_PLATFORM_ID "DIGNUS")
   SET(CMAKE_C_COMPILER_ID "DIGNUS")
   SET(CMAKE_CXX_COMPILER_ID_RUN 1)
   SET(CMAKE_CXX_PLATFORM_ID "DIGNUS")
   SET(CMAKE_CXX_COMPILER_ID "DIGNUS"
I'm not sure "DIGNUS" was the right ID to try, but it didn't seem to make any difference.

The problem here, of course, is that I don't understand what it's *trying* to do, so I'm kind of reverse-engineering it. Which is painful for all involved. So I appreciate your patience here.

...phsiii
-----Original Message-----
From: Brad King [mailto:brad.king at kitware.com] 
Sent: Wednesday, January 25, 2012 11:12 AM
To: Phil Smith
Cc: cmake at cmake.org; Bill Hoffman
Subject: Re: [CMake] CMake still broken post-2.8.1

On 1/25/2012 10:53 AM, Phil Smith wrote:
>> We've also provided other approaches elsewhere in this thread to
>> avoid the problem altogether by setting up your toolchain file to
>> skip compiler id detection.
>
> OK, I'm willing to do that, but I can't figure out how to do so.

Actually the previous discussion was about skipping the test for a
working compiler as well as the compiler id.  There is a mid ground
that can skip just the id part but keep everything else the same.

> It seems like:
>
> SET(CMAKE_C_COMPILER   "regina.exe" "cc.rex dcc.exe")
> SET(CMAKE_CXX_COMPILER "regina.exe" "cc.rex dcxx.exe")

Keep those lines and add

   SET(CMAKE_C_COMPILER_ID_RUN 1)
   SET(CMAKE_C_PLATFORM_ID "")
   SET(CMAKE_C_COMPILER_ID "")
   SET(CMAKE_CXX_COMPILER_ID_RUN 1)
   SET(CMAKE_CXX_PLATFORM_ID "")
   SET(CMAKE_CXX_COMPILER_ID "")

Fill in the ID values if you need to.

-Brad


More information about the CMake mailing list