View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015433 | CMake | CPack | public | 2015-03-06 08:08 | 2015-11-02 09:13 | ||||
Reporter | Mark Stijnman | ||||||||
Assigned To | Nils Gladitz | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake 3.1.3 | ||||||||
Target Version | Fixed in Version | CMake 3.3 | |||||||
Summary | 0015433: CPack WIX creates incorrect .wixobj filenames for CPACK_WIX_EXTRA_SOURCES | ||||||||
Description | When using CPACK_WIX_EXTRA_SOURCES with filenames like MyProject.fragment1.wxs and MyProject.fragment2.wxs, in both cases the filename generated for the .wixobj file for the candle command is MyProject.wixobj, stripping both extensions. When you do this, the light command will therefore be trying to link MyProject.wixobj twice, leading to duplicate definition errors. | ||||||||
Steps To Reproduce | Run the attached minimal test case, which includes two fragments that each define a single property, 'Fragment1Prop' and 'Fragment2Prop'. When you build the PACKAGE target, it will fail with an error "error LGHT0091 : Duplicate symbol 'Property:Fragment2Prop' found." | ||||||||
Additional Information | The solution is to change the call to cmSystemTools::GetFilenameWithoutExtension, in cmCPackWIXGenerator.cxx, line 274, to a call to cmSystemTools::GetFilenameWithoutLastExtension. A workaround currently is to just use a different naming convention, like MyProject_fragment1.wxs. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | testcase.zip [^] (1,889 bytes) 2015-03-06 08:08 | ||||||||
Relationships | |
Relationships |
Notes | |
(0038167) Mark Stijnman (reporter) 2015-03-06 12:31 |
Actually, I just found out there is another issue with the file names for the .wixobj files: they are not absolute paths. As a consequence, they end up in the project main binary output directory. I have more than one package in my project, and my build just failed when it tried to build them concurrently, because directories.wixobj was locked. I suggest the .wixobj files are written to the same directory as the directory.wxs etc files are written. |
(0038185) Nils Gladitz (developer) 2015-03-09 09:59 |
Thank you for the report. Those issues should be fixed by http://www.cmake.org/gitweb?p=cmake.git;a=commit;h=2e16aff1 [^] |
(0039724) Robert Maynard (manager) 2015-11-02 09:13 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2015-03-06 08:08 | Mark Stijnman | New Issue | |
2015-03-06 08:08 | Mark Stijnman | File Added: testcase.zip | |
2015-03-06 08:09 | Nils Gladitz | Assigned To | => Nils Gladitz |
2015-03-06 08:09 | Nils Gladitz | Status | new => assigned |
2015-03-06 12:31 | Mark Stijnman | Note Added: 0038167 | |
2015-03-09 09:59 | Nils Gladitz | Note Added: 0038185 | |
2015-03-09 09:59 | Nils Gladitz | Status | assigned => resolved |
2015-03-09 09:59 | Nils Gladitz | Fixed in Version | => CMake 3.3 |
2015-03-09 09:59 | Nils Gladitz | Resolution | open => fixed |
2015-11-02 09:13 | Robert Maynard | Note Added: 0039724 | |
2015-11-02 09:13 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |