I thought the change had been to preserve prior TryCompiles for debugging purposes.
Would it be too cynical to propose some OS #ifdefs above the code?
Although you mention file systems, so this an NTFS issue also?
Of course, at the end of the day this is what breaks GNAT TryCompile:

- targetName = "cmTryCompileExec";

But not removing that line of code would seemingly break everything else.

So the path of least resistance cynical code change proposal:

#ifdef __linux__
targetNameBuf = "cmTryCompileExec";
#else
sprintf(targetNameBuf, "cmTryCompileExec%u",
           cmSystemTools::RandomSeed());
#endif

With a nice comment like "so this annoying coding language Ada and its terribly conceived compiler GNAT can be supported on Linux" or some such.

On 07/05/2012 03:57 PM, Brad King wrote:
On 7/2/2012 12:25 PM, Matthew Schuchard wrote:
The executable name does in fact have to match the name of the source file.
I could get into details, but the short summary is that gcc-gnat is a
very headache-inducing compiler with poorly conceived input/output file
behavior and arguments.
The change in question is here:

  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4fbdce2b

It was done to try to work around problems on Windows tools and
filesystems.  You can try hacking the change further to test a
platform variable so it can be disabled for Ada tools.  If you
get it working we can put that change upstream.

-Brad

--

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

Reply via email to