The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14380 
====================================================================== 
Reported By:                David Marshall
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14380
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-08-28 13:25 PDT
Last Modified:              2013-08-28 13:25 PDT
====================================================================== 
Summary:                    Eclipse Generator for 64-Bit Mac OS X
Description: 
Every time I regenerate my project file (i.e., a CMakeLists.txt file changed)
the binary parser gets set to Mach-O Parser and not the Mach-0 64 Parser. What
results is that eclipse won't run the code via the debugger, I get the error
"Launch failed: Binary not found". To fix it I need to go to the project
properties and change the parser back to the 64-bit parser.

I've tracked down the problem to cmExtraEclipseCDT4Generator.cxx line 724
(version from git). Here's the code:

    else if (systemName == "Darwin")
      {
      fout << "<extension id=\"org.eclipse.cdt.core.MachO\""
              " point=\"org.eclipse.cdt.core.BinaryParser\">\n"
              "<attribute key=\"c++filt\" value=\"c++filt\"/>\n"
              "</extension>\n"
              ;
      }

This is for the old parser that apparently is going to be removed soon (see the
eclipse bug tracker discussion
https://bugs.eclipse.org/bugs/show_bug.cgi?id=270790). Since version 6.0.2 the
64-bit parser has been supported and is the preferred binary parser, I believe.
I don't know the best change to keep versions prior to 6.0.2 supported, but I
think that the following code will set the parser to the more recent one and
stop me from having to manually set the binary parser every time the eclipse
project gets rebuilt:

    else if (systemName == "Darwin")
      {
      fout << "<extension id=\"org.eclipse.cdt.core.MachO64\""
              " point=\"org.eclipse.cdt.core.BinaryParser\">\n"
              "<attribute key=\"c++filt\" value=\"c++filt\"/>\n"
              "</extension>\n"
              ;
      }


Steps to Reproduce: 
To reproduce:
* Create an Eclipse project in Debug using CMake on a 64-bit Mac OS X computer
* Build the debug version of project
* Attempt to debug executable
* Error will display

Manual fix:
* Go to project properties
* Select Binary Parser tab
* Pick Mach-O 64 parser
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-08-28 13:25 David Marshall New Issue                                    
======================================================================

--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to