MantisBT - CMake |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0008205 | CMake | CMake | public | 2008-12-01 08:51 | 2009-01-08 18:11 |
|
Reporter | cech-kooaba | |
Assigned To | Alex Neundorf | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | CMake-2-6 | |
Target Version | | Fixed in Version | | |
|
Summary | 0008205: CDT4 generator does not "escape" compiler definitions containing quotes |
Description | If 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.
|
Steps To Reproduce | |
Additional Information | Tested with CMake 2.6.2, arguments -G "Eclipse CDT4 - Unix Makefiles" -DECLIPSE_CDT4_GENERATE_SOURCE_PROJECT=TRUE |
Tags | No tags attached. |
Relationships | has duplicate | 0008212 | closed | Alex Neundorf | error mapping quoted variables into .cprojects pathentry |
|
Attached Files | eclipse_generator.patch.strip_quotes (2,418) 2008-12-30 21:33 https://public.kitware.com/Bug/file/1952/eclipse_generator.patch.strip_quotes |
|
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 |
Notes |
|
(0014271)
|
Fred Eisele
|
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
|
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
|
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
|
2009-01-08 18:11
|
|
I applied the patch. Let me know if you have further problems.
Alex
|
|