[cmake-developers] [CMake 0011649]: Visual Studio 9 Generator incorrectly allows only one instance of /FI flag

Mantis Bug Tracker mantis at public.kitware.com
Fri Dec 31 14:30:42 EST 2010


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=11649 
====================================================================== 
Reported By:                litghost
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   11649
Category:                   CMake
Reproducibility:            always
Severity:                   block
Priority:                   high
Status:                     new
====================================================================== 
Date Submitted:             2010-12-31 14:30 EST
Last Modified:              2010-12-31 14:30 EST
====================================================================== 
Summary:                    Visual Studio 9 Generator incorrectly allows only
one instance of /FI flag
Description: 
The 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 Reproduce: 
Use 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 ==========

====================================================================== 

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




More information about the cmake-developers mailing list