diff options
author | Andrej Bosik <andrej.bosik@prosoft.sk> | 2016-02-15 12:02:50 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-03-15 18:34:26 (GMT) |
commit | a22f9967252eecbbd00c9adc1f07ecab9f15e53e (patch) | |
tree | 220c1fc2c38ed0f5be21406a8f36f71f0627cf06 /Source | |
parent | 1d4ab06a7045edf366c689ba5e29bbc35d08718e (diff) | |
download | CMake-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.cxx | 26 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.h | 3 |
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); |