[cmake-developers] [PATCH] WINCE, VS: Allow selecting an SDK for Windows CE on Visual Studio

Bach, Pascal pascal.bach at siemens.com
Thu Sep 4 09:31:52 EDT 2014


> > This won't' work as the code gets called multiple times
> 
> Right, it gets called inside try_compile projects too.  Actually
> the SDK information will have to be propagated into those too.
> That means it needs to go in files like CMakeSystem.cmake or
> CMakeCCompiler.cmake that are configured in the build tree,
> or be explicitly propagated by cmMakefile::TryCompile like the
> GeneratorToolset is.

With the current implementation I sent this seems to work and the SDK ends up in 
The generated vxproj files for try compile.

> 
> I'd like to understand the differences among WinCE SDKs (I've
> never done WinCE development).  What are some example names?
> What does each mean?  What processor does each one target?

I'm also quite new to the whole Windows CE development but I try to explain what I figured out until now.

An example for a Windows CE 2013 (aka 8.0) SDK is the one for Ti AM335x from Adeneo [1].

Once installed it can be found under:
C:\Program Files (x86)\Windows CE Tools\SDKs\SDK_AM335X_SK_WEC2013
Where SDK_AM335X_SK_WEC2013 is the SDK name.

The content of SDK_AM335X_SK_WEC2013\sdk subfolder is similar in structure to a folder under:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC

I don't know the exact details but it looks like it contains a complete VC compiler targeted at the specific board.

If I create a Project using this SDK in visual studio the following XML snippet ends up in the resulting .vxproj file:

<ProjectConfiguration Include="Debug|SDK_AM335X_SK_WEC2013">
      <Configuration>Debug</Configuration>
      <Platform>SDK_AM335X_SK_WEC2013 </Platform>
</ProjectConfiguration>

It seems like this is the way Windows knows what compiler to use based on the entries in:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows CE Tools\\SDKs

Where all the installed Windows CE SDKs are listed with the default key pointing to their path on the filesystem.

That's all I know till now ;)


Pascal


[1] http://www.adeneo-embedded.com/Products/Board-Support-Packages/Texas-Instruments-Sitara



More information about the cmake-developers mailing list