[CMake] CMake still broken post-2.8.1

Eric Noulard eric.noulard at gmail.com
Tue Oct 25 04:50:01 EDT 2011


2011/10/25 Phil Smith <phil at voltage.com>:
> Ah, ok. With 2.8.1:
>
> C:/Program Files/Regina/regina.exe cc.rex dcc.exe   CMakeCCompilerId.c
>
> With 2.8.6:
> C:/Program Files/Regina/regina.exe cc.rex;dcc.exe   CMakeCCompilerId.c
>
> Note the semicolon; where'd it come from?

This is clearly a change of behavior but from my point of view it is a change
of "unsupported and/or unexpected" behaviour.

>  It's not in the toolchain file:
> ----------------------------------------
> # This is a CMake Toolchain file, required for cross-compiling using
> # the Dignus cross-compilers on Windows, compiling for z/OS.
>
> # Tell CMAKE the target system name
> SET(CMAKE_SYSTEM_NAME "IBM_ZOS")
>
> # Specify the cross-compilers
> SET(CMAKE_C_COMPILER   "regina.exe" "cc.rex dcc.exe")
> SET(CMAKE_CXX_COMPILER "regina.exe" "cc.rex dcxx.exe")

I think CMAKE_[C|CXX]_COMPILER vars are supposed to contain
>
> SET(CMAKE_C_CREATE_STATIC_LIBRARY "DAR -rv <TARGET> <OBJECTS>")
>
> SET(CMAKE_CXX_LINK_EXECUTABLE "plink.exe \"-S$ENV{DIGNUS_PROGRAM}/objs_norent/&M\" <OBJECTS> -o <TARGET>")
> SET(CMAKE_C_LINK_EXECUTABLE   "plink.exe \"-S$ENV{DIGNUS_PROGRAM}/objs_norent/&M\" <OBJECTS> -o <TARGET>")
> ----------------------------------------
>
> BTW, Regina is a Rexx processor -- it's running a script called cc.rex. If I invoke it directly:
>
> C:\SVN\Dignus>"c:\Program Files\Regina\regina.exe"  cc.rex;dcc.exe   CMakeCCompilerId.c
> Error 3 running "cc.rex;dcc.exe": Failure during initialization
> Error 3.1: Failure during initialization: Program was not found
>
> ...which is what I'd expect. But the semicolon is still the problem here...
>
> -----Original Message-----
> From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Bill Hoffman
> Sent: Monday, October 24, 2011 6:08 PM
> To: cmake at cmake.org
> Subject: Re: [CMake] CMake still broken post-2.8.1
>
> On 10/24/2011 5:42 PM, Phil Smith wrote:
>> Attached. ZTOOL is a wrapper for CMake, because we're cross-compiling
>> with a two-stage compiler and have various other requirements.
>>
>> We do a bunch of CMAKE -E commands before the cmake
>> -DCMAKE_TOOLCHAIN_FILE:string="%~dp0\zosport.cmake" -G"Unix Makefiles" .\
>>
>
> So, right at the end it is doing this:
>
>
>  )
> C:/Program Files (x86)/CMake
> 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake(95):
> IF(COMMAND EXECUTE_PROCESS )
> C:/Program Files (x86)/CMake
> 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake(96):
> EXECUTE_PROCESS(COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_
> COMPILER_ID_ARG1} ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST} ${testflags}
> ${src} WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
> OUTPUT_VARIABLE CMAKE_${lang}_C
> OMPILER_ID_OUTPUT ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
> RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT )
> ^CTerminate batch job (Y/N)?
> ^C*** 'CMake' phase ended at Mon 10/24/2011 17:38:47.64 with errorlevel
> -1073741510 **
>
>
> Cmake is running the compiler you gave it.  Looks like:
> regina.exe.
>
>
> SET(CMAKE_C_COMPILER regina.exe cc.rex dcc.exe )
> c:/SVN/Dignus/zosport.cmake(9):  SET(CMAKE_CXX_COMPILER regina.exe
> cc.rex dcxx.exe )
>
> So, regina.exe is hanging forever.
>
> To debug more, you could print out the exact command line CMake is
> trying to run.  Edit C:/Program Files (x86)/CMake
> 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake on line 96,
> and add a new line that does this:
>
> message("${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_
> COMPILER_ID_ARG1} ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST} ${testflags}
> ${src}"
>
>
>> Hope this makes some sense...
>>
> It does....  Add the above print, and try again.  Also, maybe run the
> command that CMake is running by hand and see if it hangs.  Since this
> is a toolchain file, you should be able to short circut the test
> altogether and set the information CMake is trying to figure out.
>
>
> -Bill
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>



-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list