View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014153CMakeCMakepublic2013-05-17 02:072013-10-07 10:09
ReporterMarc Costa 
Assigned ToBrad King 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformVisual Studio 2012OSWindowsOS Version7
Product VersionCMake 2.8.10.2 
Target VersionCMake 2.8.12Fixed in VersionCMake 2.8.12 
Summary0014153: Visual Studio project wrong AssemblerListingLocation (/Fa) default (and override!)
DescriptionUsing 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 ReproduceGenerate a simple Visual Studio project with more than one file to build (.cpp). Set VS to generate assembly files (e.g. /FA).
Tagsasm, c++, solution, visual studio
Attached Fileszip file icon CMake_error.zip [^] (27,364 bytes) 2013-05-17 02:07
patch file icon edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch [^] (3,432 bytes) 2013-05-17 08:38 [Show Content]
patch file icon edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153-2.patch [^] (3,736 bytes) 2013-05-20 08:42 [Show Content]

 Relationships
has duplicate 0014171closedBrad King "ASM List Location" Path Error 

  Notes
(0033084)
Brad King (manager)
2013-05-17 08:39

Please try attached edeabd18+0001-VS-Allow-Fa-to-set-AssemblerListingLocation-14153.patch
(0033085)
Marc Costa (reporter)
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 (reporter)
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 (manager)
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 (reporter)
2013-05-20 15:00
edited on: 2013-05-20 15:00

Now it's totally fixed! Thank you!

(0033104)
Brad King (manager)
2013-05-20 15:29

Great, thanks again for testing. Applied:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e0c45e9 [^]
(0034066)
Robert Maynard (manager)
2013-10-07 10:09

Closing resolved issues that have not been updated in more than 4 months.

 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
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


Copyright © 2000 - 2018 MantisBT Team