Re: [cmake-developers] cmake selftest use different compiler and binutils as configured on Darwin

2012-07-14 Thread Claus Klein

Hi Richard,

it would be nice if you may setup a nightly build on darwin with  
current MacPorts gcc-4.7 like this:


claus-kleins-macbook-pro:CmakeMakeBuildDir clausklein$ i386-apple- 
darwin9-gcc-4.7.1 --version

i386-apple-darwin9-gcc-4.7.1 (MacPorts gcc47 4.7.1_1) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.

And make sure, that this generator and tools are used while cmake  
selftest!


As a first try, it would be help to use the Makefile generator, later  
you may add or change to Ninja generator.


export CC=/opt/local/bin/i386-apple-darwin9-gcc-mp-4.7
export CXX=/opt/local/bin/i386-apple-darwin9-g++-mp-4.7
export MAKECOMMAND=/opt/local/bin/gmake

# configure
/opt/local/bin/cmake -G Unix Makefiles - 
DCMAKE_TEST_GENERATOR:STRING=Unix Makefiles \
-DCMAKE_TEST_MAKEPROGRAM:FILEPATH=${MAKECOMMAND} - 
DCMAKE_ENABLE_NINJA:BOOL=ON \

-DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} \
-DCMAKE_LINKER:FILEPATH=/opt/local/bin/ld \
-DCMAKE_AR:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc-ar- 
mp-4.7 \
-DCMAKE_RANLIB:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc- 
ranlib-mp-4.7 \

-DMAKECOMMAND:STRING=${MAKECOMMAND} \
-DCMAKE_FIND_ROOT_PATH=/opt/local/libexec/gcc/i386-apple- 
darwin9/4.7.1/;/opt/local/bin \

\
-DBUILD_CursesDialog:BOOL=ON -DBUILD_QtDialog:BOOL=OFF \
../cmake


gmake Experimental
...

That is my current result:
96% tests passed, 10 tests failed out of 246

Label Time Summary:
Label1=   0.13 sec
Label2=   0.13 sec

Total Test time (real) = 1304.76 sec

The following tests FAILED:
 62 - Architecture (Failed)
 90 - BuildDepends (Failed)
 93 - CPackComponents (Failed)
 98 - CPackComponentsForAll-DragNDrop-default (Failed)
 99 - CPackComponentsForAll-DragNDrop-OnePackPerGroup (Failed)
100 - CPackComponentsForAll-DragNDrop-IgnoreGroup (Failed)
101 - CPackComponentsForAll-DragNDrop-AllInOne (Failed)
139 - ObjC++ (Failed)
140 - BundleGeneratorTest (Failed)
246 - CMake.CheckSourceTree (Failed)
Performing coverage
 Cannot find any coverage files. Ignoring Coverage request.
Submit files (using http)
   Using HTTP submit method
   Drop site:http://www.cdash.org/CDash/submit.php?project=CMake
   Uploaded: /Users/clausklein/Downloads/CmakeMakeBuildDir/Testing/ 
20120714-1043/Build.xml
   Uploaded: /Users/clausklein/Downloads/CmakeMakeBuildDir/Testing/ 
20120714-1043/Configure.xml
   Uploaded: /Users/clausklein/Downloads/CmakeMakeBuildDir/Testing/ 
20120714-1043/Test.xml

   Submission successful
Errors while running CTest

And I have just the same errors with Nina generator!

claus-kleins-macbook-pro:CmakeMakeBuildDir clausklein$ sw_vers
ProductName:Mac OS X
ProductVersion: 10.5.8
BuildVersion:   9L30


On 08.07.2012, at 14:47, Richard Wackerbarth wrote:

If we need to test some other configurations, just let me know which  
repositories/branches I should use for testing.


--

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

[cmake-developers] Why not disable the Unix Makefiles generator for Darwin?

2012-07-14 Thread Claus Klein

I am wondering why Nina generator is disabled on Darwin.
I have just the same problems with Unix Makefile generator?

Or it would be nice to enable Ninja too for Darwin, I need it to cross  
compile my projects ...


Claus

See

http://open.cdash.org/index.php?project=CMakedisplay=projectfiltercount=3showfilters=1filtercombine=andfield1=buildname/stringcompare1=65value1=Darwin-i386field2=site/stringcompare2=61value2=claus-kleins-macbook-pro.localfield3=buildstamp/stringcompare3=66value3=Experimentalcollapse=0

The test is based on current nightly build.

But I use the newest MacPorts gcc-4.7:

$ sw_vers
ProductName:Mac OS X
ProductVersion: 10.5.8
BuildVersion:   9L30

$ i386-apple-darwin9-gcc-4.7.1 --version
i386-apple-darwin9-gcc-4.7.1 (MacPorts gcc47 4.7.1_1) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.

I make sure, that this generator and tools are used while cmake  
selftest!


export CC=/opt/local/bin/i386-apple-darwin9-gcc-mp-4.7
export CXX=/opt/local/bin/i386-apple-darwin9-g++-mp-4.7
export MAKECOMMAND=/opt/local/bin/gmake

# configure
/opt/local/bin/cmake -G Unix Makefiles - 
DCMAKE_TEST_GENERATOR:STRING=Unix Makefiles \
-DCMAKE_TEST_MAKEPROGRAM:FILEPATH=${MAKECOMMAND} - 
DCMAKE_ENABLE_NINJA:BOOL=ON \

-DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} \
-DCMAKE_LINKER:FILEPATH=/opt/local/bin/ld \
-DCMAKE_AR:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc-ar- 
mp-4.7 \
-DCMAKE_RANLIB:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc- 
ranlib-mp-4.7 \

-DMAKECOMMAND:STRING=${MAKECOMMAND} \
-DCMAKE_FIND_ROOT_PATH=/opt/local/libexec/gcc/i386-apple- 
darwin9/4.7.1/;/opt/local/bin \

\
-DBUILD_CursesDialog:BOOL=ON -DBUILD_QtDialog:BOOL=OFF \
../cmake


gmake Experimental
...


--

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

Re: [cmake-developers] Why not disable the Unix Makefiles generator for Darwin?

2012-07-14 Thread Richard Wackerbarth
By default, Ninja is disabled on Darwin because it has NEVER worked for a 
number of the scenarios in the test suite.
These have to do with building OSX packages, etc.) If YOU need to use certain 
ninja capabilities and are not affected by those shortcomings, you can easily 
build a version with ninja enabled.

As far as same problems with Unix Makefile generator, then that is because 
you are trying to do something out of the mainstream and THAT aspect (MacPorts 
gcc-4.7 ?) is broken. It doesn't really have to do with ninja support.

However, CMake never claimed to support compilers other than the ones released 
by the vendor. It's a nice extra when it does. But failing to do so is not 
mission critical.

Correctly building Mac OSX packaging IS a requirement.

Richard

--

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


Re: [cmake-developers] Why not disable the Unix Makefiles generator for Darwin?

2012-07-14 Thread Nicolas Desprès
I am almost ready to push a branch fixing all the failing tests on
Darwin with Ninja. So it is coming soon.

Cheers,
Nico

On Sat, Jul 14, 2012 at 2:33 PM, Claus Klein claus.kl...@arcormail.de wrote:
 I am wondering why Nina generator is disabled on Darwin.
 I have just the same problems with Unix Makefile generator?

 Or it would be nice to enable Ninja too for Darwin, I need it to cross
 compile my projects ...

 Claus

 See

 http://open.cdash.org/index.php?project=CMakedisplay=projectfiltercount=3showfilters=1filtercombine=andfield1=buildname/stringcompare1=65value1=Darwin-i386field2=site/stringcompare2=61value2=claus-kleins-macbook-pro.localfield3=buildstamp/stringcompare3=66value3=Experimentalcollapse=0

 The test is based on current nightly build.

 But I use the newest MacPorts gcc-4.7:

 $ sw_vers
 ProductName: Mac OS X
 ProductVersion: 10.5.8
 BuildVersion: 9L30

 $ i386-apple-darwin9-gcc-4.7.1 --version
 i386-apple-darwin9-gcc-4.7.1 (MacPorts gcc47 4.7.1_1) 4.7.1
 Copyright (C) 2012 Free Software Foundation, Inc.

 I make sure, that this generator and tools are used while cmake selftest!

 export CC=/opt/local/bin/i386-apple-darwin9-gcc-mp-4.7
 export CXX=/opt/local/bin/i386-apple-darwin9-g++-mp-4.7
 export MAKECOMMAND=/opt/local/bin/gmake

 # configure
 /opt/local/bin/cmake -G Unix Makefiles -DCMAKE_TEST_GENERATOR:STRING=Unix
 Makefiles \
 -DCMAKE_TEST_MAKEPROGRAM:FILEPATH=${MAKECOMMAND}
 -DCMAKE_ENABLE_NINJA:BOOL=ON \
 -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} \
 -DCMAKE_LINKER:FILEPATH=/opt/local/bin/ld \
 -DCMAKE_AR:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc-ar-mp-4.7 \

 -DCMAKE_RANLIB:FILEPATH=/opt/local/bin/i386-apple-darwin9-gcc-ranlib-mp-4.7
 \
 -DMAKECOMMAND:STRING=${MAKECOMMAND} \

 -DCMAKE_FIND_ROOT_PATH=/opt/local/libexec/gcc/i386-apple-darwin9/4.7.1/;/opt/local/bin
 \
 \
 -DBUILD_CursesDialog:BOOL=ON -DBUILD_QtDialog:BOOL=OFF \
 ../cmake


 gmake Experimental
 ...



 --

 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



-- 
Nicolas Desprès
--

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


Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread Patrick Gansterer

Hi,

at first: Sorry for the very long delay.

On Mon, 14 Nov 2011 21:12:24 +0100, Alexander Neundorf wrote:

On Saturday 12 November 2011, Patrick Gansterer wrote:

Hi,

I've created a very simple patch to add the basic support for 
WindowsCE to
CMake. I does not provide any automatically architecture detection 
or so

on, but enables user to use a vanilla CMake for compiling Windows CE
projects. If the patch gets accepted I'll write a few lines into the 
wiki.


Looks ok from my side. I'm not sure it's complete.
It hardcodes the ARM architecture.
WinCE supports more than that, right ?
But maybe ARM covers most users, I don't know.

In one of the tickets below there is a patch which tries to detect 
the
architecture and was not applied because of the way it tried to do 
this.


Should we considers the people which reported and commented on those 
bugs:

http://public.kitware.com/Bug/view.php?id=8486
http://public.kitware.com/Bug/view.php?id=8102
http://public.kitware.com/Bug/view.php?id=7919

They include patches, which are also in use by them.


I know of of the other patches and my work is based on them (see als 
https://gitorious.org/~paroga/cmake/parogas-cmake).
But since there is not much progress on the mentioned bugs, I'll try to 
upstream my solution in small reviewable patches.


-- Patrick
From 4579b8be19c0afae66a78691b705b7fcb8d6a935 Mon Sep 17 00:00:00 2001
From: Patrick Gansterer par...@paroga.com
Date: Sat, 14 Jul 2012 07:12:23 +0200
Subject: [PATCH] Added very basic Windows CE Makefile support

This patch enables CMake to create Makefiles targeting
Windows CE devices.
CMake needs to be run within an cross compile command prompt
and requires a toolchain file which sets CMAKE_SYSTEM_NAME
to WindowsCE and CMAKE_SYSTEM_PROCESSOR to the target
machine architecture (e.g. THUMB).
---
 Modules/Platform/Windows-cl.cmake   |   29 ++---
 Modules/Platform/WindowsCE-cl.cmake |   13 +
 Modules/Platform/WindowsCE.cmake|1 +
 3 files changed, 36 insertions(+), 7 deletions(-)
 create mode 100644 Modules/Platform/WindowsCE-cl.cmake
 create mode 100644 Modules/Platform/WindowsCE.cmake

diff --git a/Modules/Platform/Windows-cl.cmake 
b/Modules/Platform/Windows-cl.cmake
index be6abb6..691ac78 100644
--- a/Modules/Platform/Windows-cl.cmake
+++ b/Modules/Platform/Windows-cl.cmake
@@ -7,8 +7,13 @@ SET(WIN32 1)
 
 INCLUDE(Platform/cl)
 
-SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
-SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
+IF(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
+  SET(CMAKE_CREATE_WIN32_EXE /subsystem:windowsce /entry:WinMainCRTStartup)
+  SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:windowsce /entry:mainACRTStartup)
+ELSE(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
+  SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
+  SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
 
 IF(CMAKE_GENERATOR MATCHES Visual Studio 6)
SET (CMAKE_NO_BUILD_TYPE 1)
@@ -152,18 +157,28 @@ IF(MSVC_VERSION GREATER 1310)
   SET(CMAKE_CXX_LINK_EXECUTABLE CMAKE_COMMAND -E vs_link_exe 
${CMAKE_CXX_LINK_EXECUTABLE})
   SET(CMAKE_C_LINK_EXECUTABLE CMAKE_COMMAND -E vs_link_exe 
${CMAKE_C_LINK_EXECUTABLE})
 
+  IF(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
+STRING(TOUPPER ${MSVC_ARCHITECTURE_FAMILY} MSVC_ARCHITECTURE_FAMILY_UPPER)
+SET(CMAKE_PLATFORM_DEFINES /D_WIN32_WCE=0x500 /DUNDER_CE 
/D${MSVC_ARCHITECTURE_FAMILY} /D_${MSVC_ARCHITECTURE_FAMILY_UPPER}_)
+SET(CMAKE_C_STANDARD_LIBRARIES_INIT coredll.lib corelibc.lib ole32.lib 
oleaut32.lib uuid.lib commctrl.lib )
+SET(CMAKE_EXE_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT} 
/NODEFAULTLIB:oldnames.lib)
+  ELSE(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
+SET(CMAKE_PLATFORM_DEFINES /DWIN32)
+SET(CMAKE_DEBUG_PLATFORM_DEFINES /RTC1)
+SET(CMAKE_C_STANDARD_LIBRARIES_INIT kernel32.lib user32.lib gdi32.lib 
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib 
advapi32.lib )
+  ENDIF(CMAKE_SYSTEM_NAME MATCHES WindowsCE)
+
   SET(CMAKE_BUILD_TYPE_INIT Debug)
-  SET (CMAKE_CXX_FLAGS_INIT /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR)
-  SET (CMAKE_CXX_FLAGS_DEBUG_INIT /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1)
+  SET (CMAKE_CXX_FLAGS_INIT ${CMAKE_PLATFORM_DEFINES} /D_WINDOWS /W3 /Zm1000 
/EHsc /GR)
+  SET (CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_DEBUG_PLATFORM_DEFINES} /D_DEBUG 
/MDd /Zi /Ob0 /Od)
   SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT /MD /O1 /Ob1 /D NDEBUG)
   SET (CMAKE_CXX_FLAGS_RELEASE_INIT /MD /O2 /Ob2 /D NDEBUG)
   SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT /MD /Zi /O2 /Ob1 /D NDEBUG)
-  SET (CMAKE_C_FLAGS_INIT /DWIN32 /D_WINDOWS /W3 /Zm1000)
-  SET (CMAKE_C_FLAGS_DEBUG_INIT /D_DEBUG /MDd /Zi  /Ob0 /Od /RTC1)
+  SET (CMAKE_C_FLAGS_INIT ${CMAKE_PLATFORM_DEFINES} /D_WINDOWS /W3 /Zm1000)
+  SET (CMAKE_C_FLAGS_DEBUG_INIT ${CMAKE_DEBUG_PLATFORM_DEFINES} /D_DEBUG /MDd 
/Zi  /Ob0 /Od)
   SET (CMAKE_C_FLAGS_MINSIZEREL_INIT /MD /O1 /Ob1 /D NDEBUG)
   SET (CMAKE_C_FLAGS_RELEASE_INIT /MD /O2 /Ob2 /D NDEBUG)
  

[cmake-developers] [PATCH] Cleanup AddPlatformDefinitions() of Visual Studio generators

2012-07-14 Thread Patrick Gansterer

see attached patch

-- PatrickFrom 3ffb686016a7ba40688d28da8974609bf6c5d673 Mon Sep 17 00:00:00 2001
From: Patrick Gansterer par...@paroga.com
Date: Sat, 14 Jul 2012 09:38:54 +0200
Subject: [PATCH] Cleanup AddPlatformDefinitions() of Visual Studio
 generators

Move adding of definitions into cmGlobalVisualStudioGenerator to
share code and avoid duplicate architecture string literals.
---
 Source/cmGlobalVisualStudio10Generator.cxx  |9 +
 Source/cmGlobalVisualStudio10Generator.h|1 -
 Source/cmGlobalVisualStudio10IA64Generator.cxx  |3 +--
 Source/cmGlobalVisualStudio10Win64Generator.cxx |3 +--
 Source/cmGlobalVisualStudio11ARMGenerator.cxx   |   15 ++-
 Source/cmGlobalVisualStudio11ARMGenerator.h |4 +---
 Source/cmGlobalVisualStudio11Generator.cxx  |9 +
 Source/cmGlobalVisualStudio11Generator.h|1 -
 Source/cmGlobalVisualStudio11Win64Generator.cxx |8 ++--
 Source/cmGlobalVisualStudio11Win64Generator.h   |2 +-
 Source/cmGlobalVisualStudio6Generator.cxx   |5 ++---
 Source/cmGlobalVisualStudio7Generator.cxx   |8 +---
 Source/cmGlobalVisualStudio7Generator.h |1 -
 Source/cmGlobalVisualStudio8Generator.cxx   |   10 +-
 Source/cmGlobalVisualStudio8Generator.h |3 ---
 Source/cmGlobalVisualStudio9Generator.cxx   |9 +
 Source/cmGlobalVisualStudio9Generator.h |1 -
 Source/cmGlobalVisualStudioGenerator.cxx|   14 ++
 Source/cmGlobalVisualStudioGenerator.h  |5 +
 19 files changed, 42 insertions(+), 69 deletions(-)

diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 947a1c9..f8d9de0 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -19,6 +19,7 @@
 
 cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator()
 {
+  this-VersionId = MSVC10;
   this-FindMakeProgramFile = CMakeVS10FindMake.cmake;
   std::string vc10Express;
   this-ExpressEdition = cmSystemTools::ReadRegistryValue(
@@ -27,14 +28,6 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator()
 }
 
 //
-void cmGlobalVisualStudio10Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
-  mf-AddDefinition(MSVC10, 1);
-  mf-AddDefinition(MSVC_C_ARCHITECTURE_ID, X86);
-  mf-AddDefinition(MSVC_CXX_ARCHITECTURE_ID, X86);
-}
-
-//
 void cmGlobalVisualStudio10Generator::WriteSLNHeader(std::ostream fout)
 {
   fout  Microsoft Visual Studio Solution File, Format Version 11.00\n;
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index 060cdff..58de7da 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -38,7 +38,6 @@ public:
   virtual const char* GetName() const {
 return cmGlobalVisualStudio10Generator::GetActualName();}
   static const char* GetActualName() {return Visual Studio 10;}
-  virtual void AddPlatformDefinitions(cmMakefile* mf);
   
   /** Get the documentation entry for this generator.  */
   virtual void GetDocumentation(cmDocumentationEntry entry) const;
diff --git a/Source/cmGlobalVisualStudio10IA64Generator.cxx b/Source/cmGlobalVisualStudio10IA64Generator.cxx
index 5f70f6b..25dd88f 100644
--- a/Source/cmGlobalVisualStudio10IA64Generator.cxx
+++ b/Source/cmGlobalVisualStudio10IA64Generator.cxx
@@ -16,6 +16,7 @@
 //
 cmGlobalVisualStudio10IA64Generator::cmGlobalVisualStudio10IA64Generator()
 {
+  this-ArchitectureId = x64;
 }
 
 //
@@ -33,8 +34,6 @@ void cmGlobalVisualStudio10IA64Generator
 {
   this-cmGlobalVisualStudio10Generator::AddPlatformDefinitions(mf);
   mf-AddDefinition(CMAKE_FORCE_IA64, TRUE);
-  mf-AddDefinition(MSVC_C_ARCHITECTURE_ID, x64);
-  mf-AddDefinition(MSVC_CXX_ARCHITECTURE_ID, x64);
 }
 
 //
diff --git a/Source/cmGlobalVisualStudio10Win64Generator.cxx b/Source/cmGlobalVisualStudio10Win64Generator.cxx
index 49dc473..d0a0c49 100644
--- a/Source/cmGlobalVisualStudio10Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Win64Generator.cxx
@@ -16,6 +16,7 @@
 //
 cmGlobalVisualStudio10Win64Generator::cmGlobalVisualStudio10Win64Generator()
 {
+  this-ArchitectureId = x64;
 }
 
 //
@@ -33,8 +34,6 @@ void cmGlobalVisualStudio10Win64Generator
 {
   this-cmGlobalVisualStudio10Generator::AddPlatformDefinitions(mf);
   mf-AddDefinition(CMAKE_FORCE_WIN64, TRUE);
-  

[cmake-developers] [PATCH] VS: Add support for Windows CE

2012-07-14 Thread Patrick Gansterer

see attached patches

This considers most of the patches in mantis. It still has some issues, 
but it's easier to post follow up patches to improve an existing code 
base, than starting with nothing.


-- PatrickFrom 67bd522e90cdef9f857f57ecb1f41148c518476e Mon Sep 17 00:00:00 2001
From: Patrick Gansterer par...@paroga.com
Date: Sat, 14 Jul 2012 11:23:34 +0200
Subject: [PATCH 1/4] VS: Support setting correct subsystem and entry point
 for WinCE

WinCE has only one SubSystem. So the WIN32_EXECUTABLE property
must be handled via the EntryPointSymbol in the vcproj files.
---
 Source/cmGlobalVisualStudioGenerator.h   |3 +++
 Source/cmLocalVisualStudio7Generator.cxx |   20 +---
 Source/cmLocalVisualStudio7Generator.h   |1 +
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/Source/cmGlobalVisualStudioGenerator.h 
b/Source/cmGlobalVisualStudioGenerator.h
index f2fbefd..5c8228a 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -69,6 +69,9 @@ public:
   i.e. Can I build Debug and Release in the same tree? */
   virtual bool IsMultiConfig() { return true; }
 
+  /** Return true if building for Windows CE */
+  virtual bool TargetsWindowsCE() const { return false; }
+
   class TargetSet: public std::setcmTarget* {};
   struct TargetCompare
   {
diff --git a/Source/cmLocalVisualStudio7Generator.cxx 
b/Source/cmLocalVisualStudio7Generator.cxx
index f2ab79d..5d0d4d6 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -229,6 +229,9 @@ void cmLocalVisualStudio7Generator
   this-FortranProject =
 static_castcmGlobalVisualStudioGenerator*(this-GlobalGenerator)
 -TargetIsFortranOnly(target);
+  this-WindowsCEProject =
+static_castcmGlobalVisualStudioGenerator*(this-GlobalGenerator)
+-TargetsWindowsCE();
 
   // Intel Fortran for VS10 uses VS9 format .vfproj files.
   VSVersion realVersion = this-Version;
@@ -1172,6 +1175,8 @@ void 
cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream fout,
 cmComputeLinkInformation cli = *pcli;
 const char* linkLanguage = cli.GetLinkLanguage();
 
+bool isWin32Executable = target.GetPropertyAsBool(WIN32_EXECUTABLE);
+
 // Compute the variable name to lookup standard libraries for this
 // language.
 std::string standardLibsVar = CMAKE_;
@@ -1219,15 +1224,24 @@ void 
cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream fout,
   {
   fout  \t\t\t\tGenerateDebugInformation=\TRUE\\n;
   }
-if ( target.GetPropertyAsBool(WIN32_EXECUTABLE) )
+if ( this-WindowsCEProject )
+  {
+  fout  \t\t\t\tSubSystem=\9\\n
+\t\t\t\tEntryPointSymbol=\
+(isWin32Executable ? WinMainCRTStartup : mainACRTStartup)
+\\n;
+  }
+else if ( this-FortranProject )
   {
   fout  \t\t\t\tSubSystem=\
-(this-FortranProject? subSystemWindows : 2)  \\n;
+(isWin32Executable ? subSystemWindows : subSystemConsole)
+\\n;
   }
 else
   {
   fout  \t\t\t\tSubSystem=\
-(this-FortranProject? subSystemConsole : 1)  \\n;
+(isWin32Executable ? 2 : 1)
+\\n;
   }
 std::string stackVar = CMAKE_;
 stackVar += linkLanguage;
diff --git a/Source/cmLocalVisualStudio7Generator.h 
b/Source/cmLocalVisualStudio7Generator.h
index 9aa408e..9ce25df 100644
--- a/Source/cmLocalVisualStudio7Generator.h
+++ b/Source/cmLocalVisualStudio7Generator.h
@@ -122,6 +122,7 @@ private:
   cmVS7FlagTable const* ExtraFlagTable;
   std::string ModuleDefinitionFile;
   bool FortranProject;
+  bool WindowsCEProject;
   std::string PlatformName; // Win32 or x64 
   cmLocalVisualStudio7GeneratorInternals* Internal;
 };
-- 
1.7.10.msysgit.1

From 910b9b6feec9a48fda5751d84f238005fee8db79 Mon Sep 17 00:00:00 2001
From: Patrick Gansterer par...@paroga.com
Date: Sat, 14 Jul 2012 11:49:12 +0200
Subject: [PATCH 2/4] VS: Added cmGlobalGenerator::AddTryCompileCacheEntries()

---
 Source/cmGlobalGenerator.h |3 +++
 Source/cmMakefile.cxx  |1 +
 2 files changed, 4 insertions(+)

diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index ce91793..ebf3d80 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -50,6 +50,9 @@ public:
   /** Get the documentation entry for this generator.  */
   virtual void GetDocumentation(cmDocumentationEntry entry) const;
 
+  ///! Add inital cache entries for TryCompile.
+  virtual void AddTryCompileCacheEntries(cmake cm) { };
+
   /**
* Create LocalGenerators and process the CMakeLists files. This does not
* actually produce any makefiles, DSPs, etc.
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 7b6c450..0c13534 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2948,6 +2948,7 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
   cm.SetStartOutputDirectory(bindir);
   

Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread Rolf Eike Beer
Patrick Gansterer wrote:
 Hi,
 
 at first: Sorry for the very long delay.

I do not really care for this, but just some minor stylistic nitpicks:

-in Modules/Platform/Windows-cl.cmake you initialize some variables in both 
branches of an if(). You should keep the order you set them the same in both 
branches as is makes comparing this much easier.

-you don't set CMAKE_DEBUG_PLATFORM_DEFINES for WinCE. I don't know if that is 
a bug or intentional. If it is a bug then set it, otherwise I would add a 
comment why this isn't needed.

Eike
-- 

signature.asc
Description: This is a digitally signed message part.
--

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

Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread Patrick Gansterer

Hi,

On Sat, 14 Jul 2012 21:08:24 +0200, Rolf Eike Beer wrote:
-in Modules/Platform/Windows-cl.cmake you initialize some variables 
in both
branches of an if(). You should keep the order you set them the same 
in both

branches as is makes comparing this much easier.


Where exactly? I don't find it. :-/


-you don't set CMAKE_DEBUG_PLATFORM_DEFINES for WinCE. I don't know
if that is
a bug or intentional. If it is a bug then set it, otherwise I would 
add a

comment why this isn't needed.


The WinCE compier has no support for /RTC1.

This patch also includes the changes mentioned in 
http://public.kitware.com/pipermail/cmake-developers/2011-November/002510.html.


-- Patrick
--

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


Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread David Cole
On Sat, Jul 14, 2012 at 3:30 PM, Patrick Gansterer par...@paroga.comwrote:

 Hi,


 On Sat, 14 Jul 2012 21:08:24 +0200, Rolf Eike Beer wrote:

 -in Modules/Platform/Windows-cl.**cmake you initialize some variables in
 both
 branches of an if(). You should keep the order you set them the same in
 both
 branches as is makes comparing this much easier.


 Where exactly? I don't find it. :-/


  -you don't set CMAKE_DEBUG_PLATFORM_DEFINES for WinCE. I don't know
 if that is
 a bug or intentional. If it is a bug then set it, otherwise I would add a
 comment why this isn't needed.


 The WinCE compier has no support for /RTC1.

 This patch also includes the changes mentioned in
 http://public.kitware.com/**pipermail/cmake-developers/**
 2011-November/002510.htmlhttp://public.kitware.com/pipermail/cmake-developers/2011-November/002510.html
 .

 -- Patrick

 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at http://www.kitware.com/**
 opensource/opensource.htmlhttp://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/**CMake_FAQhttp://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://public.kitware.com/cgi-**bin/mailman/listinfo/cmake-**developershttp://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers



Patrick,

Thanks for your work on this. I'll review this stuff on Monday or Tuesday
and apply the patches and merge to next if all looks well.

Part of the problem I've always had with other platform support on
Windows or Visual Studio is that we have literally ZERO dashboard coverage
of these platforms.

Is there any way you (or somebody else who cares about these platforms) can
set up a CMake dashboard to test the platform and to make sure that it
submits nightly so that if we change something surrounding this code, we
have a chance at catching unintended breakages *before* we make a CMake
release?

This thread, or one like it, probably deserves a cc to the users list as
well to see if somebody there can submit such dashboards. From the activity
in mantis, it does seem to be a popular issue. Lots of folks will be glad
to see stuff like this go in.


Thanks,
David
--

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

Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread Rolf Eike Beer
Patrick Gansterer wrote:
 Hi,
 
 On Sat, 14 Jul 2012 21:08:24 +0200, Rolf Eike Beer wrote:
  -in Modules/Platform/Windows-cl.cmake you initialize some variables
  in both
  branches of an if(). You should keep the order you set them the same
  in both
  branches as is makes comparing this much easier.
 
 Where exactly? I don't find it. :-/

Directly before that:

  -you don't set CMAKE_DEBUG_PLATFORM_DEFINES for WinCE. I don't know
  if that is
  a bug or intentional. If it is a bug then set it, otherwise I would
  add a
  comment why this isn't needed.
 
 The WinCE compier has no support for /RTC1.

But you don't add any of the other things you set for release configuration 
either, that's what wonders me.

Eike
-- 

signature.asc
Description: This is a digitally signed message part.
--

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

Re: [cmake-developers] [PATCH] Added very basic Windows CE Makefile support

2012-07-14 Thread Patrick Gansterer
Hi,

Am 14.07.2012 um 22:08 schrieb David Cole:

 On Sat, Jul 14, 2012 at 3:30 PM, Patrick Gansterer par...@paroga.com wrote:
 Hi,
 
 
 On Sat, 14 Jul 2012 21:08:24 +0200, Rolf Eike Beer wrote:
 -in Modules/Platform/Windows-cl.cmake you initialize some variables in both
 branches of an if(). You should keep the order you set them the same in both
 branches as is makes comparing this much easier.
 
 Where exactly? I don't find it. :-/
 
 
 -you don't set CMAKE_DEBUG_PLATFORM_DEFINES for WinCE. I don't know
 if that is
 a bug or intentional. If it is a bug then set it, otherwise I would add a
 comment why this isn't needed.
 
 The WinCE compier has no support for /RTC1.
 
 This patch also includes the changes mentioned in 
 http://public.kitware.com/pipermail/cmake-developers/2011-November/002510.html.
 
 -- Patrick
 
 --
 
 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
 
 
 Patrick,
 
 Thanks for your work on this. I'll review this stuff on Monday or Tuesday and 
 apply the patches and merge to next if all looks well.
 
 Part of the problem I've always had with other platform support on Windows 
 or Visual Studio is that we have literally ZERO dashboard coverage of these 
 platforms.
 
 Is there any way you (or somebody else who cares about these platforms) can 
 set up a CMake dashboard to test the platform and to make sure that it 
 submits nightly so that if we change something surrounding this code, we have 
 a chance at catching unintended breakages *before* we make a CMake release?

I'll have a look at it and try to set something up.

 
 This thread, or one like it, probably deserves a cc to the users list as well 
 to see if somebody there can submit such dashboards. From the activity in 
 mantis, it does seem to be a popular issue. Lots of folks will be glad to see 
 stuff like this go in.

-- Patrick

--

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