[cmake-developers] No next-master merge this week?

2012-03-01 Thread Eric Noulard
Hi guys,

There was no next-master merge this week?
Is there any issue?

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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] Two pull requests

2012-03-01 Thread Brad King

On 2/29/2012 4:58 PM, Yury G. Kudryashov wrote:

Brad King wrote:

Our style checker limits .h and .cxx files to 79 columns.
Some of the updated comments exceed this limit.  Please
reformat them.

Where can I find the style checker sources? I'll run it to pre-commit hook
then.


The CMAKE_USE_KWSTYLE option enables it but you need to build
the KWStyle tool.  Our dashboard also runs it on the repository
to catch post-commit failures.

However, the *only* check it currently performs is the column
limit AFAIK.  Someday I may get around to adding the check in
our pre-commit hook.

-Brad
--

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] Two pull requests

2012-03-01 Thread Brad King

On 2/29/2012 5:34 PM, Yury G. Kudryashov wrote:

Our style checker limits .h and .cxx files to 79 columns.
Some of the updated comments exceed this limit.  Please

Force-pushed.


Thanks.  It conflicts with the add-const-qualifiers topic
in cmPropertyDefinition::IsChained.  I merged that into
this topic to resolve it.  Then I merged to 'next' for
testing.


BTW, what is the policy for
const MyClass*
vs
MyClass const*?


I personally prefer the latter except for const char* because
it is in such common use.  We don't have a strict requirement.


Which parts of STL are allowed in sources that are needed for bootstrap?


There is no special restriction for bootstrap v. main build
that I remember.

Any of the basic containers are allowed.  We tend to avoid the
algorithms beyond any already in use because many older STL
implementations where CMake builds are limited.

-Brad
--

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] Nightly Binary not building on windows

2012-03-01 Thread Rolf Eike Beer
 The Linux nightly fails the same way:
 
 CMake Error at CMakeLists.txt:55 (message):
ImageMagick_FOUND is set but no version number is defined
 Call Stack (most recent call first):
CMakeLists.txt:65 (check_version_string)

I have removed the requirement for ImageMagick version string since it also 
breaks e.g. on slicer.orl.

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] Two pull requests

2012-03-01 Thread Eric Noulard
2012/3/1 Brad King brad.k...@kitware.com:
 On 3/1/2012 10:47 AM, Eric Noulard wrote:

 Last time I tried to enable KWStyle hooks following this:
 http://www.cmake.org/Wiki/Git/Hooks#Setup


 That page is generic for many of Kitware's projects and
 is not specific to CMake.  The same hooks are also used
 for ITK.  For a while the kwstyle and uncrustify hooks
 were added and used by ITK.  Later they were moved over
 to ITK proper and are now invoked through the generic
 hooks' chaining feature.  They no longer exist in the
 generic hooks outright.  I removed the discussion of
 them from the wiki page.

 I'm not a big fan of automatic code formatting and
 layout tools.  There are almost always exceptions and
 special cases.  I'd rather cover that during code review.

Yes I agree with that but may be using them as pre-commit
warning on changed files may be interesting.

Nevertheless checking for no more than 79 column style
certainly does not require such tool.

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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] [CMake 0013008]: CFLAGs set in toolchain file are overwritten

2012-03-01 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=13008 
== 
Reported By:David Coles
Assigned To:
== 
Project:CMake
Issue ID:   13008
Category:   CMake
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2012-03-01 21:27 EST
Last Modified:  2012-03-01 21:27 EST
== 
Summary:CFLAGs set in toolchain file are overwritten
Description: 
It's possible to set common CMAKE variables in a toolchain file with the
assumption that they'll be used in external builds. This would be the ideal
location for toolchain specific compiler flags, but unfortunately these are
overwritten after the toolchain testing is complete.

A workaround[1] is to set the CFLAGS to the CMAKE Cache using something like
`SET(CMAKE_C_FLAGS -Wall CACHE STRING Toolchain)` but this breaks the use of
CFLAGS environment variable.

[1] http://www.mail-archive.com/cmake@cmake.org/msg40214.html

Steps to Reproduce: 
# Toolchain.cmake
# ===
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)

set( CLANG True )

# Set the cross compiler
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)

set(CMAKE_C_FLAGS -Wextra)
#set(CMAKE_C_FLAGS -Wextra CACHE STRING Toolchain)
set(MY_C_FLAGS -Wextra)
MESSAGE(STATUS Toolchain CMAKE_C_FLAGS: ${CMAKE_C_FLAGS})
MESSAGE(STATUS Toolchain MY_C_FLAGS: ${MY_C_FLAGS})



# CMakeLists.txt
# ==
PROJECT (Test)
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)

# Expect that toolchain variables are still set
MESSAGE (STATUS CMAKE_C_FLAGS: ${CMAKE_C_FLAGS})
MESSAGE (STATUS MY_C_FLAGS: ${MY_C_FLAGS})


# Command Line
# 
$ rm CMakeCache.txt; cmake -DCMAKE_TOOLCHAIN_FILE=Toolchain.cmake .
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-03-01 21:27 David ColesNew 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


Re: [CMake] How to include the generated header file?

2012-03-01 Thread Tan, Tom (Shanghai)
Thanks. Speaking of bugs, there's one more in the generated header file:
#ifdef machine_side-msvc-32bit_EXPORTS
/* We are building this library */
#  define HostlinkPP_EXPORT __declspec(dllexport)
#else
/* We are using this library */
#  define HostlinkPP_EXPORT __declspec(dllimport)
#endif

The inserted comments breaks the line and invokes a warning in VC++. A
better way is like this :
 
#ifdef machine_side-msvc-32bit_EXPORTS 
#  define HostlinkPP_EXPORT __declspec(dllexport)/* We are
building this library */
#else
#  define HostlinkPP_EXPORT __declspec(dllimport)/* We are
using this library */
#endif

-Original Message-
From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf
Of Michael Wild
Sent: Thursday, March 01, 2012 3:33 PM
To: cmake@cmake.org
Subject: Re: [CMake] How to include the generated header file?

On 03/01/2012 07:21 AM, Tan, Tom (Shanghai) wrote:
 According to the doc,  generate_export_header(somelib) generates a 
 file in the ${CMAKE_CURRENT_BUILD_DIR} called somelib_export.h.
 What's the recommended way to include this   somelib_export.h.
 #include somelib_export.h does not work. And 
 ${CMAKE_CURRENT_BUILD_DIR} is empty too.  I am using v2.8.7. The 
 header file does get generated, only the doc is not very helpful on 
 how to include it.

include_directories(${CMAKE_CURRENT_BINARY_DIR})

That's a bug in the documentation, the variable CMAKE_CURRENT_BUILD_DIR
does not exist (notice the difference is between BUILD and BINARY)...

Michael
--

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://www.cmake.org/mailman/listinfo/cmake
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread David Cole
Are you using CMake 2.8.7? If not, please upgrade and try with that version. If 
there's still a problem after that, let us know.


On Mar 1, 2012, at 12:24 AM, Johannes Sasongko sason...@gmail.com wrote:

 Is anyone having the problem where CMake creates VS10 project files with 
 GenerateDebugInformation set to false for all (including Debug  
 RelWithDebInfo) targets? If I remember correctly, this did not happen when 
 using the VS9 generator, but I don't have VS9 handy to test.
 
 -- 
 Johannes
 --
 
 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://www.cmake.org/mailman/listinfo/cmake
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] New platform which did not deserve upstream: how to avoid warning?

2012-03-01 Thread Eric Noulard
Hi,

I'm working on a research platform for which  I wrote a toolchain file.
Let's say this platform is called Blah

how do I avoid the

System is unknown to cmake, create:
Platform/Blah to use this system, please send your config file to
cm...@www.cmake.org so it can be added to cmake

Besides that all is OK (because the C compiler is GCC based).

So I wonder how I can do to avoid the warning.

There is no benefit to put this platform in upstream CMake so I can
write a dummy Blah.cmake platform?
Putting the file in a local (to my project) Platform/ directory seems
ok if I modify
the CMAKE_MODULE_PATH before project() command but is this the correct
way of work?



-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread Bill Hoffman

On 3/1/2012 9:00 AM, David Cole wrote:

Are you using CMake 2.8.7? If not, please upgrade and try with that
version. If there's still a problem after that, let us know.
It might also be flags that you are setting in your project or cache 
that is doing this.  Do you set CMAKE_CXX_FLAGS?


-Bill
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread Johannes Sasongko
Are you using CMake 2.8.7? If not, please upgrade and try with that  
version. If there's still a problem after that, let us know.


Yes, I'm using 2.8.7. I've tested it on a very simple project (essentially  
just a Hello World with one lib and one exe), from an empty cache/build  
dir, and am still seeing the problem.


--
Johannes
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread aaron . meadows
Can you attach that project?  I'll test it out under similar conditions.
Are you using the free version of visual studio?

Aaron Meadows

-Original Message-
From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf
Of Johannes Sasongko
Sent: Thursday, March 01, 2012 9:01 AM
To: cmake@cmake.org
Subject: Re: [CMake] Visual Studio 10 - GenerateDebugInformation always
false

 Are you using CMake 2.8.7? If not, please upgrade and try with that 
 version. If there's still a problem after that, let us know.

Yes, I'm using 2.8.7. I've tested it on a very simple project
(essentially just a Hello World with one lib and one exe), from an empty
cache/build dir, and am still seeing the problem.

-- 
Johannes
--

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://www.cmake.org/mailman/listinfo/cmake

This email was sent to you by Thomson Reuters, the global news and information 
company. Any views expressed in this message are those of the individual 
sender, except where the sender specifically states them to be the views of 
Thomson Reuters.
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread John Drescher
On Thu, Mar 1, 2012 at 10:01 AM, Johannes Sasongko sason...@gmail.com wrote:
 Are you using CMake 2.8.7? If not, please upgrade and try with that
 version. If there's still a problem after that, let us know.


 Yes, I'm using 2.8.7. I've tested it on a very simple project (essentially
 just a Hello World with one lib and one exe), from an empty cache/build dir,
 and am still seeing the problem.


I am not seeing this at all on Windows 7, Windows 2008 with 2.8.7 and
Visual Studio 2010 or Visual Studio 2008.

Can you make a small example?

John
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Matthew Schuchard
Hi, back converting another software distribution to a CMake-based build 
system.  This one has a heavy reliance on Fortran 90 modules, and I 
noticed CMake has some issues with Fortran 90 modules.


In particular, I have noticed that CMake cannot do module dependency 
scanning outside of the current directory/subdirectories.


For example, if /topdir/dir1/src/ has a Fortran file with a dependency 
on a module built in /topdir/dir2/mod/, CMake will not instruct the 
module in /dir2/mod/ to be built before the Fortran file in /dir1/src/.  
This is not necessarily an issue as I can simply instruct CMake to build 
the /dir2/mod directory before the /dir1/src/ directory via 
add_subdirectory ordering.


According to previous mailing list entries found via Google, CMake does 
have functioning dependency scanning within the same directory or 
subdirectories.


However, when attempting to build Fortran 90 files in a directory, I 
have encountered the following error:


*** No rule to make target `dir/CMakeFiles/target.a.dir/foo2.mod.stamp', 
needed by `dir/foo.tmp.f'.  Stop.


where both foo and foo2 are Fortran 90 files and independently 
preprocessed by /lib/cpp in a custom_command (hence the extension 
renamed to .tmp.f).  It appears CMake recognizes that the module built 
from foo2.f90 is needed for foo.f90 (.mod.stamp file), but instead of 
then building the dependent module, gnumake fails.


It seems that maybe a solution here would be for CMake to place its 
.mod.stamp files in the /CMakefiles directories during configuration 
time.  This method would allow the dependency scanning to find necessary 
modules in other directories because of the already present .mod.stamp 
files and build their Fortran 90 files first.  Also, it would hopefully 
avoid the error I have found where a Fortran 90 file is dependent upon a 
module built from another Fortran 90 file in the same directory.


Another potentially great feature which I had requested earlier (but 
hopefully mentioning again helps) is to separate the include_directories 
function from the module paths, since non-GNUFortran compilers (e.g. 
ABSoft) may have different flags for module paths and CMake currently 
doubles all includes and module paths as each other.


Thanks for any feedback and/or assistance.  Using CMake 2.8.6.
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Functions inherit parent variables?

2012-03-01 Thread Robert Dailey
No, the print statement is not missing. In fact it prints just fine
(function test() is able to obtain the value for variable SOME_TEST).

This isn't exactly the same as C++. In C++, a function does not have access
to the calling function's local declarations. In order for the function to
get access to these, they must be passed in as parameters.

-
Robert Dailey


On Wed, Feb 29, 2012 at 9:54 PM, Michael Hertling mhertl...@online.dewrote:

 On 03/01/2012 01:38 AM, Robert Dailey wrote:
  I ran a quick test:
 
 
  function( test )
  message( SOME_TEST: ${SOME_TEST} )
  endfunction()
 
  function( start )
  set( SOME_TEST HELLO WORLD )
  test()
  endfunction()
 
  start()
 
 
  Seems like a function has access to the calling scope's defined
 variables.
  I thought because functions created a new scope, that excluded access to
  variables defined in the outer scope (i.e. calling scope)
 
  Can someone explain?

 The line SOME_TEST: HELLO WORLD is missing, I guess?

 As usual with scoping mechanisms, there is access to the outer scope
 from within the inner scope: Read access via ordinary dereferencing
 and write access via PARENT_SCOPE. It's quite the same as in C/C++
 with the { and } tokens; see also the C++ :: operator.

 Regards,

 Michael
 --

 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://www.cmake.org/mailman/listinfo/cmake

--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Brad King

On 3/1/2012 11:21 AM, Matthew Schuchard wrote:

In particular, I have noticed that CMake cannot do module dependency scanning 
outside of the current directory/subdirectories.

For example, if /topdir/dir1/src/ has a Fortran file with a dependency on a 
module built in /topdir/dir2/mod/, CMake will not instruct the module in 
/dir2/mod/ to be built before the Fortran file in /dir1/src/. This is not 
necessarily an issue as I can simply instruct CMake to build the /dir2/mod
directory before the /dir1/src/ directory via add_subdirectory ordering.


When scanning dependencies of sources in a given target CMake
looks at targets to which that target links to find possible
module providers.  If a target uses a module provided by
another target but does not link to it then the link will
fail.

It does not matter whether the targets are in the same
directory or different directories so long as they are
all handled during a single CMake configuration.  The
case is even covered in the test suite:

http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/CMakeLists.txt;hb=v2.8.7
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/a.f90;hb=v2.8.7
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/b.f90;hb=v2.8.7
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/CMakeLists.txt;hb=v2.8.7
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/main.f90;hb=v2.8.7

-Brad
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Matthew Schuchard

I did see those links on the bug report for Fortran 90 module dependency in 
subdirectories,
but I am having some kind of XML schema error preventing me from viewing them 
in Firefox.

If I understand you correctly, you are saying that to generate the module 
dependencies in my example case,
I would need to do:

/topdir/dir1/src/CMakeLists.txt
add_library(dir1src foo1.f90)
target_link_libraries(dir1src dir2mod)

/topdir/dir2/mod/CMakeLists.txt
add_library(dir2mod foo2.f90)

but this seems odd to me so I am not sure if I am interpreting it correctly.  
Also, this seems
to suggest that for my same directory dependency generation error I would need 
to do:

add_library(thefoo foo.f90 foo2.f90 foo3.f90)
target_link_libraries(thefoo thefoo)

which also seems awkward and has not fixed my error in same directory Fortran 
90 module dependency checks.

On 3/1/2012 11:21 AM, Matthew Schuchard wrote:

/  In particular, I have noticed that CMake cannot do module dependency 
scanning outside of the current directory/subdirectories.

//
//  For example, if /topdir/dir1/src/ has a Fortran file with a dependency on 
a module built in /topdir/dir2/mod/, CMake will not instruct the module in /dir2/mod/ 
to be built before the Fortran file in /dir1/src/. This is not necessarily an issue 
as I can simply instruct CMake to build the /dir2/mod
//  directory before the /dir1/src/ directory via add_subdirectory ordering.
/

 When scanning dependencies of sources in a given target CMake
 looks at targets to which that target links to find possible
 module providers.  If a target uses a module provided by
 another target but does not link to it then the link will
 fail.

 It does not matter whether the targets are in the same
 directory or different directories so long as they are
 all handled during a single CMake configuration.  The
 case is even covered in the test suite:

 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/CMakeLists.txt;hb=v2.8.7
 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/a.f90;hb=v2.8.7
 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/b.f90;hb=v2.8.7
 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/CMakeLists.txt;hb=v2.8.7
 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/main.f90;hb=v2.8.7

 -Brad


--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] New platform which did not deserve upstream: how to avoid warning?

2012-03-01 Thread Alexander Neundorf
On Thursday 01 March 2012, Eric Noulard wrote:
 Hi,
 
 I'm working on a research platform for which  I wrote a toolchain file.
 Let's say this platform is called Blah
 
 how do I avoid the
 
 System is unknown to cmake, create:
 Platform/Blah to use this system, please send your config file to
 cm...@www.cmake.org so it can be added to cmake
 
 Besides that all is OK (because the C compiler is GCC based).
 
 So I wonder how I can do to avoid the warning.
 
 There is no benefit to put this platform in upstream CMake so I can
 write a dummy Blah.cmake platform?
 Putting the file in a local (to my project) Platform/ directory seems
 ok if I modify the CMAKE_MODULE_PATH before project() command but is this
 the correct way of work?

I'd say so.
What kind of platform is it ?
Something small embedded ?

Alex


--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Brad King

On 3/1/2012 2:38 PM, Matthew Schuchard wrote:

I did see those links on the bug report for Fortran 90 module dependency in 
subdirectories,
but I am having some kind of XML schema error preventing me from viewing them 
in Firefox.


To what bug report do you refer, and to what links?


If I understand you correctly, you are saying that to generate the module 
dependencies in my example case,


I must not understand your example case correctly.  Please post
a sample source tree tarball to reproduce it with CMakeLists.txt
files and the Fortran90 sources.

Thanks,
-Brad
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] New platform which did not deserve upstream: how to avoid warning?

2012-03-01 Thread Eric Noulard
2012/3/1 Alexander Neundorf a.neundorf-w...@gmx.net:
 On Thursday 01 March 2012, Eric Noulard wrote:
 Hi,

 I'm working on a research platform for which  I wrote a toolchain file.
 Let's say this platform is called Blah

 how do I avoid the

 System is unknown to cmake, create:
 Platform/Blah to use this system, please send your config file to
 cm...@www.cmake.org so it can be added to cmake

 Besides that all is OK (because the C compiler is GCC based).

 So I wonder how I can do to avoid the warning.

 There is no benefit to put this platform in upstream CMake so I can
 write a dummy Blah.cmake platform?
 Putting the file in a local (to my project) Platform/ directory seems
 ok if I modify the CMAKE_MODULE_PATH before project() command but is this
 the correct way of work?

 I'd say so.
 What kind of platform is it ?

Intel SCC:
http://techresearch.intel.com/ProjectDetails.aspx?Id=1

 Something small embedded ?

Not so small and not embbedable in a foreseen future.

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Matthew Schuchard

On 3/1/2012 2:38 PM, Matthew Schuchard wrote:

/  I did see those links on the bug report for Fortran 90 module dependency in 
subdirectories,

//  but I am having some kind of XML schema error preventing me from viewing 
them in Firefox.
/

 To what bug report do you refer, and to what links?


I cannot find it anymore, but it was from 2010/2011 and somebody had supplied a 
patch, but then you
replied by saying you were in the middle of developing a fix yourself.  Later 
on you provided the same
links you provided in the previous message as an example of it functioning now. 
 It was to fix Fortran 90
module dependency generation in subdirectories.


/  If I understand you correctly, you are saying that to generate the module 
dependencies in my example case,

/

 I must not understand your example case correctly.  Please post
 a sample source tree tarball to reproduce it with CMakeLists.txt
 files and the Fortran90 sources.



 Thanks,
 -Brad


Unfortunately, this software is also proprietary, but I have found that this 
person:
http://www.cmake.org/pipermail/cmake/2010-November/040832.html
had a very similar problem.

About fifteen messages down, it appears your suggestion was to manually add dependencies 
with add_dependencies
because of the build time Fortran 90 module dependency determination.

The problem is I need a Fortran 90 file to be built using a module from another 
Fortran 90 file in the same
directory and target, and I need this often.
So I need some global method.
I am guessing that Fortran 90 module dependency generation is not possible 
during configuration time?
Fortran and Ada making everything difficult.

Thanks for the assistance thus far.


--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Code and API review request for Qt5 CMake files

2012-03-01 Thread Alexander Neundorf
On Thursday 01 March 2012, Michael Hertling wrote:
 On 02/28/2012 10:03 PM, Alexander Neundorf wrote:
  ...will reply later in detail.
  
  Could you please go through the existing find-modules shipped with cmake
  which support COMPONENTS and make a summary of how they handle them ?
  
  At least FindQt4.cmake be default searches all components.
  
  Thanks
  Alex
 
 The following CMakeLists.txt can be used to systematically investigate
 the results of the component-aware find modules currently shipped with
 CMake, these are Find{Boost,GTK2,HDF5,ImageMagick,Java,OpenSceneGraph,
 Qt4,wxWidgets,XMLRPC}:
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
 PROJECT(FINDRESULTVARIABLES C CXX)
 SET(CMAKE_VERBOSE_MAKEFILE ON)
 
 FUNCTION(FindResultVariables pkg)
 SET(prefix ${pkg})
 IF(DEFINED ARGV1)
 SET(prefix ${ARGV1})
 ENDIF()
 UNSET(REQUIRED)
 IF(${pkg}_REQUIRED)
 SET(REQUIRED REQUIRED)
 ENDIF()
 FIND_PACKAGE(${pkg} COMPONENTS ${${pkg}_COMPONENTS} ${REQUIRED})
 MESSAGE(Begin: ${pkg} result variables)
 GET_DIRECTORY_PROPERTY(v VARIABLES)
 FOREACH(i IN LISTS v)
 IF(i MATCHES ^${prefix}.*_FOUND$)
 MESSAGE(${i}=${${i}})
 ENDIF()
 ENDFOREACH()
 MESSAGE(${prefix}_LIBRARIES: ${${prefix}_LIBRARIES})
 MESSAGE(End: ${pkg} result variables)
 ENDFUNCTION()
 
 FindResultVariables(Boost)
 FindResultVariables(GTK2)
 FindResultVariables(HDF5)
 FindResultVariables(ImageMagick)
 FindResultVariables(Java)
 FindResultVariables(OpenSceneGraph)
 FindResultVariables(Qt4 QT)
 FindResultVariables(wxWidgets)
 FindResultVariables(XMLRPC)

Thanks :-)
 
 HDF5, OpenSceneGraph and XMLRPC aren't installed on my system; my
 preliminary findings for the remaining packages are as follows:

Maybe you can have a look at the code of those ?

 (1) Searching unrequested components:
 
 Qt4: Yes.
 GTK2,ImageMagick: Partially.
 wxWidgets: All components if none are requested.
 
 The remaining modules don't search unrequested components.
 
 (2) Assigning *_*_FOUND variables:
 
 Qt4: Only for modules which are known and found.
 ImageMagick: Also for requested but unknown components.
 wxWidgets: No *_*_FOUND variables at all but forwards unknown
components to *_LIBRARIES variable without an error.
 
 The remaining modules assign only to *_*_FOUND variables for
 components which they know and which have been requested.
 
 (3) Respecting the REQUIRED flag:
 
 wxWidgets: REQUIRED ignored completely.

This is clearly a bug.

 Boost: SEND_ERROR instead of FATAL_ERROR.

This is somewhere between acceptable and bug.

 GTK2,Java: Bail out on unknown components even if not REQUIRED.

Depending on how unknown components should be handled, this is either ok or 
not.
I'm leaning towards supporting only known components, so the find-module or 
config file knows what it is doing.
In this case this would be correct behaviour, the programmer would see this 
error, not the user.

 The remaining modules bail out on unavailable requested components.
 
 (4) Assinging the package-related *_FOUND variable:
 
 Java: No *_FOUND variable at all although it's documented.

Bug.

 wxWidgets: TRUE even if requested components aren't found, see above.
 
 The remaining modules return FALSE if a requested component isn't found.
 
 My comments on these, say, multifarious findings are:

;-)

 Ad.(1): In general, automatically searching unrequested components
 does not mean a harm, but it is also not beneficial at all events:
 
 - No guarantee to catch all components - consider a component added
   later to the package - so no guarantee that all later *_*_FOUND
   variables have been assigned a definite value by FIND_PACKAGE().
 - Complicates find modules / config files due to REQUIRED/QUIET.
 - Potentially higher costs due to unneeded search operations.
 
 For the latter loint, there is a not-so-uncommon use case: Suppose
 a find module wants to check whether a library matches its header.
 Putting away cross-compiling issues for the moment, this requires
 building and running a test program. If it is to be performed for
 each Qt4 module, e.g., a FIND_PACKAGE(Qt4) invocation would most
 certainly be quite expensive. For these reasons, I usually advice
 to search only requested components, request all components going
 to be used and refer only to components having been requested.

In general this is not done in cmake, and also in general not recommened. 
Find-modules should simply use find_path(), find_library() etc.

 Ad.(2): Due to my guiding principle - refer only to FOUND variables
 which have been assigned a definite value by FIND_PACKAGE() - I do
 consider as important that a *_*_FOUND variable is assigned to for
 each requested component. FindImageMagick.cmake does it right, but
 the other modules - except for FindwxWidgets.cmake - have me check
 *_*_FOUND variables without a definite value for requested but un-
 known components. Again: The latters might become known one 

Re: [CMake] Fortran 90 Module Issues in CMake

2012-03-01 Thread Brad King

On 3/1/2012 3:50 PM, Matthew Schuchard wrote:

 I must not understand your example case correctly.  Please post
 a sample source tree tarball to reproduce it with CMakeLists.txt
 files and the Fortran90 sources.


Unfortunately, this software is also proprietary,


Perhaps you can construct a minimal sanitized example?

 but I have found that this person:

http://www.cmake.org/pipermail/cmake/2010-November/040832.html
had a very similar problem.


This one?

http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/32850/focus=32893


The problem is I need a Fortran 90 file to be built using a module from another 
Fortran 90 file in the same
directory and target, and I need this often.


This is expected to work.  If one Fortran 90 source file in
a single target provides a module and another one uses it then
CMake will detect this and add the proper make dependencies to
build them in the right order (and rebuild).

OTOH if one source in a library target, say a.f90 in libA
provides a module and another source in another target,
say b.f90 in libB requires the module, CMake will detect
it *if* libB links to libA (target_link_libraries).  This
is reasonable because libB couldn't possibly link without
getting symbols from libA since it uses A's module and
makes calls to it.  Directories don't matter.

-Brad
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] Need help with X11 issue: Xxf86vm video mode extensions

2012-03-01 Thread Alexander Neundorf
Hi,

on my system X11 comes with the X video mode extensions, consisting of a 
header xf86vmode.h and a library libXxf86vm.so.

Question is: are there (older, proprietary) systems, where this header exists, 
but there is no libXxf86vm.so ?

To check, you can run cmake on the attached CMakeLists.txt. If it says that it 
found the header, but not the library, please let me know.

Thanks
Alex
cmake_minimum_required(VERSION 2.8)

find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h )
find_library(X11_Xxf86vm_LIB Xxf86vm)

message(STATUS inc dir: ${X11_xf86vmode_INCLUDE_PATH} lib: ${X11_Xxf86vm_LIB})

if (X11_xf86vmode_INCLUDE_PATH AND NOT X11_Xxf86vm_LIB)
  message(FATAL_ERROR Include dir found but no library found !)
endif()

--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Code and API review request for Qt5 CMake files

2012-03-01 Thread Michael Hertling
On 03/01/2012 10:08 PM, Alexander Neundorf wrote:
 On Thursday 01 March 2012, Michael Hertling wrote:
 On 02/28/2012 10:03 PM, Alexander Neundorf wrote:
 ...will reply later in detail.

 Could you please go through the existing find-modules shipped with cmake
 which support COMPONENTS and make a summary of how they handle them ?

 At least FindQt4.cmake be default searches all components.

 Thanks
 Alex

 The following CMakeLists.txt can be used to systematically investigate
 the results of the component-aware find modules currently shipped with
 CMake, these are Find{Boost,GTK2,HDF5,ImageMagick,Java,OpenSceneGraph,
 Qt4,wxWidgets,XMLRPC}:

 CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
 PROJECT(FINDRESULTVARIABLES C CXX)
 SET(CMAKE_VERBOSE_MAKEFILE ON)

 FUNCTION(FindResultVariables pkg)
 SET(prefix ${pkg})
 IF(DEFINED ARGV1)
 SET(prefix ${ARGV1})
 ENDIF()
 UNSET(REQUIRED)
 IF(${pkg}_REQUIRED)
 SET(REQUIRED REQUIRED)
 ENDIF()
 FIND_PACKAGE(${pkg} COMPONENTS ${${pkg}_COMPONENTS} ${REQUIRED})
 MESSAGE(Begin: ${pkg} result variables)
 GET_DIRECTORY_PROPERTY(v VARIABLES)
 FOREACH(i IN LISTS v)
 IF(i MATCHES ^${prefix}.*_FOUND$)
 MESSAGE(${i}=${${i}})
 ENDIF()
 ENDFOREACH()
 MESSAGE(${prefix}_LIBRARIES: ${${prefix}_LIBRARIES})
 MESSAGE(End: ${pkg} result variables)
 ENDFUNCTION()

 FindResultVariables(Boost)
 FindResultVariables(GTK2)
 FindResultVariables(HDF5)
 FindResultVariables(ImageMagick)
 FindResultVariables(Java)
 FindResultVariables(OpenSceneGraph)
 FindResultVariables(Qt4 QT)
 FindResultVariables(wxWidgets)
 FindResultVariables(XMLRPC)
 
 Thanks :-)
  
 HDF5, OpenSceneGraph and XMLRPC aren't installed on my system; my
 preliminary findings for the remaining packages are as follows:
 
 Maybe you can have a look at the code of those ?

Perhaps, someone who has these packages already installed can take a
look at them in the meantime and run the above-noted CMakeLists.txt.
Probably, this will provide for faster results.

 (1) Searching unrequested components:

 Qt4: Yes.
 GTK2,ImageMagick: Partially.
 wxWidgets: All components if none are requested.

 The remaining modules don't search unrequested components.

 (2) Assigning *_*_FOUND variables:

 Qt4: Only for modules which are known and found.
 ImageMagick: Also for requested but unknown components.
 wxWidgets: No *_*_FOUND variables at all but forwards unknown
components to *_LIBRARIES variable without an error.

 The remaining modules assign only to *_*_FOUND variables for
 components which they know and which have been requested.

 (3) Respecting the REQUIRED flag:

 wxWidgets: REQUIRED ignored completely.
 
 This is clearly a bug.
 
 Boost: SEND_ERROR instead of FATAL_ERROR.
 
 This is somewhere between acceptable and bug.
 
 GTK2,Java: Bail out on unknown components even if not REQUIRED.
 
 Depending on how unknown components should be handled, this is either ok or 
 not.
 I'm leaning towards supporting only known components, so the find-module or 
 config file knows what it is doing.
 In this case this would be correct behaviour, the programmer would see this 
 error, not the user.

Please recall the use case of Qt5 with config file and a module XYZ
added in a later release. A FIND_PACKAGE(Qt5 COMPONENTS XYZ) against
a later Qt5 installation works flawlessly, but against an early one,
it faces Qt5Config.cmake with an unknown component XYZ, and this is
perfectly legal. How should one use the XYZ module optionally - i.e.
if available - given that Qt5Config.cmake bails out on a missing XYZ
although REQUIRED isn't flagged? IMO, without REQUIRED, config files
/ find modules should handle requested but unknown components grace-
fully by just assigning FALSE to the respective *_*_FOUND variable.

What's your opinion about the above-mentioned use case?

 The remaining modules bail out on unavailable requested components.

 (4) Assinging the package-related *_FOUND variable:

 Java: No *_FOUND variable at all although it's documented.
 
 Bug.
 
 wxWidgets: TRUE even if requested components aren't found, see above.

 The remaining modules return FALSE if a requested component isn't found.

 My comments on these, say, multifarious findings are:
 
 ;-)
 
 Ad.(1): In general, automatically searching unrequested components
 does not mean a harm, but it is also not beneficial at all events:

 - No guarantee to catch all components - consider a component added
   later to the package - so no guarantee that all later *_*_FOUND
   variables have been assigned a definite value by FIND_PACKAGE().
 - Complicates find modules / config files due to REQUIRED/QUIET.
 - Potentially higher costs due to unneeded search operations.

 For the latter loint, there is a not-so-uncommon use case: Suppose
 a find module wants to check whether a library matches its header.
 Putting away cross-compiling issues for the moment, this requires
 building and running a test 

Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false

2012-03-01 Thread Johannes Sasongko

Can you attach that project?  I'll test it out under similar conditions.


An even simpler project that gives me the same problem:

== CMakeLists.txt ==

project (cmaketest)
cmake_minimum_required (VERSION 2.8)
add_executable (cmaketest test.c)

== test.c ==

int main() { return 0; }



Attached is the vcxproj file generated by CMake.



Are you using the free version of visual studio?


I'm using the Professional edition; I don't think it would affect the  
generator, though.



--
Johannes

cmaketest.vcxproj.gz
Description: GNU Zip compressed data
--

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://www.cmake.org/mailman/listinfo/cmake

[Cmake-commits] CMake branch, next, updated. v2.8.7-2974-g90ab2fb

2012-03-01 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  90ab2fb96596c9a17ff92fe60c683eca5c919317 (commit)
   via  0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb (commit)
  from  62bb3fb93b8077a3bdee8566f3d63177bbe088c6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=90ab2fb96596c9a17ff92fe60c683eca5c919317
commit 90ab2fb96596c9a17ff92fe60c683eca5c919317
Merge: 62bb3fb 0bce6f4
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Mar 1 10:08:40 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 10:08:40 2012 -0500

Merge topic 'bootstrap-msys-paths' into next

0bce6f4 bootstrap: Fix MSYS-Windows path conversion


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb
commit 0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Mar 1 10:06:19 2012 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Mar 1 10:06:19 2012 -0500

bootstrap: Fix MSYS-Windows path conversion

Some MSYS bash implementations leave trailing space on the command line
to 'cmd /c echo ...' after quoting the message.  Fix the sed expression
that strips quotes to handle trailing spaces.

diff --git a/bootstrap b/bootstrap
index c67c28e..665c6c5 100755
--- a/bootstrap
+++ b/bootstrap
@@ -131,7 +131,7 @@ case ${cmake_system} in
 *MINGW*)
   cmake_fix_slashes()
   {
-cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/$//'
+cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/ *$//'
   }
   ;;
 *)

---

Summary of changes:
 bootstrap |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2976-g28743fa

2012-03-01 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  28743fa6c3ac16b303803661d0d05253b3efc0ac (commit)
   via  5cd879c4e75405ab404a2e6c4e77caa36877baf1 (commit)
  from  90ab2fb96596c9a17ff92fe60c683eca5c919317 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=28743fa6c3ac16b303803661d0d05253b3efc0ac
commit 28743fa6c3ac16b303803661d0d05253b3efc0ac
Merge: 90ab2fb 5cd879c
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Mar 1 10:12:20 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 10:12:20 2012 -0500

Merge topic 'bootstrap-msys-paths' into next

5cd879c bootstrap: Convert MSYS paths to Windows format (#13001)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5cd879c4e75405ab404a2e6c4e77caa36877baf1
commit 5cd879c4e75405ab404a2e6c4e77caa36877baf1
Author: Brad King brad.k...@kitware.com
AuthorDate: Wed Feb 29 14:29:16 2012 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Mar 1 10:09:05 2012 -0500

bootstrap: Convert MSYS paths to Windows format (#13001)

We set CMAKE_PREFIX_PATH from the --prefix= option.  The calling shell
might not translate /c/... to c:/... paths but we need to store
Windows paths in CMake cache variables.  Pass the specified path through
the MSYS shell in a form it will convert to a Windows path using the
MSYS fstab.

Some MSYS bash implementations leave trailing space on the command line
to 'cmd /c echo ...' after quoting the message.  The Windows echo tool
preserves both the quotes and the trailing space.  Use a sed expression
that strips quotes and trailing spaces after the end quote.

diff --git a/bootstrap b/bootstrap
index f5eacbd..665c6c5 100755
--- a/bootstrap
+++ b/bootstrap
@@ -127,10 +127,20 @@ fi
 cmake_bootstrap_dir=${cmake_binary_dir}/Bootstrap${_cmk}
 
 # Helper function to fix windows paths.
-cmake_fix_slashes ()
-{
-  echo $1 | sed 's/\\/\//g'
-}
+case ${cmake_system} in
+*MINGW*)
+  cmake_fix_slashes()
+  {
+cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/ *$//'
+  }
+  ;;
+*)
+  cmake_fix_slashes()
+  {
+echo $1 | sed 's/\\/\//g'
+  }
+  ;;
+esac
 
 # Choose the default install prefix.
 if ${cmake_system_mingw}; then

---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2986-g6ccd825

2012-03-01 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  6ccd8254f1c1de685cea1525421f76755f837bcb (commit)
   via  09ff226e4c5489188a4e568df06a4f8e373ce5cd (commit)
   via  31ab25c0c9298aa833edd118752e97f15f7d8e2a (commit)
   via  486033aef302d122938e6f52fd1c7ad29a5e75a5 (commit)
   via  937bb4bebf560fddeb2a1438939fd50d177ae2bf (commit)
   via  477459010f78d0d6d563080466a63490b6b99eb9 (commit)
   via  4a48be323bfc9e7e3089bd1bef3141cd1b397f7f (commit)
   via  1e5b971ed0346849243ecbcd05443404ebf7a3cb (commit)
   via  54ab11c0d23fcd015ec2e5686524ac9c746ed0ca (commit)
   via  80072d4ebfd2bc431649298618e040e1eba5822f (commit)
  from  28743fa6c3ac16b303803661d0d05253b3efc0ac (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6ccd8254f1c1de685cea1525421f76755f837bcb
commit 6ccd8254f1c1de685cea1525421f76755f837bcb
Merge: 28743fa 09ff226
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Mar 1 10:42:19 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 10:42:19 2012 -0500

Merge topic 'doxygen-fixes' into next

09ff226 Merge branch 'add-const-qualifiers' into doxygen-fixes
31ab25c doxygen: MathCommand is not about string operators
486033a doxygen: review cmake.h
937bb4b doxygen: remove a few comments
4774590 doxygen: fix some comments in cmPolicies.h
4a48be3 doxygen: Small fixes in cmake.h apidocs
1e5b971 doxygen: Use proper syntax to document enum
54ab11c doxygen: Improve API docs of GetRealDependency
80072d4 doxygen: cmPropertyDefinition


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=09ff226e4c5489188a4e568df06a4f8e373ce5cd
commit 09ff226e4c5489188a4e568df06a4f8e373ce5cd
Merge: 31ab25c 737c49a
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Mar 1 10:40:21 2012 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Mar 1 10:40:21 2012 -0500

Merge branch 'add-const-qualifiers' into doxygen-fixes

Conflicts:
Source/cmPropertyDefinition.h

diff --cc Source/cmPropertyDefinition.h
index 4a3c887,58d1472..16bd148
--- a/Source/cmPropertyDefinition.h
+++ b/Source/cmPropertyDefinition.h
@@@ -33,20 -24,20 +33,20 @@@ public
const char *DocumentationSection,
bool chained);
  
 -  // get the documentation string
 +  /// Get the documentation string
cmDocumentationEntry GetDocumentation() const;
  
 -  // basic constructor 
 +  /// Default constructor
cmPropertyDefinition() { this-Chained = false; };
  
 -  // is it chained?
 +  /// Is the property chained?
-   bool IsChained() {return this-Chained; };
+   bool IsChained() const { return this-Chained; };
  
 -  // Get the section if any
 +  /// Get the section if any
const std::string GetDocumentationSection() const {
  return this-DocumentationSection; }; 
 -  
 -  // get the scope
 +
 +  /// Get the scope
cmProperty::ScopeType GetScope() const {
  return this-Scope; };
  

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31ab25c0c9298aa833edd118752e97f15f7d8e2a
commit 31ab25c0c9298aa833edd118752e97f15f7d8e2a
Author: Yury G. Kudryashov urkud.ur...@gmail.com
AuthorDate: Wed Feb 29 17:34:17 2012 +0400
Commit: Yury G. Kudryashov urkud.ur...@gmail.com
CommitDate: Thu Mar 1 02:33:13 2012 +0400

doxygen: MathCommand is not about string operators

diff --git a/Source/cmMathCommand.h b/Source/cmMathCommand.h
index d31f34b..d45e4fc 100644
--- a/Source/cmMathCommand.h
+++ b/Source/cmMathCommand.h
@@ -14,10 +14,7 @@
 
 #include cmCommand.h
 
-/** \class cmMathCommand
- * \brief Common string operations
- *
- */
+/// Mathematical expressions: math(EXPR ...) command.
 class cmMathCommand : public cmCommand
 {
 public:

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=486033aef302d122938e6f52fd1c7ad29a5e75a5
commit 486033aef302d122938e6f52fd1c7ad29a5e75a5
Author: Yury G. Kudryashov urkud.ur...@gmail.com
AuthorDate: Tue Feb 28 16:44:54 2012 +0400
Commit: Yury G. Kudryashov urkud.ur...@gmail.com
CommitDate: Thu Mar 1 02:33:13 2012 +0400

doxygen: review cmake.h

* Move top-level comment to class apidocs
* Remove misleading comment

diff --git a/Source/cmake.h b/Source/cmake.h
index 3558374..161e656 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -9,28 +9,6 @@
   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   See the License for more information.
 */
-// This class represents a cmake invocation. It is the top level class 

[Cmake-commits] CMake branch, hooks, updated. 5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6

2012-03-01 Thread cmake-commits
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, hooks has been updated
   via  5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6 (commit)
   via  b966ceb43755028720f56948e45db0c3bdcda500 (commit)
  from  ad08c2091c710f886c2d8a827bb3c90d8b8a9d03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6
commit 5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6
Author: Brad King brad.k...@kitware.com
AuthorDate: Wed Feb 29 16:26:33 2012 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Wed Feb 29 16:32:01 2012 -0500

Set GIT_DIR if not already set

Although it seems reasonable to expect GIT_DIR to be set when
hooks are invoked, the git help hooks documentation does not
guarantee it.  On msysGit 1.7.8 (and perhaps others) git gui
runs prepare-commit-msg without setting GIT_DIR.  Set GIT_DIR
at the beginning of each commit hook if it is not already set.

diff --git a/commit-msg b/commit-msg
index 8c0562e..8570266 100755
--- a/commit-msg
+++ b/commit-msg
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #=
-# Copyright 2010-2011 Kitware, Inc.
+# Copyright 2010-2012 Kitware, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the License);
 # you may not use this file except in compliance with the License.
@@ -15,6 +15,8 @@
 # limitations under the License.
 #=
 
+. ${BASH_SOURCE%/*}/hooks-config.bash
+
 # Prepare a copy of the message:
 #  - strip comment lines
 #  - stop at diff --git (git commit -v)
@@ -35,8 +37,6 @@ die() {
exit 1
 }
 
-. $GIT_DIR/hooks/hooks-config.bash
-
 #-
 # Check the commit message layout with a simple state machine.
 
diff --git a/hooks-config.bash b/hooks-config.bash
index a25d7d1..a12ad96 100644
--- a/hooks-config.bash
+++ b/hooks-config.bash
@@ -1,5 +1,5 @@
 #=
-# Copyright 2010-2011 Kitware, Inc.
+# Copyright 2010-2012 Kitware, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the License);
 # you may not use this file except in compliance with the License.
@@ -14,6 +14,11 @@
 # limitations under the License.
 #=
 
+# Make sure GIT_DIR is set.
+if test -z $GIT_DIR; then
+   export GIT_DIR=$(git rev-parse --git-dir)
+fi
+
 # Load hooks configuration from source tree.
 config=.hooks-config.bash  test -r $config  . $config
 
diff --git a/pre-commit b/pre-commit
index b2cfe2d..834c3fe 100755
--- a/pre-commit
+++ b/pre-commit
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #=
-# Copyright 2010-2011 Kitware, Inc.
+# Copyright 2010-2012 Kitware, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the License);
 # you may not use this file except in compliance with the License.
@@ -15,6 +15,8 @@
 # limitations under the License.
 #=
 
+. ${BASH_SOURCE%/*}/hooks-config.bash
+
 die() {
echo 'pre-commit hook failure' 12
echo '---' 12
@@ -23,8 +25,6 @@ die() {
exit 1
 }
 
-. $GIT_DIR/hooks/hooks-config.bash
-
 zero=''
 
 #-
diff --git a/prepare-commit-msg b/prepare-commit-msg
index aa86d6d..035677f 100755
--- a/prepare-commit-msg
+++ b/prepare-commit-msg
@@ -15,7 +15,7 @@
 # limitations under the License.
 #=
 
-. $GIT_DIR/hooks/hooks-config.bash
+. ${BASH_SOURCE%/*}/hooks-config.bash
 
 # Invoke the Gerrit Change-Id hook here for git merge because
 # it does not run the normal commit-msg hook.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b966ceb43755028720f56948e45db0c3bdcda500
commit b966ceb43755028720f56948e45db0c3bdcda500
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Feb 6 14:39:18 2012 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Mon Feb 6 14:39:18 2012 -0500

prepare-commit-msg: Add Gerrit Change-Id to merges

The git merge command generates its own commit message and does not
invoke the commit-msg hook.  Fortunately it invokes prepare-commit-msg
so teach it to call the gerrit/commit-msg hook for merges.

Suggested-by: Chris 

[Cmake-commits] CMake branch, next, updated. v2.8.7-2988-g6804cf7

2012-03-01 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  6804cf7b60653d5c3e5c339e2674233789498610 (commit)
   via  bd56e015d6c04853ade95019305e845583ac8fab (commit)
  from  6ccd8254f1c1de685cea1525421f76755f837bcb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6804cf7b60653d5c3e5c339e2674233789498610
commit 6804cf7b60653d5c3e5c339e2674233789498610
Merge: 6ccd825 bd56e01
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Thu Mar 1 12:11:20 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 12:11:20 2012 -0500

Merge topic 'allfindmodules-versions' into next

bd56e01 do not require ImageMagick version


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd56e015d6c04853ade95019305e845583ac8fab
commit bd56e015d6c04853ade95019305e845583ac8fab
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Thu Mar 1 18:10:52 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Thu Mar 1 18:10:52 2012 +0100

do not require ImageMagick version

diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt 
b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
index ee25c5a..e6e4c74 100644
--- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
+++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
@@ -61,7 +61,7 @@ endmacro(check_version_string)
 # reported.
 
 foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL
-ImageMagick JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB)
+JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB)
 check_version_string(${VTEST} ${VTEST}_VERSION_STRING)
 endforeach(VTEST)
 

---

Summary of changes:
 Tests/CMakeOnly/AllFindModules/CMakeLists.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2990-gdd6710e

2012-03-01 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  dd6710e8d11bae9f595162c7583a81c97afdbe5e (commit)
   via  9271d2f6975c2f4cca81d4306c49e96089e88910 (commit)
  from  6804cf7b60653d5c3e5c339e2674233789498610 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd6710e8d11bae9f595162c7583a81c97afdbe5e
commit dd6710e8d11bae9f595162c7583a81c97afdbe5e
Merge: 6804cf7 9271d2f
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Thu Mar 1 12:12:08 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 12:12:08 2012 -0500

Merge topic 'allfindmodules-versions' into next

9271d2f AllFindModules test: once again expand version checking


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9271d2f6975c2f4cca81d4306c49e96089e88910
commit 9271d2f6975c2f4cca81d4306c49e96089e88910
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Fri Feb 24 20:35:42 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Thu Mar 1 18:11:52 2012 +0100

AllFindModules test: once again expand version checking

diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt 
b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
index 9257fcc..e6e4c74 100644
--- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
+++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
@@ -45,25 +45,31 @@ if (NOT QT4_FOUND)
 endforeach(FIND_MODULE)
 endif (NOT QT4_FOUND)
 
-# If any of these modules reported that it was found a version number should 
have been
-# reported.
-set(VERSIONS_REQUIRED
-ALSA BISON BZIP2 CUPS CURL DOXYGEN EXPAT FLEX FREETYPE GETTEXT GIF GIT
-ImageMagick JASPER LibArchive LIBXML2 LIBXSLT PERL PKG_CONFIG PostgreSQL
-SWIG TIFF ZLIB)
-
-foreach(VTEST ${VERSIONS_REQUIRED})
-if (${VTEST}_FOUND)
-if (DEFINED ${VTEST}_VERSION_STRING)
-if (NOT ${VTEST}_VERSION_STRING MATCHES 
^[0-9][0-9\\.]*[A-Za-z_]*[0-9\\.]*$)
-message(SEND_ERROR ${VTEST}_VERSION_STRING has unexpected 
content ${${VTEST}_VERSION_STRING})
-endif()
-elseif (DEFINED ${VTEST}_VERSION)
-if (NOT ${VTEST}_VERSION MATCHES 
^[0-9][0-9\\.]*[A-Za-z_]*[0-9\\.]*$)
-message(SEND_ERROR ${VTEST}_VERSION has unexpected content 
${${VTEST}_VERSION})
+macro(check_version_string MODULE_NAME VERSION_VAR)
+if (${MODULE_NAME}_FOUND)
+if (DEFINED ${VERSION_VAR})
+if (NOT ${VERSION_VAR} MATCHES 
^[0-9][0-9\\.]*[-A-Za-z_\\+]*[0-9\\.]*$)
+message(SEND_ERROR ${VERSION_VAR} has unexpected content 
${${VERSION_VAR}})
 endif()
 else()
-message(SEND_ERROR ${VTEST}_FOUND is set but no version number is 
defined)
+message(SEND_ERROR ${MODULE_NAME}_FOUND is set but no version 
number is defined)
 endif()
-endif(${VTEST}_FOUND)
+endif ()
+endmacro(check_version_string)
+
+# If any of these modules reported that it was found a version number should 
have been
+# reported.
+
+foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL
+JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB)
+check_version_string(${VTEST} ${VTEST}_VERSION_STRING)
 endforeach(VTEST)
+
+foreach(VTEST BISON Boost CUDA DOXYGEN FLEX GIF GTK2 LibArchive OPENSCENEGRAPH
+RUBY SWIG)
+check_version_string(${VTEST} ${VTEST}_VERSION)
+endforeach(VTEST)
+
+check_version_string(PYTHONINTERP PYTHON_VERSION_STRING)
+check_version_string(SUBVERSION Subversion_VERSION_SVN)
+check_version_string(PKGCONFIG PKG_CONFIG_VERSION_STRING)

---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2994-g0ea9866

2012-03-01 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5 (commit)
   via  944b90be60ab7888a76d76acbb0200f511db3d60 (commit)
   via  f605b92dec414311936ff62afb0ab7847f08974e (commit)
   via  3d8028841d6a257d0bd33b71518ae8800a716ffb (commit)
  from  dd6710e8d11bae9f595162c7583a81c97afdbe5e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5
commit 0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5
Merge: dd6710e 944b90b
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Thu Mar 1 15:49:53 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Mar 1 15:49:53 2012 -0500

Merge topic 'while-testing' into next

944b90b add testcases for while()/endwhile() errors
f605b92 improve error message on a stray endwhile()
3d80288 KWSys Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=944b90be60ab7888a76d76acbb0200f511db3d60
commit 944b90be60ab7888a76d76acbb0200f511db3d60
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Thu Mar 1 21:12:55 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Thu Mar 1 21:20:49 2012 +0100

add testcases for while()/endwhile() errors

diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt
index fc1426e..aa4d52e 100644
--- a/Tests/CMakeTests/CMakeLists.txt
+++ b/Tests/CMakeTests/CMakeLists.txt
@@ -29,6 +29,7 @@ AddCMakeTest(CMakeMinimumRequired )
 AddCMakeTest(CompilerIdVendor )
 AddCMakeTest(ProcessorCount )
 AddCMakeTest(PushCheckState )
+AddCMakeTest(While )
 
 AddCMakeTest(FileDownload )
 set_property(TEST CMake.FileDownload PROPERTY
diff --git a/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake 
b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake
new file mode 100644
index 000..886d98c
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake
@@ -0,0 +1 @@
+endwhile(a)
diff --git a/Tests/CMakeTests/While-Endwhile-Alone.cmake 
b/Tests/CMakeTests/While-Endwhile-Alone.cmake
new file mode 100644
index 000..82c09a0
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Alone.cmake
@@ -0,0 +1 @@
+endwhile()
diff --git a/Tests/CMakeTests/While-Endwhile-Mismatch.cmake 
b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake
new file mode 100644
index 000..5c338d6
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake
@@ -0,0 +1,2 @@
+while(a)
+endwhile(b)
diff --git a/Tests/CMakeTests/While-Missing-Argument.cmake 
b/Tests/CMakeTests/While-Missing-Argument.cmake
new file mode 100644
index 000..32eaa26
--- /dev/null
+++ b/Tests/CMakeTests/While-Missing-Argument.cmake
@@ -0,0 +1 @@
+while()
diff --git a/Tests/CMakeTests/While-Missing-Endwhile.cmake 
b/Tests/CMakeTests/While-Missing-Endwhile.cmake
new file mode 100644
index 000..1abaaaf
--- /dev/null
+++ b/Tests/CMakeTests/While-Missing-Endwhile.cmake
@@ -0,0 +1 @@
+while(a)
diff --git a/Tests/CMakeTests/WhileTest.cmake.in 
b/Tests/CMakeTests/WhileTest.cmake.in
new file mode 100644
index 000..4693f2d
--- /dev/null
+++ b/Tests/CMakeTests/WhileTest.cmake.in
@@ -0,0 +1,53 @@
+set(NUMBERS )
+set(COUNT 0)
+
+while(COUNT LESS 200)
+set(NUMBERS ${NUMBERS} ${COUNT})
+set(COUNT 2${COUNT})
+
+set(NCOUNT 3)
+while(NCOUNT LESS 31)
+set(NUMBERS ${NUMBERS} ${NCOUNT})
+set(NCOUNT ${NCOUNT}0)
+endwhile()
+endwhile(COUNT LESS 200)
+
+if(NOT NUMBERS STREQUAL  0 3 30 20 3 30)
+message(SEND_ERROR while loop nesting error, result: '${NUMBERS}')
+endif()
+
+set(Missing-Argument-RESULT 1)
+set(Missing-Argument-STDERR .*CMake Error at 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Argument.cmake:1 
\\(while\\):.*while called with incorrect number of arguments.*)
+
+include(@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake)
+check_cmake_test(While
+  Missing-Argument
+)
+
+set(Missing-Endwhile-RESULT 1)
+set(Missing-Endwhile-STDERR .*CMake Error in 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:.*A logical block 
opening on the 
line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:1 
\\(while\\).*is not closed\\..*)
+
+check_cmake_test(While
+  Missing-Endwhile
+)
+
+set(Endwhile-Mismatch-RESULT 0)
+set(Endwhile-Mismatch-STDERR .*CMake Warning \\(dev\\) in 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:.*A logical block 
opening on the 
line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:1 
\\(while\\).*with mis-matching arguments\\..*)
+
+check_cmake_test(While
+  Endwhile-Mismatch
+)
+
+set(Endwhile-Alone-RESULT 1)
+set(Endwhile-Alone-STDERR .*CMake Error at