The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=14436 ====================================================================== Reported By: mar-na Assigned To: ====================================================================== Project: CMake Issue ID: 14436 Category: CMake Reproducibility: always Severity: major Priority: normal Status: new ====================================================================== Date Submitted: 2013-09-24 10:21 EDT Last Modified: 2013-09-24 10:21 EDT ====================================================================== Summary: Missing ARCHFAM preprocessor definition in WinCE Visual Studio generators (armv41) Description: I try to compile a HelloWorld console application for WinCE STANDARDSDK_500 (ARMV41) with VS 2008.
In CMake 2.8.11 it works but in 2.8.11.20130923 failed it with strange compiler error: (compiler log from VS 2008) Compiling... HelloWorld.cpp C:\Programme\Windows CE Tools\wce500\STANDARDSDK_500\include\ARMV4I\winnt.h(2975) : error C2146: syntax error : missing ';' before identifier 'ContextRecord' C:\Programme\Windows CE Tools\wce500\STANDARDSDK_500\include\ARMV4I\winnt.h(2975) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Programme\Windows CE Tools\wce500\STANDARDSDK_500\include\ARMV4I\winnt.h(2975) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int I compare the generated project files and found that in the CMake trunk are the preprocessor definition for ARCHFAM is missing. If I manuelle added $(ARCHFAM);$(_ARCHFAM_) or ARM;_ARM_ than it worked. Steps to Reproduce: Use "Visual Studio 9 2008 STANDARDSDK_500 (ARMV41)" generator. ARCHFAM is missing in preprocessor definition. e.g. for ARMV41 ARM;_ARM_. Or alternativly (as Visual Studio 'native' do it) $(ARCHFAM);$(_ARCHFAM_) cmake 2.8.11 STANDARDSDK_500 (ARMV41) ------------------------------------- _WIN32_WCE=0x500 UNDER_CE ARM _ARM_ _WINDOWS _DEBUG CMAKE_INTDIR=\"Debug\" cmake 2.8.11.20130923 STANDARDSDK_500 (ARMV41) ---------------------------------------------- _WIN32_WCE=0x500 UNDER_CE THUMB _THUMB_ _WINDOWS _DEBUG CMAKE_INTDIR=\"Debug\" -> is THUMB and _THUMB_ here right? $(ARCHFAM);$(_ARCHFAM_) or ARM;_ARM_ is missing for comparison only: If the "Visual Studio 9 2008 STANDARDSDK_500 (x86)" generator is used it works cmake 2.8.11.20130923 STANDARDSDK_500 (x86) ------------------------ _WIN32_WCE=0x500 UNDER_CE X86 _X86_ _WINDOWS _DEBUG CMAKE_INTDIR=\"Debug\" Additional Information: If a project is generate with the VS than the preprocessor definition are set to this: 'native' generated with VS 2008 ------------------------------- DEBUG _WIN32_WCE=$(CEVER) UNDER_CE WINCE DEBUG _CONSOLE $(ARCHFAM) $(_ARCHFAM_) ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2013-09-24 10:21 mar-na New Issue ====================================================================== -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
