[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3748-gd971624
Brad King
brad.king at kitware.com
Wed Aug 7 08:41:29 EDT 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via d971624926ede6e1c4122d5dff9519ad4d760dba (commit)
via c04dcfb201db865ce00659d2ad03c3b607eabba2 (commit)
via 8fcf0ab020a9496e53051bb9effdc68e44be3af6 (commit)
from 30d767da2bb1135cb4faeb01da09a16a0d4d4269 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d971624926ede6e1c4122d5dff9519ad4d760dba
commit d971624926ede6e1c4122d5dff9519ad4d760dba
Merge: 30d767d c04dcfb
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 7 08:41:28 2013 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Aug 7 08:41:28 2013 -0400
Merge topic 'wince800' into next
c04dcfb VS11: Add support for Windows CE SDKs
8fcf0ab Add support for new Windows CE compiler
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c04dcfb201db865ce00659d2ad03c3b607eabba2
commit c04dcfb201db865ce00659d2ad03c3b607eabba2
Author: Patrick Gansterer <paroga at paroga.com>
AuthorDate: Sun Aug 4 20:15:35 2013 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 7 08:36:18 2013 -0400
VS11: Add support for Windows CE SDKs
Allow additional generator platforms for the installed WinCE SDKs.
diff --git a/Source/cmGlobalVisualStudio11Generator.cxx b/Source/cmGlobalVisualStudio11Generator.cxx
index a014654..ac119a3 100644
--- a/Source/cmGlobalVisualStudio11Generator.cxx
+++ b/Source/cmGlobalVisualStudio11Generator.cxx
@@ -13,31 +13,56 @@
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
-static const char vs11Win32generatorName[] = "Visual Studio 11";
-static const char vs11Win64generatorName[] = "Visual Studio 11 Win64";
-static const char vs11ARMgeneratorName[] = "Visual Studio 11 ARM";
+static const char vs11generatorName[] = "Visual Studio 11";
class cmGlobalVisualStudio11Generator::Factory
: public cmGlobalGeneratorFactory
{
public:
virtual cmGlobalGenerator* CreateGlobalGenerator(const char* name) const {
- if(!strcmp(name, vs11Win32generatorName))
+ if(strstr(name, vs11generatorName) != name)
+ {
+ return 0;
+ }
+
+ const char* p = name + sizeof(vs11generatorName) - 1;
+ if(p[0] == '\0')
{
return new cmGlobalVisualStudio11Generator(
name, NULL, NULL);
}
- if(!strcmp(name, vs11Win64generatorName))
+
+ if(p[0] != ' ')
{
- return new cmGlobalVisualStudio11Generator(
- name, "x64", "CMAKE_FORCE_WIN64");
+ return 0;
}
- if(!strcmp(name, vs11ARMgeneratorName))
+
+ ++p;
+
+ if(!strcmp(p, "ARM"))
{
return new cmGlobalVisualStudio11Generator(
name, "ARM", NULL);
}
- return 0;
+
+ if(!strcmp(p, "Win64"))
+ {
+ return new cmGlobalVisualStudio11Generator(
+ name, "x64", "CMAKE_FORCE_WIN64");
+ }
+
+ std::set<std::string> installedSDKs =
+ cmGlobalVisualStudio11Generator::GetInstalledWindowsCESDKs();
+
+ if(installedSDKs.find(p) == installedSDKs.end())
+ {
+ return 0;
+ }
+
+ cmGlobalVisualStudio11Generator* ret =
+ new cmGlobalVisualStudio11Generator(name, p, NULL);
+ ret->WindowsCEVersion = "8.00";
+ return ret;
}
virtual void GetDocumentation(cmDocumentationEntry& entry) const {
@@ -51,9 +76,18 @@ public:
}
virtual void GetGenerators(std::vector<std::string>& names) const {
- names.push_back(vs11Win32generatorName);
- names.push_back(vs11Win64generatorName);
- names.push_back(vs11ARMgeneratorName); }
+ names.push_back(vs11generatorName);
+ names.push_back(vs11generatorName + std::string(" ARM"));
+ names.push_back(vs11generatorName + std::string(" Win64"));
+
+ std::set<std::string> installedSDKs =
+ cmGlobalVisualStudio11Generator::GetInstalledWindowsCESDKs();
+ for(std::set<std::string>::const_iterator i =
+ installedSDKs.begin(); i != installedSDKs.end(); ++i)
+ {
+ names.push_back("Visual Studio 8 2005 " + *i);
+ }
+ }
};
//----------------------------------------------------------------------------
@@ -109,3 +143,36 @@ bool cmGlobalVisualStudio11Generator::UseFolderProperty()
// Express editions in VS10 and earlier, but they are in VS11 Express.
return cmGlobalVisualStudio8Generator::UseFolderProperty();
}
+
+//----------------------------------------------------------------------------
+std::set<std::string>
+cmGlobalVisualStudio11Generator::GetInstalledWindowsCESDKs()
+{
+ const char sdksKey[] = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\"
+ "Windows CE Tools\\SDKs";
+
+ std::vector<std::string> subkeys;
+ cmSystemTools::GetRegistrySubKeys(sdksKey, subkeys,
+ cmSystemTools::KeyWOW64_32);
+
+ std::set<std::string> ret;
+ for(std::vector<std::string>::const_iterator i =
+ subkeys.begin(); i != subkeys.end(); ++i)
+ {
+ std::string key = sdksKey;
+ key += '\\';
+ key += *i;
+ key += ';';
+
+ std::string path;
+ if(cmSystemTools::ReadRegistryValue(key.c_str(),
+ path,
+ cmSystemTools::KeyWOW64_32) &&
+ !path.empty())
+ {
+ ret.insert(*i);
+ }
+ }
+
+ return ret;
+}
diff --git a/Source/cmGlobalVisualStudio11Generator.h b/Source/cmGlobalVisualStudio11Generator.h
index b61366a..7cc7e69 100644
--- a/Source/cmGlobalVisualStudio11Generator.h
+++ b/Source/cmGlobalVisualStudio11Generator.h
@@ -34,7 +34,9 @@ public:
protected:
virtual const char* GetIDEVersion() { return "11.0"; }
bool UseFolderProperty();
+ static std::set<std::string> GetInstalledWindowsCESDKs();
private:
class Factory;
+ friend class Factory;
};
#endif
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8fcf0ab020a9496e53051bb9effdc68e44be3af6
commit 8fcf0ab020a9496e53051bb9effdc68e44be3af6
Author: Patrick Gansterer <paroga at paroga.com>
AuthorDate: Sun Aug 4 20:11:30 2013 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 7 08:26:26 2013 -0400
Add support for new Windows CE compiler
The new compiler versions do not need corelibc.lib as a default
link library and a architecture detection workaround.
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index 1a2d3e9..685638a 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -141,8 +141,12 @@ if(WINCE)
set(_RTC1 "")
set(_FLAGS_CXX " /GR /EHsc")
- set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
+ set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
+
+ if (MSVC_VERSION LESS 1500)
+ set(CMAKE_C_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT} corelibc.lib")
+ endif ()
else()
set(_PLATFORM_DEFINES "/DWIN32")
-----------------------------------------------------------------------
Summary of changes:
Modules/Platform/Windows-MSVC.cmake | 6 ++-
Source/cmGlobalVisualStudio11Generator.cxx | 91 ++++++++++++++++++++++++----
Source/cmGlobalVisualStudio11Generator.h | 2 +
3 files changed, 86 insertions(+), 13 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list