summaryrefslogtreecommitdiffstats
path: root/Source/CPack/WiX/cmCPackWIXGenerator.h
diff options
context:
space:
mode:
authorNils Gladitz <nilsgladitz@gmail.com>2013-10-23 10:14:39 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-26 14:15:19 (GMT)
commitfe7f8c99a459f93df594a8e5c5f49389d71ae128 (patch)
tree193c19944985976c6ddbe7343cc33879286fecb0 /Source/CPack/WiX/cmCPackWIXGenerator.h
parent20c0a6a0add0380290adab4989425d0b26e38d24 (diff)
downloadCMake-fe7f8c99a459f93df594a8e5c5f49389d71ae128.zip
CMake-fe7f8c99a459f93df594a8e5c5f49389d71ae128.tar.gz
CMake-fe7f8c99a459f93df594a8e5c5f49389d71ae128.tar.bz2
CPackWiX: use safe IDs for generated start menu shortcuts
Diffstat (limited to 'Source/CPack/WiX/cmCPackWIXGenerator.h')
-rw-r--r--Source/CPack/WiX/cmCPackWIXGenerator.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.h b/Source/CPack/WiX/cmCPackWIXGenerator.h
index eac69fe..c96ad5a 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.h
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.h
@@ -18,6 +18,12 @@
#include <string>
#include <map>
+struct cmWIXShortcut
+{
+ std::string textLabel;
+ std::string workingDirectoryId;
+};
+
class cmWIXSourceWriter;
/** \class cmCPackWIXGenerator
@@ -56,6 +62,7 @@ protected:
private:
typedef std::map<std::string, std::string> id_map_t;
typedef std::map<std::string, size_t> ambiguity_map_t;
+ typedef std::map<std::string, cmWIXShortcut> shortcut_map_t;
bool InitializeWiXConfiguration();
@@ -71,6 +78,15 @@ private:
bool CreateWiXSourceFiles();
+ bool CreateStartMenuShortcuts(
+ cmWIXSourceWriter& directoryDefinitions,
+ cmWIXSourceWriter& fileDefinitions,
+ cmWIXSourceWriter& featureDefinitions);
+
+ void CreateUninstallShortcut(
+ std::string const& packageName,
+ cmWIXSourceWriter& fileDefinitions);
+
void AppendUserSuppliedExtraSources();
void AppendUserSuppliedExtraObjects(std::ostream& stream);
@@ -89,9 +105,7 @@ private:
cmWIXSourceWriter& directoryDefinitions,
cmWIXSourceWriter& fileDefinitions,
cmWIXSourceWriter& featureDefinitions,
- const std::vector<std::string>& pkgExecutables,
- std::vector<std::string>& dirIdExecutables
- );
+ const std::vector<std::string>& pkgExecutables);
bool RequireOption(const std::string& name, std::string& value) const;
@@ -118,6 +132,7 @@ private:
std::vector<std::string> wixSources;
id_map_t pathToIdMap;
ambiguity_map_t idAmbiguityCounter;
+ shortcut_map_t shortcutMap;
};
#endif