summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2007-07-31 15:23:15 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2007-07-31 15:23:15 (GMT)
commitbe1b19ada0ea623381756b0905516f7b3cbaa84f (patch)
treeaf5000331bfd938383b12a7baad8870450acbf0a /Source
parent7d34b7de7c0418996d6cc0898286e5a82db72122 (diff)
downloadCMake-be1b19ada0ea623381756b0905516f7b3cbaa84f.zip
CMake-be1b19ada0ea623381756b0905516f7b3cbaa84f.tar.gz
CMake-be1b19ada0ea623381756b0905516f7b3cbaa84f.tar.bz2
BUG: fix DLL and DEF being lost and add real support for /DEF: /DLL does not have an entry so just let it pass to advanced command line
Diffstat (limited to 'Source')
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 71fbf1e..119f6c7 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -346,6 +346,8 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] =
cmVS7FlagTable::UserValue},
{"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "ignore all default libs",
"TRUE", 0},
+ {"ModuleDefinitionFile", "DEF:", "add an export def file", "",
+ cmVS7FlagTable::UserValue},
{0,0,0,0,0}
};
@@ -1726,7 +1728,8 @@ void cmLocalVisualStudio7GeneratorOptions::HandleFlag(const char* flag)
if(flag[0] == '-' || flag[0] == '/')
{
// Look for preprocessor definitions.
- if(flag[1] == 'D')
+ if(flag[1] == 'D' && strncmp(flag+1, "DEF:", 4) !=0
+ && strcmp(flag+1, "DLL") != 0)
{
if(flag[2] == '\0')
{
@@ -1760,7 +1763,6 @@ void cmLocalVisualStudio7GeneratorOptions::HandleFlag(const char* flag)
return;
}
}
-
// This option is not known. Store it in the output flags.
this->FlagString += " ";
this->FlagString +=
@@ -1901,6 +1903,5 @@ GetTargetObjectFileDirectories(cmTarget* target,
dir += this->GetTargetDirectory(*target);
dir += "/";
dir += this->GetGlobalGenerator()->GetCMakeCFGInitDirectory();
- std::cerr << dir << "\n";
dirs.push_back(dir);
}