[CMake] Windows CE - entry points hardcoded and unchangeable in .vcproj

Marco Warga watz at watz.at
Mon May 13 06:22:30 EDT 2013


Hi,

I'm using the current WinCE support in the nightly build to build 
various things through cmake generated VS2008 solutions. I wondered 
about not beeing able to set the correct entry point for my executables 
until I debugged the issue. The VS generator used always outputs 
hardcoded EntryPointSymbol values to the vcproj. If I dare to specify a 
custom /ENTRY in my executables LINK_FLAGS property, I end up with an 
invalid vcproj containing two "EntryPointSymbol=" lines. The bug is 
caused in this function:

cmLocalVisualStudio7Generator::OutputBuildTool

by this code:

     if ( this->WindowsCEProject )
       {
       if(this->GetVersion() < VS9)
         {
         fout << "\t\t\t\tSubSystem=\"9\"\n";
         }
       else
         {
         fout << "\t\t\t\tSubSystem=\"8\"\n";
         }
       fout << "\t\t\t\tEntryPointSymbol=\""
            << (isWin32Executable ? "WinMainCRTStartup" : "mainACRTStartup")
            << "\"\n";
       }

It is perfectly valid for WinCE apps to specify their entry point (i.e. 
http://msdn.microsoft.com/en-us/library/ms859584.aspx). For my part, I 
would change it in a way that checks for a user specified 
EntryPointSymbol before adding something hardcoded on its own. Want me 
to submit a patch ?

Regards,
Marco



More information about the CMake mailing list