MantisBT - CMake |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0014153 | CMake | CMake | public | 2013-05-17 02:07 | 2013-10-07 10:09 |
|
Reporter | Marc Costa | |
Assigned To | Brad King | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | Visual Studio 2012 | OS | Windows | OS Version | 7 |
Product Version | CMake 2.8.10.2 | |
Target Version | CMake 2.8.12 | Fixed in Version | CMake 2.8.12 | |
|
Summary | 0014153: Visual Studio project wrong AssemblerListingLocation (/Fa) default (and override!) |
Description | Using the Visual Studio 11 (Win64) generator, I get .vcxproj with the option <AssemblerListingLocation> set to CMAKE_BUILD_TYPE (Debug, Release, etc...), i.e:
<AssemblerListingLocation>Debug<AssemblerListingLocation>
If I explicitly set this option (e.g. /Fa$(IntDir) or /FaDebug\), the project file will contain two AssemblerListingLocation definitions per build type, the last one taking precedence over the first one. The last one is the CMake's default.
It is indeed a problem not to let me set my own variable, but the main problem is that the default is wrong. Setting it to CMAKE_BUILD_TYPE will generate build errors when specifying the Generate Assembly options (/FA family) since Visual Studio will consider CMAKE_BUILD_TYPE a file name instead of a directory name (i.e. Debug instead of Debug\) and so fail to compile multiple files (error D8036: '/FaDebug' not allowed with multiple source files). |
Steps To Reproduce | Generate a simple Visual Studio project with more than one file to build (.cpp). Set VS to generate assembly files (e.g. /FA). |
Additional Information | |
Tags | asm, c++, solution, visual studio |
Relationships | has duplicate | 0014171 | closed | Brad King | "ASM List Location" Path Error |
|
Attached Files | CMake_error.zip (27,364) 2013-05-17 02:07 https://public.kitware.com/Bug/file/4761/CMake_error.zip
edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch (3,432) 2013-05-17 08:38 https://public.kitware.com/Bug/file/4762/edeabd18%2B0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch
edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153-2.patch (3,736) 2013-05-20 08:42 https://public.kitware.com/Bug/file/4763/edeabd18%2B0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153-2.patch |
|
Issue History |
Date Modified | Username | Field | Change |
2013-05-17 02:07 | Marc Costa | New Issue | |
2013-05-17 02:07 | Marc Costa | File Added: CMake_error.zip | |
2013-05-17 05:05 | Marc Costa | Tag Attached: asm | |
2013-05-17 05:06 | Marc Costa | Tag Attached: c++ | |
2013-05-17 05:06 | Marc Costa | Tag Attached: solution | |
2013-05-17 05:06 | Marc Costa | Tag Attached: visual studio | |
2013-05-17 08:38 | Brad King | File Added: edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch | |
2013-05-17 08:39 | Brad King | Note Added: 0033084 | |
2013-05-17 08:39 | Brad King | Assigned To | => Brad King |
2013-05-17 08:39 | Brad King | Status | new => assigned |
2013-05-17 08:39 | Brad King | Target Version | => CMake 2.8.12 |
2013-05-17 08:45 | Marc Costa | Note Added: 0033085 | |
2013-05-18 00:55 | Marc Costa | Note Added: 0033093 | |
2013-05-20 08:42 | Brad King | File Added: edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153-2.patch | |
2013-05-20 08:42 | Brad King | Note Added: 0033099 | |
2013-05-20 15:00 | Marc Costa | Note Added: 0033103 | |
2013-05-20 15:00 | Marc Costa | Note Edited: 0033103 | bug_revision_view_page.php?bugnote_id=33103#r1166 |
2013-05-20 15:29 | Brad King | Note Added: 0033104 | |
2013-05-20 15:29 | Brad King | Status | assigned => resolved |
2013-05-20 15:29 | Brad King | Resolution | open => fixed |
2013-05-20 15:29 | Brad King | Fixed in Version | => CMake 2.8.12 |
2013-05-28 09:37 | Brad King | Relationship added | has duplicate 0014171 |
2013-10-07 10:09 | Robert Maynard | Note Added: 0034066 | |
2013-10-07 10:09 | Robert Maynard | Status | resolved => closed |
Notes |
|
(0033084)
|
Brad King
|
2013-05-17 08:39
|
|
Please try attached edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch
|
|
|
(0033085)
|
Marc Costa
|
2013-05-17 08:45
|
|
I am currently using a pre-build CMake 2.8.10, but I guess I should build CMake from source to apply the patch, right?
I'll do it as soon as I can!
Thanks! |
|
|
(0033093)
|
Marc Costa
|
2013-05-18 00:55
|
|
Overwriting the value now works!
The default value is still wrong, though. No defining the compiler option still produces:
<AssemblerListingLocation>Debug<AssemblerListingLocation> (for Debug builds)
which is wrong. The correct value should be:
<AssemblerListingLocation>Debug\<AssemblerListingLocation> (note the \ after Debug)
which is a directory name, not a file name.
Thanks! |
|
|
(0033099)
|
Brad King
|
2013-05-20 08:42
|
|
Thanks for testing. Please try edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153-2.patch for the fixed default. |
|
|
(0033103)
|
Marc Costa
|
2013-05-20 15:00
|
|
Now it's totally fixed! Thank you!
|
|
|
(0033104)
|
Brad King
|
2013-05-20 15:29
|
|
|
|
(0034066)
|
Robert Maynard
|
2013-10-07 10:09
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|