Re: [cmake-developers] Review request: Ninja-EXPORT_COMPILE_COMMANDS

2012-05-17 Thread Stephen Kelly
Peter Collingbourne wrote:

 On Sun, May 13, 2012 at 11:59:20PM +0200, Stephen Kelly wrote:
 Stephen Kelly wrote:
 
 
  Furthermore, there is no need to make paths within the build directory
  absolute.  Each command must be invoked from the home output directory
  (i.e. the build root directory), so each command's directory
  attribute should be set to that directory, rather than the start
  output directory as in your patch.
  
  Fixed now, If I understood you correctly.
 
 I've pushed this to the CMake stage repo now.
 
 Peter, could you verify that I should always use the same directory for
 the directory JSON property as I do in the patch?
 
 Yes, this looks fine now.

Great, thanks. I've merged it to next.


--

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] Target usage requirements and conventions

2012-05-17 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Sunday 13 May 2012, Stephen Kelly wrote:
 Stephen Kelly wrote:
  Hi there,
  
  The topic of 'target usage requirements' has come up several times.
  It's something I'd like to work further towards in CMake 2.8.9.
  
  I have created a wiki page on the KDE wiki (there for my convenience
  mostly) so that we can discuss the design, implementation and
  implications.
  
  
http://community.kde.org/Frameworks/Epics/CMake_target_usage_requirements
  
  Thanks for any comments,
 
 Hi there,
 
 Thanks for the feedback on this proposal so far.
 
 I have updated the wiki page to remove any reference to
 target_use_package() or functionality depending on conventions of
 variable names, or finding packages etc. The proposal as written now
 expects the caller to supply targets, and never expects a package name or
 a prefix.
 
 The page is now focussed on creation of a target_use_targets() command
 which operates on targets which are in scope because either they were
 created in the same buildsystem, or they were imported.
 
 It would be possible to revisit the target_use_package() idea in the
 future, but that is no longer the aim of the proposal. The
 target_use_targets() is already a useful enough concept to aim for.
 
 Great :-)
  
 The remaining (I think) open question regards what form the generator
 expressions should take so that they can represent multiple dimensions.
 
 Some comments:
 
 will target_use_target() also need PRIVATE and PUBLIC keywords as
 target_link_libraries() has now ?

Yes. It may even have to be more granular than that. For example it might be 
necessary to have include_directories public in a dependency without having 
public linking (eg if a header is #included which contains defines used in 
my headers).

I'm sure that's rare though, so I think we simply need to choose whether to 
be fully granular, fully monolithic, or somewhere in between. Currently I'm 
leaning towards fully monolithic. If a target depends publically on another 
target in any way, that is PUBLIC.

 
 In installed config/targets files, the include directories must be
 relocatable.

Added to the wiki. I think that might be tricky to get right.

 
 Cross compiling: currently the assumption is that
 find_library()/find_path() will find files for the target, so inside the
 build by default everything is for the target. I don't think this needs
 extra handling here.

Sounds good.

Thanks,

Steve.


--

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] Adding logic to CMake for -fPIE and -fPIC

2012-05-17 Thread Brad King
On 05/17/2012 08:36 AM, Stephen Kelly wrote:
 Done and re-pushed to my clone. I still have to write the unit tests, but I 
 think it can be reviewed again at this point.

Great start.  Here are some comments.

The Update the documentation of IMPORTED_LOCATION to match the code. commit
has an incorrect message.  You're modifying the MAP_IMPORTED_CONFIG_CONFIG
docs.  Also, the original wording the commit changes is correct under the
assumption that the property is set, and if the property is not set then why
should its docs apply?  Anyway, I think it can be made even more clear than
your proposed wording by using

  If this property is set and no matching configurations...

-

The LanguageToCachedSharedLibFlags ivar would be better named
LanguageToOriginalSharedLibFlags IMO.  Also please add a comment
where they are set to explain why (just ref the policy).

The proposed CMP0018 summary should prefer POSITION_INDEPENDENT_CODE
instead of COMPILE_OPTIONS, no?  The property is part of the public
interface the user can set/get.  The COMPILE_OPTIONS values are impl
details.  Also the documentation appears to be cut-n-pasted from another
policy.  Please fill in the details.

The docs of POSITION_INDEPENDENT_CODE are incorrect.  The last sentence
should be This property is true by default for SHARED and MODULE library
targets and false otherwise..

Your logic should use GetSafeDefinition instead of GetDefinition before
storing the result in a std::string because the latter returns NULL if
not set.

AddPositionIndependentFlags shouldn't care whether the library is
shared or not, right?  If the property is true then we want the flags.
Perhaps:

 std::string picFlags;
 if (targetType == cmTarget::EXECUTABLE)
   {
   std::string flagsVar = CMAKE_;
   flagsVar += lang;
   flagsVar += _COMPILE_OPTIONS_PIE;
   picFlags = this-Makefile-GetSafeDefinition(flagsVar.c_str());
   }
 if(picFlags.empty())
   {
   std::string flagsVar = CMAKE_;
   flagsVar += lang;
   flagsVar += _COMPILE_OPTIONS_PIC;
   picFlags = this-Makefile-GetSafeDefinition(flagsVar.c_str());
   }
 if(!picFlags.empty())
   {
   this-AppendFlags(flags, picFlags.c_str());
   }

There is a lot more to adding a policy than just

  GetPolicyStatus(cmPolicies::CMP0018) == cmPolicies::OLD

Look at some of the other policies.  You need to handle all the possible
values.  If it is WARN then you need to produce the warning and treat as
OLD behavior.  See the switch() statements used for others.

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Target usage requirements and conventions

2012-05-17 Thread Brad King
On 05/17/2012 09:25 AM, Stephen Kelly wrote:
   $IF($CONFIGURATION MATCHES Debug AND $LANGUAGE STREQUALS CXX)...

 I'm not sure what should go in the ... part though.  Some syntax to
 delimit the then/else values would be needed.  
 
 I'm not sure else() and endif() are needed as additional expressions could 
 be added for those.

We may not need the else part but we still need a strict and extensible
syntax to delimit the value in the ... part above.

 Perhaps we can get object-orientated:
 
 populate_target_usage_requirements(
   NAME fooRequirements
   [PUBLIC|PRIVATE]
   INCLUDE_DIRECTORIES /foo/bar
   INCLUDE_DIRECTORIES /bat/bug IF $CMAKE_BUILD_TYPE MATCHES Debug
   COMPILE_DEFINITIONS -DQT_CORE_LIB 
   COMPILE_DEFINITIONS -DQT_GUI_LIB IF BUILD_TESTING
 )

I think it will be hard to define the reach to the left of IF in
non-trivial cases, especially when the arguments are built up inside
a variable and some parts might end up empty.  Also the result of this
command will still need to be stored in the property as some kind of
generator expression, so we still need to define such an expression.

-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] Handling of Config specific imported targets?

2012-05-17 Thread Stephen Kelly
Brad King wrote:

 On 05/17/2012 09:41 AM, Stephen Kelly wrote:
 Great, so choosing the correct imported configuration a solved problem.
 I'll point the documentation in of the Qt 5 CMake stuff to that so.
 
 Note that MAP_IMPORTED_CONFIG_CONFIG should not be set by package
 configuration files.  It should only be set in the CMakeLists.txt files
 of the project *loading* them.  Only the application knows its own list
 of configurations.  The documentation of the package should list the
 valid configurations to which one may map.
 
 Am I right that it is appropriate to create imported targets without a
 _${Config} though?
 
 It shouldn't be necessary to create the non-config one.  If only
 IMPORTED_LOCATION_DEBUG and IMPORTED_LOCATION_RELEASE are set and not
 IMPORTED_LOCATION then the default behavior will still choose one of
 the available configurations.  Just be sure to list all the available
 configurations in IMPORTED_CONFIGURATIONS.
 

Yes, ok I'll take that approach.

I'll also reverse the order of creating those IMPORTED_CONFIGURATIONS too so 
that Windows users will get Release unless they use Debug or do the mapping 
stuff. That way they will also get the Release version if they use 
RelWithDebInfo or MinSizeRel, which seem to be built into CMake. 

Thanks,

Steve.

--

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] Target usage requirements and conventions

2012-05-17 Thread Stephen Kelly
Brad King wrote:

 On 05/17/2012 09:25 AM, Stephen Kelly wrote:
   $IF($CONFIGURATION MATCHES Debug AND $LANGUAGE STREQUALS
   CXX)...

 I'm not sure what should go in the ... part though.  Some syntax to
 delimit the then/else values would be needed.
 
 I'm not sure else() and endif() are needed as additional expressions
 could be added for those.
 
 We may not need the else part but we still need a strict and extensible
 syntax to delimit the value in the ... part above.

I guess you mean something like ENDIF won't be good enough. I guess it might 
not be extensible if you want to do something else than if...endif, but I'm 
not certain what you have in mind with 'extensible' or if you have any ideas 
of how it might need to be extended.

 
 Perhaps we can get object-orientated:
 
 populate_target_usage_requirements(
   NAME fooRequirements
   [PUBLIC|PRIVATE]
   INCLUDE_DIRECTORIES /foo/bar
   INCLUDE_DIRECTORIES /bat/bug IF $CMAKE_BUILD_TYPE MATCHES Debug
   COMPILE_DEFINITIONS -DQT_CORE_LIB
   COMPILE_DEFINITIONS -DQT_GUI_LIB IF BUILD_TESTING
 )
 
 I think it will be hard to define the reach to the left of IF in
 non-trivial cases

ENDIF again no good here?

 , especially when the arguments are built up inside
 a variable and some parts might end up empty.  

You mean like this:

if (some_option)
  set(include_condition IF $CMAKE_BUILD_TYPE MATCHES Debug ENDIF)
endif()

populate_target_usage_requirements(
  ...
  INCLUDE_DIRECTORIES /bat/bug ${include_condition}
)

 Also the result of this
 command will still need to be stored in the property as some kind of
 generator expression, so we still need to define such an expression.

Yes. My idea is based on the properties with generator expressions not being 
so convenient to edit at runtime as in the example I gave before, but 
providing this API to wrap the less convenient 'generator containing a 
boolean expression' elements.

But indeed, this alone does not solve the problem of creating a strict 
enough syntax for storage of the properties.

Thanks,

Steve.



--

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 0013234]: Ninja: Add support for IMPLICIT_DEPENDS in add_custom_command

2012-05-17 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=13234 
== 
Reported By:Mathias Gaunard
Assigned To:
== 
Project:CMake
Issue ID:   13234
Category:   CMake
Reproducibility:always
Severity:   feature
Priority:   normal
Status: new
== 
Date Submitted: 2012-05-17 10:47 EDT
Last Modified:  2012-05-17 10:47 EDT
== 
Summary:Ninja: Add support for IMPLICIT_DEPENDS in
add_custom_command
Description: 
It would be nice if Ninja supported IMPLICIT_DEPENDS in add_custom_command like
Makefile generators.

I personally use this feature when building precompiled headers. In the current
state of affairs, I have to disable PCH generation and usage when using Ninja.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-05-17 10:47 Mathias GaunardNew 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-developers] conditionals in generator expressions (was: Target usage requirements and conventions)

2012-05-17 Thread Brad King
On 05/17/2012 10:31 AM, Stephen Kelly wrote:
 We may not need the else part but we still need a strict and extensible
 syntax to delimit the value in the ... part above.
 
 not certain what you have in mind with 'extensible' or if you have any ideas 
 of how it might need to be extended.

The structure so far is

 $IF(${cond})...

the ${cond} part we are saying is the CMake language IF expression syntax.
However, after the ')' in the normal language comes other commands with
known syntax.  In the generator expression case the ... contains a *value*.
I don't think it is so readable though:

 $IF(${cond})${value}

Perhaps something like

 $IF(${cond}) THEN(${value})

Also, what if ${cond} or ${value} has a '' in it?  All previous generator
expressions have very limited content inside $.  Now we're talking about
arbitrary content.  We need encoding, escaping, etc.  It is a can of worms.

 Yes. My idea is based on the properties with generator expressions not being 
 so convenient to edit at runtime as in the example I gave before, but 
 providing this API to wrap the less convenient 'generator containing a 
 boolean expression' elements.
 
 But indeed, this alone does not solve the problem of creating a strict 
 enough syntax for storage of the properties.

Let's start with the generator expression part and consider helpers later.

-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] conditionals in generator expressions (was: Target usage requirements and conventions)

2012-05-17 Thread David Cole
I don't think this conditional stuff in generator expressions is a good
idea at all.

It's going to be ugly and very hard to read, and make people hate the CMake
language even more than they already do.

If there's any way at all that supports what we want but does not require
conditionals, then we should go with that way instead.


Or maybe I'm just getting old...?


On Thu, May 17, 2012 at 10:49 AM, Brad King brad.k...@kitware.com wrote:

 On 05/17/2012 10:31 AM, Stephen Kelly wrote:
  We may not need the else part but we still need a strict and
 extensible
  syntax to delimit the value in the ... part above.
 
  not certain what you have in mind with 'extensible' or if you have any
 ideas
  of how it might need to be extended.

 The structure so far is

  $IF(${cond})...

 the ${cond} part we are saying is the CMake language IF expression syntax.
 However, after the ')' in the normal language comes other commands with
 known syntax.  In the generator expression case the ... contains a
 *value*.
 I don't think it is so readable though:

  $IF(${cond})${value}

 Perhaps something like

  $IF(${cond}) THEN(${value})

 Also, what if ${cond} or ${value} has a '' in it?  All previous generator
 expressions have very limited content inside $.  Now we're talking about
 arbitrary content.  We need encoding, escaping, etc.  It is a can of worms.

  Yes. My idea is based on the properties with generator expressions not
 being
  so convenient to edit at runtime as in the example I gave before, but
  providing this API to wrap the less convenient 'generator containing a
  boolean expression' elements.
 
  But indeed, this alone does not solve the problem of creating a strict
  enough syntax for storage of the properties.

 Let's start with the generator expression part and consider helpers later.

 -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

--

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] Reason of Fortran include directories /config?

2012-05-17 Thread Petr Kmoch
Thanks very much for the feedback. I will look into the module stuff,
where the compiler puts it etc.

Petr

On Wed, May 16, 2012 at 10:24 PM, Brad King brad.k...@kitware.com wrote:
 On 05/10/2012 03:25 AM, Petr Kmoch wrote:
 we're using cmake to generate Intel Fortran .vfproj files and some of
 my developers were asking why include directories in the project
 always include X and X/config_name for every directory X specified
 via include_directories(). Looking at cmake source code, the lines
 responsible seem to be 829-837 of cmLocalVisualStudio7Generator.cxx

 The lines were added as part of the original Fortran support:

  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=10c91ded#patch6

 I would be really interested in the reason for this behaviour. Could
 anyone shed some light onto this for me?

 As Michael pointed out this probably has to do with Fortran 90 .mod
 files.  The Intel compiler loads them from the include files search
 path.  Contents of .mod files may be configuration-specific so perhaps
 the compiler puts them in the per-config output directories.

 I was not personally involved in adding those particular lines though.

 -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] Linking to libraries that depend on other libraries

2012-05-17 Thread Petr Kmoch
Hi David,

there's a target property LINK_INTERFACE_LIBRARIES (and
per-configuration variants) which can be used for this purpose.
Starting with 2.8.7, target_link_libraries() also accepts
LINK_INTERFACE_LIBRARIES as a new argument mode, setting the property
instead of linking.

Petr

On Wed, May 16, 2012 at 11:19 PM, David Doria daviddo...@gmail.com wrote:
 I have a library, libA, that depends on another library, libB, with
 this structure:

 My Program - libA - libB

 In my program, if I only link to libA, I get linker errors that it
 can't find things in libB, and these errors are fixed if I also link
 My Program to libB. This makes sense, but is there any way to avoid it
 with CMake? That is, a command that I can put in libA (created with
 add_library) that says when something links to me (libA),
 also/automatically link it to libB?

 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://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] copy dependant shared libs locally

2012-05-17 Thread Daniel Krikun
Hello,

I would like to trace shared library dependencies between targets (and also
to external packages) and then copy required dll's to output bin directory
(so that they are immediately available, without PATH editing) in the
post-build.
However, for debug configuration, I need to copy debug dll's (usually with
'd' suffix) and for release configuration - release dll's.

I can copy files to run-time directory using add_custom_command, but how
could I make a distinction for the release-debug files?

Thanks,

-- 
Daniel Krikun
--

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] Linking to libraries that depend on other libraries

2012-05-17 Thread Andreas Pakulat
Hi

Am Donnerstag, 17. Mai 2012 schrieb Petr Kmoch :

 Hi David,

 there's a target property LINK_INTERFACE_LIBRARIES (and
 per-configuration variants) which can be used for this purpose.
 Starting with 2.8.7, target_link_libraries() also accepts
 LINK_INTERFACE_LIBRARIES as a new argument mode, setting the property
 instead of linking.


Actually using link_interface_libraries in target_link_libraries works
already in 2.6.4 I believe, since KDE uses that and requires that cmake
version at the moment.

Andreas
--

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] copy dependant shared libs locally

2012-05-17 Thread Petr Kmoch
Hi Daniel.

In general, that is not possible with cmake at the moment. What I
currently do is have two custom targets, one for copying to debug, one
for copying to release. It's annoying that both get run in either
configuration, but I couldn't find a better way around it.

There are some bugreports in cmake's tracker, you might find some
inspiration there:
http://public.kitware.com/Bug/view.php?id=9974
http://public.kitware.com/Bug/view.php?id=12877

Petr

On Thu, May 17, 2012 at 9:12 AM, Daniel Krikun krikun.dan...@gmail.com wrote:
 Hello,

 I would like to trace shared library dependencies between targets (and also
 to external packages) and then copy required dll's to output bin directory
 (so that they are immediately available, without PATH editing) in the
 post-build.
 However, for debug configuration, I need to copy debug dll's (usually with
 'd' suffix) and for release configuration - release dll's.

 I can copy files to run-time directory using add_custom_command, but how
 could I make a distinction for the release-debug files?

 Thanks,

 --
 Daniel Krikun


 --

 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] target_link_libraries chain dynamic-static

2012-05-17 Thread Anton Sibilev
Hello! I use 2.8.8 and my build chais is following:

I have 3 static libs  - A.a, B.a, C.a.
I'm creating new D.so (add_library .. SHARED .. ) with limited set on
functions from static libs (linking -lA -lB -lC to resolve functions).
Then I'm creating application, wich use D.so as main library. I'm linking
it with target_link_libraries(target D.so).

But finally, my link cmdline is following: -o application -lD -lA -lB -C.
But I want to link only one shared lib - D.so!
As I understand this is results of caching libs. How I can resolve this?

Thanks!
--

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] target_link_libraries chain dynamic-static

2012-05-17 Thread Petr Kmoch
Hi Anton,

you should look into target property LINK_INTERFACE_LIBRARIES (and its
per-configuration variants) which controls transitive linking.
target_link_libraries() also accepts LINK_INTERFACE_LIBRARIES as an
argument mode, which sets the property instead of linking.

Petr

On Thu, May 17, 2012 at 3:07 PM, Anton Sibilev anton.sibi...@gmail.com wrote:
 Hello! I use 2.8.8 and my build chais is following:

 I have 3 static libs  - A.a, B.a, C.a.
 I'm creating new D.so (add_library .. SHARED .. ) with limited set on
 functions from static libs (linking -lA -lB -lC to resolve functions).
 Then I'm creating application, wich use D.so as main library. I'm linking it
 with target_link_libraries(target D.so).

 But finally, my link cmdline is following: -o application -lD -lA -lB -C.
 But I want to link only one shared lib - D.so!
 As I understand this is results of caching libs. How I can resolve this?

 Thanks!


 --

 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] Secret precompiled header support?

2012-05-17 Thread Robert Dailey
Hey Bill,

First of all apologies if I have offended anyone, my goal wasn't to
disrespect CMake or anyone's efforts they put into it. Perhaps I made a
poor choice of words.

What I was trying to convey with my use of the word professional was to
say that there are areas that seem inconsistent or odd to use, and by
making those more consistent it seems more professional. Perhaps instead of
saying professional, I should just say consistent :) Normally when you
encounter professional software (that is, software that you pay for, that
is generally well designed and maintained by a single entity), it has a
consistent feel. Open source naturally can feel inconsistent because of the
large number of contributions, which sometimes don't follow the same
implementation patterns. I hope that clarifies what I meant. An example, as
I had stated, is general compiler flag support. For example, we have
convenience methods for includes and preprocessor definitions, but PCH and
warning levels does not have such a thing.

Outside of the mailing list, I am trying to sell the company I'm working
for on using CMake. Every day, all I do is say great things about CMake and
I even mention you and David personally to people I work with and speak
highly of Kitware. So trust me, I really do talk a lot more about the
positives than the negatives. However, it's not as useful to start a post
here on the mailing list about the great things that have already been
done. It's nice to show appreciation but such a discussion isn't as
productive as discussing what to do next or what to improve. After all, I
see the mailing list as a place to get help and to discuss future work.

The discussion has gotten quite off track. I just wanted to let everyone
know that never during the discussion was I upset or intended to come off
as hostile, that's the tricky thing about text. You can't really know what
the person is really feeling or saying :)

On a more relevant and productive note, I'd love to help add new commands
or whatever to help make supporting different compiler features more
compiler-agnostic, but there are a couple of issues:

   1. I am only a Windows developer, so I can only really provide solutions
   targeting MSVC. Such a patch would not be useful as I'd have to handle a
   wide range of compilers such as ARM and GCC.
   2. Creating a new command for every single compiler flag or feature can
   get out of control easily and quickly become unmaintainable and messy to
   use and document. I think this is where the Boost modularization discussion
   becomes useful, because they have outlined in detail some great ideas to
   creating a uniform sort of meta-language to supporting a finite number of
   compiler options without adding bloat to the commands list. If you haven't
   had a chance to look this over, it would make for a great read, especially
   for the more experienced CMake developers like you and David.

It's a tough issue to tackle but at least the majority of people here
recognize improvement is in order. The problem is, it's a tall order.

On Wed, May 16, 2012 at 8:47 PM, Bill Hoffman bill.hoff...@kitware.comwrote:

 On 5/16/2012 3:49 PM, Robert Dailey wrote:

   involved with CMake will help push Kitware to realize how serious
 people are
   taking their products and maybe they'll make a move to
 professionalize
   them.

 So, I do take offense to this language.

 Kitware does take CMake seriously and we are always moving to make it
 better.  However, since it is an open source project, we do not get any
 direct revenue from CMake.  We do of course receive revenue from companies
 and agencies willing to hire us to implement features or develop CMake
 build systems for them.  If your company wants generic pre-compiled header
 support, we would love for you to hire Kitware to implement it.  If you are
 working on an open source project and you would like to contribute pch
 support that would be great as well.

 I think the fact that you are able to do what you need to do, even with a
 bit of extra work speaks to the professionalism and flexibility of CMake.
  If you were unable to create a working build system that supported PCH and
 the other features you found missing in CMake, that would be a failure of
 CMake.  If at the moment CMake does not have an elegant way to achieve a
 particular goal, I don't think that makes it an unprofessional software
 tool.


  I was using the word serious here as more of a verb, not an
 adjective. I'm saying that boost considering CMake is an indication
 of how people are taking CMake seriously. In other words, popular
 communities are depending on CMake (or gathering interest in) which
 makes CMake a tool taken more seriously. Understand now?


 Not really...   KDE (one of the world's largest open source projects)
 adopted CMake in 2006, and they have been a great community to work with.
  We have, when KDE goals have intersected with some of our paying
 customers, been able to implement 

Re: [CMake] Linking to libraries that depend on other libraries

2012-05-17 Thread David Doria
On Thu, May 17, 2012 at 2:18 AM, Petr Kmoch petr.km...@gmail.com wrote:

 Hi David,

 there's a target property LINK_INTERFACE_LIBRARIES (and
 per-configuration variants) which can be used for this purpose.
 Starting with 2.8.7, target_link_libraries() also accepts
 LINK_INTERFACE_LIBRARIES as a new argument mode, setting the property
 instead of linking.

 Petr


Petr,

I tried the following, but in both cases (target_link_libraries
and set_target_properties) I still get a linker error that it can't find
TestB().

cmake_minimum_required(VERSION 2.6)
PROJECT(Test)

add_library(TestB TestB.cpp)

# TestA depends on TestB
add_library(TestA TestA.cpp)
#target_link_libraries(TestA LINK_INTERFACE_LIBRARIES TestB)
set_target_properties(TestA PROPERTIES LINK_INTERFACE_LIBRARIES TestB)

# I want to link to TestA and have it automatically also link to TestB
add_executable(Test Test.cpp)
target_link_libraries(Test TestA)

I have uploaded the entire demo project here:
http://homepages.rpi.edu/~doriad/Upload/TestCMake.tar.gz

Any ideas?

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

[CMake] install command installing symbolic links rather than files

2012-05-17 Thread EXT-York, Gantry
In our build tree, we have symbolic links to COTS libraries located elsewhere.  
When we do the install, it copies these symbolic links into the run tree when 
we would actually like a copy of the source of these links (the file) in the 
run tree.

Is there a way to make the install command copy the file that is the source of 
the symbolic link rather than the symbolic link itself?

Gantry York
Boeing/KinetX
Iridium SCS Development Team

--

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] How to handle a submodule existing twice in a project?

2012-05-17 Thread David Doria
I have a main project (called Test) that has two submodules, TestA and
TestB. TestA also has a submodule, which is exactly the same TestB.

So there is a directory Test/TestB as well as Test/TestA/TestB

In TestA/CMakeLists.txt, I have add_subdirectory(TestB).
In Test/CMakeLists.txt, I have add_subdirectory(TestA) as well
as add_subdirectory(TestB).

CMake complains that it cannot create TestB because another target with the
same name already exists (which it does). What is the right way to handle
this? I always assume that TestB is identical in both places (which might
not be a great assumption...), so I guess I just want, in both places, to
say include TestB if it already hasn't been included. I tried to do that
by replacing the add_subdirectory(TestB) calls with:

if(NOT TestB_SOURCE_DIR)
 add_subdirectory(TestB)
endif()

but then the linker complains that it can't find TestB.

I have uploaded a demo project here:
http://homepages.rpi.edu/~doriad/Upload/TestCMake2.tar.gz

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

Re: [CMake] Linking to libraries that depend on other libraries

2012-05-17 Thread Andreas Pakulat
Hi,

On Thu, May 17, 2012 at 10:50 PM, David Doria daviddo...@gmail.com wrote:

 On Thu, May 17, 2012 at 2:18 AM, Petr Kmoch petr.km...@gmail.com wrote:

 Hi David,

 there's a target property LINK_INTERFACE_LIBRARIES (and
 per-configuration variants) which can be used for this purpose.
 Starting with 2.8.7, target_link_libraries() also accepts
 LINK_INTERFACE_LIBRARIES as a new argument mode, setting the property
 instead of linking.

 Petr


 Petr,

 I tried the following, but in both cases (target_link_libraries
 and set_target_properties) I still get a linker error that it can't find
 TestB().

 cmake_minimum_required(VERSION 2.6)
 PROJECT(Test)

 add_library(TestB TestB.cpp)

 # TestA depends on TestB
 add_library(TestA TestA.cpp)
 #target_link_libraries(TestA LINK_INTERFACE_LIBRARIES TestB)
 set_target_properties(TestA PROPERTIES LINK_INTERFACE_LIBRARIES TestB)


You forgot to link TestA to TestB here, I guess your c++ code currently
does not actually expose any dependency? Thats why cmake doesn't include
TestB when linking the executable.
The LINK_INTERFACES_LIBRARIES only helps cmake to decide when a particular
library doesn't need to be added to the linker-command for the executable.
By default cmake will link the executable against the libraries specified
by you and any libraries these link to - recursively. The property just
allows to disable this behaviour by defining which dependent libraries a
given library exposes in its public API and hence which dependent libraries
an executable might need to link against in addition to the main library.

Andreas
--

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] How to handle a submodule existing twice in a project?

2012-05-17 Thread Andreas Pakulat
Hi,

On Thu, May 17, 2012 at 11:20 PM, David Doria daviddo...@gmail.com wrote:

 I have a main project (called Test) that has two submodules, TestA and
 TestB. TestA also has a submodule, which is exactly the same TestB.

 So there is a directory Test/TestB as well as Test/TestA/TestB

 In TestA/CMakeLists.txt, I have add_subdirectory(TestB).
 In Test/CMakeLists.txt, I have add_subdirectory(TestA) as well
 as add_subdirectory(TestB).


Why are you doing that? If TestB is always available as sub-dir under TestA
it doesn't make much sense to also add it as a subdirectory of the parent
of TestA - IMHO. Test/CMakeLists.txt can still use all targets from TestB,
since target names are always valid across the complete project.

Since TestA is a submodule, it should always be present in the sources
anyway.

Andreas
--

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] How to handle a submodule existing twice in a project?

2012-05-17 Thread David Doria

 Why are you doing that? If TestB is always available as sub-dir under
 TestA it doesn't make much sense to also add it as a subdirectory of the
 parent of TestA - IMHO. Test/CMakeLists.txt can still use all targets from
 TestB, since target names are always valid across the complete project.

 Since TestA is a submodule, it should always be present in the sources
 anyway.

 Andreas


I use functionality of TestB in Test. If TestA decides to remove TestB,
then Test will break. I was trying to hide the implementation of TestA
by requiring both TestA and TestB to be submodules of Test, regardless of
whether or not TestA has TestB as a submodule of its own.

See what I mean?

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

[CMake] Build shared and static in one build

2012-05-17 Thread Totte Karlsson

Hi,

How does one gey a setup where both a static and shared version of a library is 
built in 'one go' in CMake? Is that possible?


-totte



--

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] install command installing symbolic links rather than files

2012-05-17 Thread Eric Noulard
2012/5/17 EXT-York, Gantry gantry.y...@boeing.com:
 In our build tree, we have symbolic links to COTS libraries located
 elsewhere.  When we do the install, it copies these symbolic links into the
 run tree when we would actually like a copy of the source of these links
 (the file) in the run tree.

What is the run tree? The tree resulting from installation?

I don't think that having a symlink to external in build tree is a
good practice,
why are you doing that?

May be you could
1) configure_file(COPYONLY) the COTS lib instead of symlink

or
2) use an IMPORTED library using:
add_library(name SHARED|STATIC|MODULE|UNKNOWN IMPORTED)
set_property(TARGET name PROPERTY IMPORTED_LOCATION /path/to/name)

cmake --help-command add_library
http://www.cmake.org/Wiki/CMake/Tutorials/Exporting_and_Importing_Targets

 Is there a way to make the install command copy the file that is the source
 of the symbolic link rather than the symbolic link itself?

I don't think so, if you want that I think you should copy the target at
CMake time as in suggested in method 1).

If you want to bundle those external libs with your software,
may be you should have a look at BundleUtilities.cmake
cmake --help-module BundleUtilities

-- 
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] Fwd: Build shared and static in one build

2012-05-17 Thread Eric Noulard
-- Forwarded message --
From: Eric Noulard eric.noul...@gmail.com
Date: 2012/5/18
Subject: Re: [CMake] Build shared and static in one build
To: to...@dunescientific.com


2012/5/18 Totte Karlsson to...@dunescientific.com:
 Hi,

 How does one gey a setup where both a static and shared version of a library
 is built in 'one go' in CMake? Is that possible?

set(LIBSRC blah.c bouh.c)

add_library(MyLib SHARED ${LIBSRC})

add_library(MyLib-static STATIC ${LIBSRC})
set_target_properties(MyLibStatic PROPERTIES OUTPUT_NAME MyLib)

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


-- 
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] How to handle a submodule existing twice in a project?

2012-05-17 Thread Andreas Pakulat
Hi,

On Thu, May 17, 2012 at 11:36 PM, David Doria daviddo...@gmail.com wrote:

 Why are you doing that? If TestB is always available as sub-dir under
 TestA it doesn't make much sense to also add it as a subdirectory of the
 parent of TestA - IMHO. Test/CMakeLists.txt can still use all targets from
 TestB, since target names are always valid across the complete project.

 Since TestA is a submodule, it should always be present in the sources
 anyway.

 Andreas


 I use functionality of TestB in Test. If TestA decides to remove TestB,
 then Test will break. I was trying to hide the implementation of TestA
 by requiring both TestA and TestB to be submodules of Test, regardless of
 whether or not TestA has TestB as a submodule of its own.

 See what I mean?


Yeah. Well, in that case I'd simply check for the TestB target thats
defined in TestB/CMakeLists.txt as condition for the top-levels
add_subdirectory:

if(NOT TARGET TestB)
  add_subdirectory(TestB)
endif()

That should work.

Andreas
--

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] How to handle a submodule existing twice in a project?

2012-05-17 Thread David Doria

 Yeah. Well, in that case I'd simply check for the TestB target thats
 defined in TestB/CMakeLists.txt as condition for the top-levels
 add_subdirectory:

 if(NOT TARGET TestB)
   add_subdirectory(TestB)
 endif()

 That should work.

 Andreas


Awesome, that seems to do the trick. 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://www.cmake.org/mailman/listinfo/cmake

[Cmake-commits] CMake branch, next, updated. v2.8.8-2882-ge023ee9

2012-05-17 Thread Stephen Kelly
:
   typedef std::vectorcmLocalGenerator* GeneratorVector;
   // for a project collect all its targets by following depend
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx 
b/Source/cmGlobalUnixMakefileGenerator3.cxx
index e63de9c..ebd8219 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -103,18 +103,6 @@ cmGlobalUnixMakefileGenerator3
 }
 }
 
-//
-std::string EscapeJSON(const std::string s) {
-  std::string result;
-  for (std::string::size_type i = 0; i  s.size(); ++i) {
-if (s[i] == '' || s[i] == '\\') {
-  result += '\\';
-}
-result += s[i];
-  }
-  return result;
-}
-
 void cmGlobalUnixMakefileGenerator3::Generate()
 {
   // first do superclass method
@@ -179,11 +167,14 @@ void cmGlobalUnixMakefileGenerator3::AddCXXCompileCommand(
 *this-CommandDatabase  ,  std::endl;
 }
   *this-CommandDatabase  {  std::endl
- \directory\: \  EscapeJSON(workingDirectory)  \,
+ \directory\: \
+   cmGlobalGenerator::EscapeJSON(workingDirectory)  \,
std::endl
- \command\: \  EscapeJSON(compileCommand)  \,
+ \command\: \ 
+  cmGlobalGenerator::EscapeJSON(compileCommand)  \,
std::endl
- \file\: \  EscapeJSON(sourceFile)  \
+ \file\: \ 
+  cmGlobalGenerator::EscapeJSON(sourceFile)  \
std::endl  };
 }
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e839a0ec481b83199f86407e51e27ac41461b582
commit e839a0ec481b83199f86407e51e27ac41461b582
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Thu May 17 00:01:03 2012 -0400
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Thu May 17 14:40:04 2012 +0200

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index a8c6e04..bb1005c 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
 SET(CMake_VERSION_MAJOR 2)
 SET(CMake_VERSION_MINOR 8)
 SET(CMake_VERSION_PATCH 8)
-SET(CMake_VERSION_TWEAK 20120516)
+SET(CMake_VERSION_TWEAK 20120517)
 #SET(CMake_VERSION_RC 1)

---

Summary of changes:
 Modules/CMakeGenericSystem.cmake  |6 
 Source/CMakeVersion.cmake |2 +-
 Source/cmGlobalGenerator.cxx  |   13 +
 Source/cmGlobalGenerator.h|2 +
 Source/cmGlobalNinjaGenerator.cxx |   42 +
 Source/cmGlobalNinjaGenerator.h   |6 
 Source/cmGlobalUnixMakefileGenerator3.cxx |   21 --
 Source/cmNinjaTargetGenerator.cxx |   30 
 Tests/CMakeLib/run_compile_commands.cxx   |2 +-
 Tests/CMakeLists.txt  |2 +-
 10 files changed, 108 insertions(+), 18 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, master, updated. v2.8.8-157-g8519085

2012-05-17 Thread David Cole
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, master has been updated
   via  851908580307f4e45976eaef562ecf00f4025e28 (commit)
   via  3d10f65e39790863d8a939b9ea42c9680549a8ae (commit)
  from  3e0580ba6536186772203f09091ef960a9704c19 (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=851908580307f4e45976eaef562ecf00f4025e28
commit 851908580307f4e45976eaef562ecf00f4025e28
Merge: 3e0580b 3d10f65
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:58:20 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:58:20 2012 -0400

Merge topic 'CPack-preserveTimestampInSourcePackage'

3d10f65 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: 
#0013193


---

Summary of changes:
 Source/CPack/cmCPackGenerator.cxx |7 +--
 1 files changed, 5 insertions(+), 2 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, master, updated. v2.8.8-160-gc47f904

2012-05-17 Thread David Cole
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, master has been updated
   via  c47f90487413703a1306cc0a0f03c05b981c2c2a (commit)
   via  92cee7626c5066a4af4cf66f85b0cd2c06bd9439 (commit)
   via  3bd41f2eb564d891c95e3ead5e72656b7daa3ff1 (commit)
  from  851908580307f4e45976eaef562ecf00f4025e28 (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=c47f90487413703a1306cc0a0f03c05b981c2c2a
commit c47f90487413703a1306cc0a0f03c05b981c2c2a
Merge: 8519085 92cee76
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:58:31 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:58:31 2012 -0400

Merge topic 'ninja_convenience_targets'

92cee76 Ninja: Add a convenient 'help' target.
3bd41f2 Ninja: Add a convenient 'clean' target.


---

Summary of changes:
 Source/cmGlobalNinjaGenerator.cxx |   42 +
 Source/cmGlobalNinjaGenerator.h   |2 +
 2 files changed, 44 insertions(+), 0 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, master, updated. v2.8.8-180-g8e9101a

2012-05-17 Thread David Cole
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, master has been updated
   via  8e9101a0cb81374a619686ee820c86d0531d6372 (commit)
   via  c806b23cfe08259efed1ed310613f65c16a60680 (commit)
   via  761d93129fb72d0418facb785776533b33d24a01 (commit)
   via  5b69ce49d4d80207d8fc90fe970875b4e545c13a (commit)
   via  1b418f1fbfdeea561cc175929ac677d93e523e41 (commit)
   via  b0c07a13d1ee034875c2067f35bd39a9ffef7954 (commit)
   via  0a169e628bb222fec7deead87f6ebe8fa77c7805 (commit)
   via  a7abf5e090379a77f50ce2285ac4c1c99159d9d2 (commit)
   via  220afcaf842b9df501b4235df841395878c971e8 (commit)
   via  62f6bce7a543a38965bfc2596afcd559e9fb7ee9 (commit)
   via  f5c5db0753161726c6032178bb10eb41b1ddde02 (commit)
   via  7955e995ec400fb063529064b6232ca0eedfe5e0 (commit)
   via  a86cd33cdd497acdb6b77a44c146a9779730675e (commit)
   via  319eeb0247f51bb2d380261ce7d63c7ce5020ed0 (commit)
   via  72210c266238607e12c12ed7e983efed557fa784 (commit)
   via  dd07161c512e8d520da51f8bb82a65ec29aa57ba (commit)
   via  e6412e084ed6ba77c17292e3e7c5b9d8e2450bab (commit)
  from  8f635d0268be899286669f1a8be5da6c97671470 (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=8e9101a0cb81374a619686ee820c86d0531d6372
commit 8e9101a0cb81374a619686ee820c86d0531d6372
Merge: 8f635d0 c806b23
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:58:54 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:58:54 2012 -0400

Merge topic 'mumps_coverage'

c806b23 CDash now supports lots of files in coverage. So, show all files.
761d931 Do not try to run bullseye coverage if COVFILE env is empty.
5b69ce4 Update test data to match new coverage format.
1b418f1 Change GT.M Coverage Parser global
b0c07a1 Disable bullseye coverage for mumps coverage test.
0a169e6 Remove uncovered files from cache coverage data.
a7abf5e Add ability to specify more than one package directory or coverage 
directory.
220afca Use TARGET_FILE expression to run ctest so it works with Xcode 
and VS IDE.
62f6bce Use a script to run the test because WORKING_DIRECTORY is not in 
2.8.2.
f5c5db0 Fix some warnings and a bug where it went past the length of a 
vector.
7955e99 Add support for Cache coverage.
a86cd33 Add virutal destructor to silence warning.
319eeb0 Add test for mumps coverage. Also refactor code to prepare for 
cache coverage.
72210c2 Fix line length.
dd07161 Fix warning about char* instead of const char*.
e6412e0 Add support to ctest for GTM mumps coverage.

diff --cc Source/CTest/cmCTestCoverageHandler.cxx
index 15c02b4,bb39e0d..81d3669
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@@ -751,34 -761,47 +761,74 @@@ int cmCTestCoverageHandler::HandlePHPCo
  }
return static_castint(cont-TotalCoverage.size());
  }
+ //--
+ int cmCTestCoverageHandler::HandleMumpsCoverage(
+   cmCTestCoverageHandlerContainer* cont)
+ {
+   // try gtm coverage
+   cmParseGTMCoverage cov(*cont, this-CTest);
+   std::string coverageFile = this-CTest-GetBinaryDir() +
+ /gtm_coverage.mcov;
+   if(cmSystemTools::FileExists(coverageFile.c_str()))
+ {
+ cmCTestLog(this-CTest, HANDLER_VERBOSE_OUTPUT,
+Parsing Cache Coverage:   coverageFile
+ std::endl);
+ cov.ReadCoverageFile(coverageFile.c_str());
+ return static_castint(cont-TotalCoverage.size());
+ }
+   else
+ {
+ cmCTestLog(this-CTest, HANDLER_VERBOSE_OUTPUT,
+ Cannot find foobar GTM coverage file:   coverageFile
+ std::endl);
+ }
+   cmParseCacheCoverage ccov(*cont, this-CTest);
+   coverageFile = this-CTest-GetBinaryDir() +
+ /cache_coverage.cmcov;
+   if(cmSystemTools::FileExists(coverageFile.c_str()))
+ {
+ cmCTestLog(this-CTest, HANDLER_VERBOSE_OUTPUT,
+Parsing Cache Coverage:   coverageFile
+ std::endl);
+ ccov.ReadCoverageFile(coverageFile.c_str());
+ }
+   else
+ {
+ cmCTestLog(this-CTest, HANDLER_VERBOSE_OUTPUT,
+ Cannot find Cache coverage file:   coverageFile
+ std::endl);
+ }
+   return static_castint(cont-TotalCoverage.size());
+ }
  
 +struct cmCTestCoverageHandlerLocale
 +{
 +  cmCTestCoverageHandlerLocale()
 +{
 +if(const char* l = cmSystemTools::GetEnv(LC_ALL))
 +  {
 +  lc_all = l;
 +  }
 +if(lc_all != C)
 +  {
 +  

[Cmake-commits] CMake branch, master, updated. v2.8.8-182-gd6ec477

2012-05-17 Thread David Cole
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, master has been updated
   via  d6ec477b520d8c666811af0c4dc12bbae5519087 (commit)
   via  b1d7c4b1d241445da31482ad893ec992bdccdabf (commit)
  from  8e9101a0cb81374a619686ee820c86d0531d6372 (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=d6ec477b520d8c666811af0c4dc12bbae5519087
commit d6ec477b520d8c666811af0c4dc12bbae5519087
Merge: 8e9101a b1d7c4b
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:59:07 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:59:07 2012 -0400

Merge topic 'FeatureSummaryNicerFormatting'

b1d7c4b FeatureSummary.cmake: nicer formatting


---

Summary of changes:
 Modules/FeatureSummary.cmake |4 ++--
 1 files changed, 2 insertions(+), 2 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, master, updated. v2.8.8-184-g0c03cba

2012-05-17 Thread David Cole
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, master has been updated
   via  0c03cbabc4a5627eebc1d519e36f974a514c9d9c (commit)
   via  d59ba0c591c58f0fe11aa72635680ec72ab12c6c (commit)
  from  d6ec477b520d8c666811af0c4dc12bbae5519087 (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=0c03cbabc4a5627eebc1d519e36f974a514c9d9c
commit 0c03cbabc4a5627eebc1d519e36f974a514c9d9c
Merge: d6ec477 d59ba0c
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:59:17 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:59:17 2012 -0400

Merge topic 'xcode-storyboard-files'

d59ba0c Xcode: Recognize storyboard source files (#13214)


---

Summary of changes:
 Source/cmGlobalXCodeGenerator.cxx |4 
 1 files changed, 4 insertions(+), 0 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, master, updated. v2.8.8-188-ge1c5691

2012-05-17 Thread David Cole
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, master has been updated
   via  e1c5691a0facad84a54f651b3755322449251a0a (commit)
   via  b3b095a933d7f355fcdd57c041c771b7618c9717 (commit)
  from  3e595b9ee597cde73c001bfa2947eef619fdaa95 (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=e1c5691a0facad84a54f651b3755322449251a0a
commit e1c5691a0facad84a54f651b3755322449251a0a
Merge: 3e595b9 b3b095a
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:59:39 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:59:39 2012 -0400

Merge topic 'cmake-trace-elseif'

b3b095a Print any evaluated 'elseif'/'else' commands in trace mode (#13220)


---

Summary of changes:
 Source/cmIfCommand.cxx |   13 +
 Source/cmMakefile.cxx  |   30 ++
 Source/cmMakefile.h|5 +
 3 files changed, 36 insertions(+), 12 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, master, updated. v2.8.8-190-g7873311

2012-05-17 Thread David Cole
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, master has been updated
   via  78733119cbec888f6e6614e9f204194d060be309 (commit)
   via  d807aab28fd86586e8ecb5e4f4d35b43bc68d5f8 (commit)
  from  e1c5691a0facad84a54f651b3755322449251a0a (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=78733119cbec888f6e6614e9f204194d060be309
commit 78733119cbec888f6e6614e9f204194d060be309
Merge: e1c5691 d807aab
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 14:59:52 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 14:59:52 2012 -0400

Merge topic 'ninja-issue-13069'

d807aab Ninja: apply CMAKE_LANG_FLAGS_TYPE to executable targets 
(#13069)


---

Summary of changes:
 Source/cmLocalGenerator.cxx |5 +
 Source/cmNinjaNormalTargetGenerator.cxx |   11 ++-
 2 files changed, 7 insertions(+), 9 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, master, updated. v2.8.8-192-g8e9929d

2012-05-17 Thread David Cole
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, master has been updated
   via  8e9929d527bf6f9dc607d9036e53d226bb165d32 (commit)
   via  b94514f02018d566abc0156d5a729ebe9ee49105 (commit)
  from  78733119cbec888f6e6614e9f204194d060be309 (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=8e9929d527bf6f9dc607d9036e53d226bb165d32
commit 8e9929d527bf6f9dc607d9036e53d226bb165d32
Merge: 7873311 b94514f
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 15:00:01 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu May 17 15:00:01 2012 -0400

Merge topic 'ninja-error-failbit'

b94514f Ninja: mark rules/build file streams failed if error occurred 
(#13067, #13105)


---

Summary of changes:
 Source/cmGlobalNinjaGenerator.cxx |5 +
 1 files changed, 5 insertions(+), 0 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.8-2894-g209ad9c

2012-05-17 Thread David Cole
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  209ad9c32a8d035f5ee512ac7c6649f4576f3138 (commit)
   via  8e9929d527bf6f9dc607d9036e53d226bb165d32 (commit)
   via  78733119cbec888f6e6614e9f204194d060be309 (commit)
   via  e1c5691a0facad84a54f651b3755322449251a0a (commit)
   via  3e595b9ee597cde73c001bfa2947eef619fdaa95 (commit)
   via  0c03cbabc4a5627eebc1d519e36f974a514c9d9c (commit)
   via  d6ec477b520d8c666811af0c4dc12bbae5519087 (commit)
   via  8e9101a0cb81374a619686ee820c86d0531d6372 (commit)
   via  8f635d0268be899286669f1a8be5da6c97671470 (commit)
   via  c47f90487413703a1306cc0a0f03c05b981c2c2a (commit)
   via  851908580307f4e45976eaef562ecf00f4025e28 (commit)
   via  3e0580ba6536186772203f09091ef960a9704c19 (commit)
  from  e023ee9117fd5e90b23bbe0e998ace04577ce5f1 (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=209ad9c32a8d035f5ee512ac7c6649f4576f3138
commit 209ad9c32a8d035f5ee512ac7c6649f4576f3138
Merge: e023ee9 8e9929d
Author: David Cole david.c...@kitware.com
AuthorDate: Thu May 17 15:00:41 2012 -0400
Commit: David Cole david.c...@kitware.com
CommitDate: Thu May 17 15:00:41 2012 -0400

Merge branch 'master' into next


---

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, master, updated. v2.8.8-193-gcb37cae

2012-05-17 Thread Kitware Robot
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, master has been updated
   via  cb37cae6918782d5bef6d30c30bee033de000372 (commit)
  from  8e9929d527bf6f9dc607d9036e53d226bb165d32 (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=cb37cae6918782d5bef6d30c30bee033de000372
commit cb37cae6918782d5bef6d30c30bee033de000372
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Fri May 18 00:01:04 2012 -0400
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Fri May 18 00:01:04 2012 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index bb1005c..4518032 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
 SET(CMake_VERSION_MAJOR 2)
 SET(CMake_VERSION_MINOR 8)
 SET(CMake_VERSION_PATCH 8)
-SET(CMake_VERSION_TWEAK 20120517)
+SET(CMake_VERSION_TWEAK 20120518)
 #SET(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |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