Is your project&#39;s source publicly available? And are these compilers freely available, too?<div><br></div><div>It may be easier for us to help with a more complete picture of what&#39;s going on...<div><br><br><div class="gmail_quote">
On Tue, Oct 25, 2011 at 1:32 PM, Phil Smith <span dir="ltr">&lt;<a href="mailto:phil@voltage.com">phil@voltage.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Replying inline is getting unwieldy, so I&#39;ve excerpted what I&#39;m replying to here.<br>
<div class="im"><br>
&gt; Do you have a platform file for IBM_ZOS as well?<br>
</div>Yes, there&#39;s a platform file, IBM_ZOS.cmake:<br>
<br>
INCLUDE(Platform/UnixPaths)<br>
<br>
(exciting, huh?)<br>
<div class="im"><br>
&gt; what is the compiler ID found?<br>
</div>-- The C compiler identification is unknown<br>
<div class="im"><br>
&gt; may be you could try for force compiler:<br>
</div>I don&#39;t understand what that means. Well, maybe I partly do: it means skipping the compile-a-tiny-program. Since I don&#39;t understand why I care about that, I don&#39;t understand the rest. I inherited our use of CMake, hacked it into working three+ years ago, so maybe<br>

<div class="im"><br>
&gt;You did this in a clean build tree, right?<br>
</div>Well, I whacked the CMakeCache.txt and the CMakeFiles directory.<br>
<div class="im"><br>
&gt; May be with a REXX script ?<br>
</div>I don&#39;t think I can wrap it in a Rexx script -- that&#39;s how we got here, eh? I did try this:<br>
<br>
SET(CMAKE_C_COMPILER   &quot;cc.rex&quot;)<br>
SET(CMAKE_C_FLAGS &quot;dcc.exe&quot;)<br>
<br>
...since .rex is associated with Regina anyway. That got further, but it got to:<br>
Check for working C compiler: C:/SVN/Dignus/cc.rex<br>
...and that hung. It never called cc.rex in that case (I suspect this is why I was explicitly prefacing it with regina.exe -- it was a long time ago that I set this up!).<br>
<div class="im"><br>
&gt; Line 29 for which CMake version?<br>
&gt; Do you mean this line:<br>
</div>Yes, that&#39;s the line I meant.<br>
<div class="im"><br>
&gt; I think it means replace spaces with &quot;;&quot; in order to get a proper list.<br>
</div>OK, but why are arguments to the compiler supposed to be separated with semicolons? That doesn&#39;t seem right. Is something later supposed to undo this?<br>
<div class="im"><br>
-----Original Message-----<br>
From: Eric Noulard [mailto:<a href="mailto:eric.noulard@gmail.com">eric.noulard@gmail.com</a>]<br>
Sent: Tuesday, October 25, 2011 12:40 PM<br>
To: Phil Smith<br>
</div><div class="im">Cc: Brad King; <a href="mailto:cmake@cmake.org">cmake@cmake.org</a>; Bill Hoffman; David Cole; Janet Graff<br>
Subject: Re: [CMake] CMake still broken post-2.8.1<br>
<br>
</div><div><div></div><div class="h5">2011/10/25 Phil Smith &lt;<a href="mailto:phil@voltage.com">phil@voltage.com</a>&gt;:<br>
&gt; OK, but it should then reject the extra parameters, since it used to work.<br>
<br>
Difficult to warn about a usage you did not even dream of ?<br>
Now that we know I agree there should be a warning<br>
(if not a clean failure with explanation).<br>
<br>
&gt;<br>
&gt; In any case, I&#39;ve changed the toolchain file:<br>
&gt; ----------------------------------------<br>
&gt; # This is a CMake Toolchain file, required for cross-compiling using<br>
&gt; # the Dignus cross-compilers on Windows, compiling for z/OS.<br>
&gt;<br>
&gt; # Tell CMAKE the target system name<br>
&gt; SET(CMAKE_SYSTEM_NAME &quot;IBM_ZOS&quot;)<br>
<br>
Do you have a platform file for IBM_ZOS as well?<br>
<br>
if not<br>
what is the compiler ID found?<br>
&quot;The C compiler identification is &lt;WhatsInHere&gt;&quot;<br>
<br>
may be you could try for force compiler:<br>
see<br>
<a href="http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file" target="_blank">http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file</a><br>
and<br>
cmake --help-module CMakeForceCompiler<br>
<br>
[...]<br>
<br>
&gt; ----------------------------------------<br>
&gt; ...and the behavior persists:<br>
&gt; C:/Program Files/Regina/regina.exe  cc.rex;dcc.exe  CMakeCCompilerId.c<br>
<br>
You did this in a clean build tree, right?<br>
<br>
<br>
&gt; So it&#39;s not clear that that&#39;s a solution. I can&#39;t wrap the regina call because what will I wrap it in? BAT is criminally busted -- it eats equals signs. So later calls with -fwhatever=value will be broken.<br>

<br>
May be with a REXX script ?<br>
Just a wild guess because I did only write 2 lines of REXX in my life<br>
so I may be wrong about the REXX capability.<br>
<br>
&gt; If I comment out line 29 in CMakeDetermineCompilerId.cmake, it works with my old toolchain file, but fails later with the new one, because it appears to call &quot;the compiler&quot; without the &quot;flags&quot;, and regina with no arguments produces Help and exits.<br>

<br>
Line 29 for which CMake version?<br>
Do you mean this line:<br>
STRING(REGEX REPLACE &quot; +&quot; &quot;;&quot; CMAKE_${lang}_COMPILER_ID_ARG1<br>
&quot;${CMAKE_${lang}_COMPILER_ID_ARG1}&quot;)<br>
<br>
<br>
&gt;<br>
&gt; Why are the semicolons being inserted? If I wanted semicolons between the parameters, why wouldn&#39;t I just specify them?<br>
&gt;<br>
&gt; Brad, your comment in the thread says:<br>
&gt;&gt;Teach compiler identification to support values such as<br>
&gt;&gt;  export CC=&#39;gcc -g -O2&#39;<br>
&gt;&gt;by separating the arguments on spaces.<br>
&gt;<br>
&gt; Not sure what &quot;on spaces&quot; means, but again, it seems wrong to me that anything is messing with my option format.<br>
<br>
I think it means replace spaces with &quot;;&quot; in order to get a proper list.<br>
<br>
May be the compiler args handling is broken in the cross-compiling case?<br>
Such kind of setup?<br>
<br>
--<br>
Erk<br>
Membre de l&#39;April - « promouvoir et défendre le logiciel libre » -<br>
<a href="http://www.april.org" target="_blank">http://www.april.org</a><br>
</div></div></blockquote></div><br></div></div>