Fix setting of the entry point symbol for Windows CE (#14088)
Set the EntryPointSymbol only when it has not been set before and use the correct symbol depending on the usage of Unicode.
This commit is contained in:
parent
5e0252ce68
commit
34969cf15e
|
@ -920,7 +920,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
|
|||
}
|
||||
|
||||
this->OutputTargetRules(fout, configName, target, libName);
|
||||
this->OutputBuildTool(fout, configName, target, targetOptions.IsDebug());
|
||||
this->OutputBuildTool(fout, configName, target, targetOptions);
|
||||
fout << "\t\t</Configuration>\n";
|
||||
}
|
||||
|
||||
|
@ -941,9 +941,7 @@ cmLocalVisualStudio7Generator
|
|||
}
|
||||
|
||||
void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
|
||||
const char* configName,
|
||||
cmTarget &target,
|
||||
bool isDebug)
|
||||
const char* configName, cmTarget &target, const Options& targetOptions)
|
||||
{
|
||||
cmGlobalVisualStudio7Generator* gg =
|
||||
static_cast<cmGlobalVisualStudio7Generator*>(this->GlobalGenerator);
|
||||
|
@ -1111,7 +1109,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
|
|||
temp += targetNamePDB;
|
||||
fout << "\t\t\t\tProgramDatabaseFile=\"" <<
|
||||
this->ConvertToXMLOutputPathSingle(temp.c_str()) << "\"\n";
|
||||
if(isDebug)
|
||||
if(targetOptions.IsDebug())
|
||||
{
|
||||
fout << "\t\t\t\tGenerateDebugInformation=\"TRUE\"\n";
|
||||
}
|
||||
|
@ -1209,7 +1207,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
|
|||
fout << "\t\t\t\tProgramDatabaseFile=\""
|
||||
<< path << "/" << targetNamePDB
|
||||
<< "\"\n";
|
||||
if(isDebug)
|
||||
if(targetOptions.IsDebug())
|
||||
{
|
||||
fout << "\t\t\t\tGenerateDebugInformation=\"TRUE\"\n";
|
||||
}
|
||||
|
@ -1223,9 +1221,14 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
|
|||
{
|
||||
fout << "\t\t\t\tSubSystem=\"8\"\n";
|
||||
}
|
||||
fout << "\t\t\t\tEntryPointSymbol=\""
|
||||
<< (isWin32Executable ? "WinMainCRTStartup" : "mainACRTStartup")
|
||||
<< "\"\n";
|
||||
|
||||
if(!linkOptions.GetFlag("EntryPointSymbol"))
|
||||
{
|
||||
const char* entryPointSymbol = targetOptions.UsingUnicode() ?
|
||||
(isWin32Executable ? "wWinMainCRTStartup" : "mainWCRTStartup") :
|
||||
(isWin32Executable ? "WinMainCRTStartup" : "mainACRTStartup");
|
||||
fout << "\t\t\t\tEntryPointSymbol=\"" << entryPointSymbol << "\"\n";
|
||||
}
|
||||
}
|
||||
else if ( this->FortranProject )
|
||||
{
|
||||
|
|
|
@ -90,7 +90,7 @@ private:
|
|||
void OutputTargetRules(std::ostream& fout, const char* configName,
|
||||
cmTarget &target, const char *libName);
|
||||
void OutputBuildTool(std::ostream& fout, const char* configName,
|
||||
cmTarget& t, bool debug);
|
||||
cmTarget& t, const Options& targetOptions);
|
||||
void OutputLibraryDirectories(std::ostream& fout,
|
||||
std::vector<std::string> const& dirs);
|
||||
void WriteProjectSCC(std::ostream& fout, cmTarget& target);
|
||||
|
|
Loading…
Reference in New Issue