Skip to content
Snippets Groups Projects
Commit 05e6c3f3 authored by Brad King's avatar Brad King
Browse files

BUG: Fixed OUTPUT_NAME feature for VS6 generator. It was not working for...

BUG: Fixed OUTPUT_NAME feature for VS6 generator.  It was not working for Debug builds and was not paying attention to the executable output path.
parent 98e51196
No related branches found
No related tags found
No related merge requests found
......@@ -964,20 +964,24 @@ void cmLocalVisualStudio6Generator
}
}
}
std::string outputName = "(OUTPUT_NAME is for executables only)";
std::string extraLinkOptions;
if(target.GetType() == cmTarget::EXECUTABLE)
{
extraLinkOptions =
m_Makefile->GetRequiredDefinition("CMAKE_EXE_LINKER_FLAGS");
// if the executable has an output name then add the appropriate flag
if (target.GetProperty("OUTPUT_NAME"))
// Use the OUTPUT_NAME property if it was set. This is supported
// only for executables.
if(const char* outName = target.GetProperty("OUTPUT_NAME"))
{
libMultiLineOptions += "# ADD LINK32 /out:";
libMultiLineOptions += target.GetProperty("OUTPUT_NAME");
libMultiLineOptions += " \n";
outputName = outName;
}
else
{
outputName = target.GetName();
}
outputName += ".exe";
}
if(target.GetType() == cmTarget::SHARED_LIBRARY)
{
......@@ -1095,6 +1099,11 @@ void cmLocalVisualStudio6Generator
cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIMIZED_LIBRARIES",
libMultiLineOptimizedOptions.c_str());
// Replace the template file text OUTPUT_NAME with the real output
// name that will be used. Only the executable template should
// have this text.
cmSystemTools::ReplaceString(line, "OUTPUT_NAME", outputName.c_str());
cmSystemTools::ReplaceString(line, "BUILD_INCLUDES",
m_IncludeOptions.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_LIBNAME",libName);
......
......@@ -69,6 +69,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /out:"EXECUTABLE_OUTPUT_PATHRelease\OUTPUT_NAME"
CM_MULTILINE_OPTIMIZED_LIBRARIES
CM_MULTILINE_LIBRARIES
......@@ -101,6 +102,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /IGNORE:4089
# ADD LINK32 /out:"EXECUTABLE_OUTPUT_PATHDebug\OUTPUT_NAME"
CM_MULTILINE_DEBUG_LIBRARIES
CM_MULTILINE_LIBRARIES_FOR_DEBUG
......@@ -130,6 +132,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /out:"EXECUTABLE_OUTPUT_PATHMinSizeRel\OUTPUT_NAME"
CM_MULTILINE_OPTIMIZED_LIBRARIES
CM_MULTILINE_LIBRARIES
......@@ -160,6 +163,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /IGNORE:4089
# ADD LINK32 /out:"EXECUTABLE_OUTPUT_PATHRelWithDebInfo\OUTPUT_NAME"
CM_MULTILINE_OPTIMIZED_LIBRARIES
CM_MULTILINE_LIBRARIES
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment