View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008205CMakeCMakepublic2008-12-01 08:512009-01-08 18:11
Reportercech-kooaba 
Assigned ToAlex Neundorf 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-6 
Target VersionFixed in Version 
Summary0008205: CDT4 generator does not "escape" compiler definitions containing quotes
DescriptionIf the CMakeLists.txt contains macro definition of a string:

  add_definitions(-DDEFAULT_TEST_DATA_PATH="${CMAKE_SOURCE_DIR}/test/data/")

the CDT4 generator generates malformed xml:

  <pathentry kind="mac" name="DEFAULT_TEST_DATA_PATH" path="" value=""/home/cech/split-eclipse/test/data/""/>

The quotes should be converted to entities:

  <pathentry kind="mac" name="DEFAULT_TEST_DATA_PATH" path="" value=""/home/cech/split-eclipse/test/data/""/>

IIRC according to XML rules, the characters <, > and & should be converted to entities as well.

Additional InformationTested with CMake 2.6.2, arguments -G "Eclipse CDT4 - Unix Makefiles" -DECLIPSE_CDT4_GENERATE_SOURCE_PROJECT=TRUE
TagsNo tags attached.
Attached Files? file icon eclipse_generator.patch.strip_quotes [^] (2,418 bytes) 2008-12-30 21:33

 Relationships
has duplicate 0008212closedAlex Neundorf error mapping quoted variables into .cprojects pathentry 

  Notes
(0014271)
Fred Eisele (reporter)
2008-12-02 14:33

0008212: error mapping quoted variables into .cprojects pathentry
Description Regarding the 'Ecllipse CDT - Unix Makefiles' generator.
Similar to ticket 8212 ?

When generating code for OpenSceneGraph I noticed the following line in .cprojects
 <pathentry kind="mac" name="OSG_DEBUG_POSTFIX" path="" value=""d""/>

It is the ""d"" that is the problem.

The corresponding line in the CMakeLists.txt is
 SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")

When I manually remove the extra quotation marks around the 'd' in the pathentry element that seems to work correctly.
(0014454)
Miguel Figueroa (developer)
2008-12-30 21:36

I have attached a patch that will EscapeForXML the corresponding entities. Basically provides a function that will replace the <,>,\",& values in a string for the corresponding <,>,",$amp; values.

Note that the apostrophe (i.e., single quote) is not escaped since eclipse automatically replaces it back to the original single quote.

--Miguel
(0014455)
Miguel Figueroa (developer)
2008-12-30 21:38

Interestingly, this note editor automatically interprets the escaped characters... so, you can't see the escape values above.

--Miguel
(0014493)
Alex Neundorf (developer)
2009-01-08 18:11

I applied the patch. Let me know if you have further problems.

Alex

 Issue History
Date Modified Username Field Change
2008-12-01 08:51 cech-kooaba New Issue
2008-12-01 15:41 Bill Hoffman Status new => assigned
2008-12-01 15:41 Bill Hoffman Assigned To => Alex Neundorf
2008-12-02 14:33 Fred Eisele Note Added: 0014271
2008-12-13 18:14 Alex Neundorf Assigned To Alex Neundorf => Miguel Figueroa
2008-12-13 18:14 Alex Neundorf Description Updated
2008-12-14 10:20 Bill Hoffman Assigned To Miguel Figueroa => Alex Neundorf
2008-12-30 13:44 Miguel Figueroa Relationship added has duplicate 0008212
2008-12-30 18:24 Miguel Figueroa File Added: eclipse_generator.patch.strip_quotes
2008-12-30 21:32 Miguel Figueroa File Deleted: eclipse_generator.patch.strip_quotes
2008-12-30 21:33 Miguel Figueroa File Added: eclipse_generator.patch.strip_quotes
2008-12-30 21:36 Miguel Figueroa Note Added: 0014454
2008-12-30 21:38 Miguel Figueroa Note Added: 0014455
2009-01-08 18:11 Alex Neundorf Note Added: 0014493
2009-01-08 18:11 Alex Neundorf Status assigned => closed
2009-01-08 18:11 Alex Neundorf Resolution open => fixed


Copyright © 2000 - 2018 MantisBT Team