summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorAndrej Bosik <andrej.bosik@prosoft.sk>2016-02-15 12:02:50 (GMT)
committerBrad King <brad.king@kitware.com>2016-03-15 18:34:26 (GMT)
commita22f9967252eecbbd00c9adc1f07ecab9f15e53e (patch)
tree220c1fc2c38ed0f5be21406a8f36f71f0627cf06 /Source
parent1d4ab06a7045edf366c689ba5e29bbc35d08718e (diff)
downloadCMake-a22f9967252eecbbd00c9adc1f07ecab9f15e53e.zip
CMake-a22f9967252eecbbd00c9adc1f07ecab9f15e53e.tar.gz
CMake-a22f9967252eecbbd00c9adc1f07ecab9f15e53e.tar.bz2
VS: Optionally generate remote directory for WinCE projects
Teach the VS 2008 and 2005 generators to set the `RemoteDirectory` in `DeploymentTool` and the `RemoteExecutable` in `DebuggerTool`. Use a `DEPLOYMENT_REMOTE_DIRECTORY` target property to specify the value.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx26
-rw-r--r--Source/cmLocalVisualStudio7Generator.h3
2 files changed, 29 insertions, 0 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index adfbe2a..3e5611b 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1012,6 +1012,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
this->OutputTargetRules(fout, configName, target, libName);
this->OutputBuildTool(fout, configName, target, targetOptions);
+ this->OutputDeploymentDebuggerTool(fout, configName, target);
fout << "\t\t</Configuration>\n";
}
@@ -1374,6 +1375,31 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
}
}
+void cmLocalVisualStudio7Generator::OutputDeploymentDebuggerTool(
+ std::ostream& fout, std::string const& config, cmGeneratorTarget* target)
+{
+ if (this->WindowsCEProject)
+ {
+ if (const char* dir = target->GetProperty("DEPLOYMENT_REMOTE_DIRECTORY"))
+ {
+ fout <<
+ "\t\t\t<DeploymentTool\n"
+ "\t\t\t\tForceDirty=\"-1\"\n"
+ "\t\t\t\tRemoteDirectory=\"" << this->EscapeForXML(dir) << "\"\n"
+ "\t\t\t\tRegisterOutput=\"0\"\n"
+ "\t\t\t\tAdditionalFiles=\"\"/>\n"
+ ;
+ std::string const exe = dir + std::string("\\") + target->GetFullName();
+ fout <<
+ "\t\t\t<DebuggerTool\n"
+ "\t\t\t\tRemoteExecutable=\"" << this->EscapeForXML(exe) << "\"\n"
+ "\t\t\t\tArguments=\"\"\n"
+ "\t\t\t/>\n"
+ ;
+ }
+ }
+}
+
//----------------------------------------------------------------------------
void
cmLocalVisualStudio7Generator
diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h
index 7bb9cc6..562f485 100644
--- a/Source/cmLocalVisualStudio7Generator.h
+++ b/Source/cmLocalVisualStudio7Generator.h
@@ -92,6 +92,9 @@ private:
const std::string& libName);
void OutputBuildTool(std::ostream& fout, const std::string& configName,
cmGeneratorTarget* t, const Options& targetOptions);
+ void OutputDeploymentDebuggerTool(std::ostream& fout,
+ std::string const& config,
+ cmGeneratorTarget* target);
void OutputLibraryDirectories(std::ostream& fout,
std::vector<std::string> const& dirs);
void WriteProjectSCC(std::ostream& fout, cmGeneratorTarget *target);