Hi All,

using cmake for a quite big project (with several sub-projects, some macros, find modules etc.) sometimes .vcxproj contains output like this:
 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <AdditionalOptions> /Zm1000 /bigobj 
%(AdditionalOptions)</AdditionalOptions>
      
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>... LOTS OF INCLUDES ... 
/include</AdditionalIncludeDirectories>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
The problem is the second AdditionalIncludeDirectories not containing the final 
"%(AdditionalIncludeDirectories)".
Inside VS (Properties -> Configuration Properties -> C/C++ -> Additional 
Include Directories) this results
in the checkbox for "Inherit from parent of project defaults" being unchecked 
and so the includes are not
used. If you would check this checkbox, everything would work - but is a 
dissatisfying solution.

I tried hard to reproduce this error in a smaller example, but failed. I 
couldn't reproduce it, but I could fix it:
------------ SNIP ---------------------
diff -r -c \
cmake-2.8.2.orig/Source/cmVisualStudioGeneratorOptions.cxx 
cmake-2.8.2/Source/cmVisualStudioGeneratorOptions.cxx
*** cmake-2.8.2.orig/Source//cmVisualStudioGeneratorOptions.cxx 2010-06-28 
17:15:59.000000000 +0200
--- cmake-2.8.2/Source//cmVisualStudioGeneratorOptions.cxx      2010-10-01 
02:46:57.677851800 +0200
***************
*** 251,257 ****
          {
          fout << "<" << m->first << ">";
          }
!       fout  << m->second << "</" << m->first << ">\n";
        }
      }
    else
--- 251,261 ----
          {
          fout << "<" << m->first << ">";
          }
!         fout  << m->second;
!         if (m->first == "AdditionalIncludeDirectories") {
!               fout  << ";%(AdditionalIncludeDirectories)";
!         }
!         fout  << "</" << m->first << ">\n";
        }
      }
    else

------------ SNIP ---------------------

I guess this is a bad fix (ugly hack, wrong place). Maybe somebody is able to explain/guess what might be wrong with my CMake-Files or to correctly fix this issue.


Regards,

Karl


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to