[CMake] WinCE Support

Andreas Pokorny andreas.pokorny at gmail.com
Thu Apr 16 05:14:53 EDT 2009


2009/4/15 Clemens Arth <clemens.arth at gmx.at>:
> [...]
>
> Using the generator facility really sounds like a good idea. The remaining
> question is just if you also can get the information out of the vcpackages
> xml file which toolchain file to use (setting the PlatformName string
> basically). Looking at my xml file there is just one parameter namely CEVER
> that might be helpful. I do not know if it would be necessary to use a
> different toolchain in some special cases, but I guess that in this case
> there might be some other property entry in the xml file which would make a
> decision possible...

The other values are also vital. Like the instruction set and the
architecture family. They have to be defined. The only thing that
might not be that straight forward is selecting one of the three cross
compilers. But then we have every information to set up cmake. We have
CMAKE_C_COMPILER=$(VSInstallDir)/.../x86_architecture/cl.exe
CMAKE_CXX_COMPILER=$(VSInstallDir)/.../x86_architecture/cl.exe
CMAKE_SYSTEM_NAME=WinCE
CMAKE_SYSTEM_VERSION=OSMajorVersion.OSMinorVersion
We then let WinCE.cmake set the macros
UNDER_CE=0xOSMajorVersionOSMinorVersion
And we can add the other macros $(INSTRUCTIONSET) $(ARCHFAMILY)
$(_ARCHFAMILY_) somehow.

Looking at that I think we could do the same for NMake, since we even
get the include and library paths of the SDK from the
WCE.VCPlatform.config.xml

Now I have another question regarding an addition to the VS7Generator:

+        fout << "\t\t\t\tAdditionalDependencies=\" ";
+        this->Internal->OutputLibraries(fout, cli.GetItems());
+        fout << "\"\n";
+        fout << "\t\t\t\tDelayLoadDLLs=\"$(NOINHERIT)" << "\"\n";
+        fout << "\t\t\t\tRandomizedBaseAddress=\"1" << "\"\n";
+        fout << "\t\t\t\tDataExecutionPrevention=\"0" << "\"\n";

What do the three flags  DelayedLoadDLLs RandomizedBaseAddress and
DataExecutionPrevention mean? At first glance they do not seem to be
Windows Mobile/CE specific?

Is this maybe related to unresolved external symbol:
__security_check_cookie  error messages, that I just got while writing
this email.

kind regards
Andreas Pokorny


More information about the CMake mailing list