Re: [cmake-developers] cmake selftest use different compiler and binutils as configured on Darwin
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?
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?
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?
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
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
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
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
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
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
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
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
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