View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011649CMakeCMakepublic2010-12-31 14:302011-01-12 08:12
Reporterlitghost 
Assigned ToBrad King 
PriorityhighSeverityblockReproducibilityalways
StatusclosedResolutionfixed 
PlatformWindowsOSWindowsOS VersionWindows 7
Product VersionCMake 2.8.3 
Target VersionCMake 2.8.4Fixed in VersionCMake 2.8.4 
Summary0011649: Visual Studio 9 Generator incorrectly allows only one instance of /FI flag
DescriptionThe Visual Studio 9 Generator does not allow more than one instance of the /FI flag because it's definition in cmLocalVisualStudio7GeneratorFlagTable is incorrect.

It should have the cmVS7FlagTable::SemicolonAppendable added to it.

I have attached a test case, and a patch.
Steps To ReproduceUse the VS 9 generator on the provided test case (see test.7z attachment). It should compile correctly if the "ForcedIncludeFiles" option is "inc1.h;inc2.h". It can be seen in the IDE as "Configuration Properties->C/C++->Advanced->Force Includes".

Error build will look like:
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1>Compiling...
1>test.cpp
1>n:\darkengine\test\inc2.h(1) : error C2059: syntax error : 'return'
1>n:\darkengine\test\inc2.h(2) : error C2059: syntax error : '}'
1>n:\darkengine\test\inc2.h(2) : error C2143: syntax error : missing ';' before '}'
1>n:\darkengine\test\inc2.h(2) : error C2059: syntax error : '}'
1>Build log was saved at "file://n:\DarkEngine\test\build\test.dir\Debug\BuildLog.htm" [^]
1>test - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

Successful build looks like:
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1>Compiling...
1>test.cpp
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>Embedding manifest...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Build log was saved at "file://n:\DarkEngine\test\build\test.dir\Debug\BuildLog.htm" [^]
1>test - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
TagsNo tags attached.
Attached Files7z file icon test.7z [^] (338 bytes) 2010-12-31 14:30
patch file icon flag.patch [^] (643 bytes) 2010-12-31 14:31 [Show Content]

 Relationships
has duplicate 0011917closedBrad King Visual Studio 9 generator cannot cope with more than one force include (-FI option) 

  Notes
(0024356)
Brad King (manager)
2011-01-03 10:06

Fixed, thanks:

  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b29eadd8 [^]

 Issue History
Date Modified Username Field Change
2010-12-31 14:30 litghost New Issue
2010-12-31 14:30 litghost File Added: test.7z
2010-12-31 14:31 litghost File Added: flag.patch
2011-01-03 10:05 Brad King Assigned To => Brad King
2011-01-03 10:05 Brad King Status new => assigned
2011-01-03 10:06 Brad King Note Added: 0024356
2011-01-03 10:06 Brad King Status assigned => closed
2011-01-03 10:06 Brad King Resolution open => fixed
2011-01-12 08:12 David Cole Fixed in Version => CMake 2.8.4
2011-01-12 08:12 David Cole Target Version => CMake 2.8.4
2011-03-02 13:24 Brad King Relationship added has duplicate 0011917


Copyright © 2000 - 2018 MantisBT Team