[Cmake-commits] CMake branch, master, updated. v3.6.0-rc3-235-gf05657d

2016-06-23 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  f05657de9d1ae7247a527186830d37702ec30de4 (commit)
  from  c2c2a2f4c7e23192d3d8cd8d53a427d651ef3137 (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f05657de9d1ae7247a527186830d37702ec30de4
commit f05657de9d1ae7247a527186830d37702ec30de4
Author: Kitware Robot <kwro...@kitware.com>
AuthorDate: Fri Jun 24 00:01:08 2016 -0400
Commit: Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Jun 24 00:01:08 2016 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 6e32ab0..40f8e11 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 6)
-set(CMake_VERSION_PATCH 20160623)
+set(CMake_VERSION_PATCH 20160624)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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


Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Tobias Hunger
Hi Rolf,

Am 23.06.2016 23:00 schrieb "Rolf Eike Beer" :
> What about just passing --server-fd= into it? That way the client
can set
> up whatever if wants to pass there and CMake has nothing to do with any
setup.
> And if one really wants to get messy one could pass a tty there.

Not sure whether that is even possible on all platforms we need.

Libuv (which the server is using) apparently has a cross-platform solution
for setting up a communication channel like the one we need, so I want to
give that a try.

Best Regards,
Tobias
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Tobias Hunger
Hi Ben,

Am 23.06.2016 22:48 schrieb "Ben Boeckel" :
> cmake-oracle sounds reasonable for what it's doing to me.

I hope this thing will provide information more reliable than e.g. the
Oracle of Delphi in ancient Greece:-)

Best Regards,
Tobias
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Tobias Hunger
Am 23.06.2016 22:46 schrieb "Brad King" :
>
> On 06/23/2016 08:27 AM, Tobias Hunger wrote:
> Great!  Thanks for the detailed summary of the meeting and status of the
design.

You are welcome.



> >   * Some names could be improved. Suggestions welcome.
>
> We'll cover these in more detail during review.  The most important name
is
> the name of the feature, and IMO "daemon" is not an accurate description
of
> it (it is never re-parented to 'init' and has a lifetime tied to the
client).
> I think "server" would be better but am open to other suggestions.  Even
if
> it later really becomes a daemon the name "server" will still be
appropriate.

I'll create a task to rename it to "server" then.



> >   * Currently a reply (and error and all other messages in response to a
> > request) contain a "inReplyTo" with the type string from the request
> > triggering the reply.
> >
> > Stephen thinks that is not necessary and argues anything that is not
> > strictly necessary should not be in the first version of the
protocol.
> >
> > I like having this as it makes it helps to identify what a
reply/error is
> > related to. I often paste a whole string of requests into the
daemon and
> > if there is an error it is really easy to see how for things got.
>
> Would each type of query have a known type of response?  Shouldn't the
response
> objects have a type too?

It has a type: "reply" (or "error"). I so far use the inReplyTo field to
specify what the request a reply refers to. Stephen thinks that is not
necessary as there is always one request in flight and the client can just
figure things out without additional information.

> Also, doesn't the cookie allow the query/response
> pairs to be matched?

In theory yes. But a protocol should work without having to reply on
cookies.

A cookie is user data attached to an request. The idea is that e.g. an IDE
can run a request for some more details on some node in the project tree
view and pass some form of ID of the node the information is for along with
the query. That can simplify client code a lot.

> >   * Should we have a split between header (cookie/type/inReplyTo) and
data?
> >
> > Stephen suggested passing all data that is from/for the client in a
> > "body" attribute to make messages more uniform.
> >
> > I think that is just adding one more level into the JSON file for no
> > real benefit.
>
> I agree with Tobias that there is no reason to put the body fields in
> a sub-object.  However, I think the header fields should go in a
sub-object
> named by a "header" field.  That will isolate the header field names from
> the body fields (good for sorted views, future addition of headers, etc.).

The header currently is the type, inReplyTo and the cookie. I did not see
the need to separate those.

> >   * This is currently used to set sourcedirectory, builddirectory and
> > generator.
> >
> > These three should be passed in via the command line instead, again
> > to avoid trouble with users switching to different build
directories/etc.
> > while the daemon is running, which might trigger problems with state
> > cleanup, etc.
>
> Currently cmake-gui supports switching generators, build trees, etc., so
> there is some precedent for such switching within a single process.  If
> we have (re-)initialization bugs they should simply be fixed.

So you think we should keep that? I do not have an opinion here and need to
follow the advise of people more knowledgeable about CMake code than I am.

> >   * Figure out whether a PDB file is actually going to be build.
Currently
> > the PDB file is added to the list of artifacts whenever there is a
.lib
> > file, which is probably wrong. Brad: Do you have an idea how to
> > get this information?
>
> I'm not sure we have that information.  IIRC CMake only adds settings to
the
> generated build system to tell the tools where to put the .pdb and what to
> call it if it happens to be created.  We don't have install rules for them
> so there has never been a need to know whether they will actually be
created.
> Perhaps our format for the list of artifacts needs a way to indicate
whether
> an artifact is optionally present.

I think CMake should know what is generated and should not leave decisions
like that up to generators.

> >   2.8 buildsystem (return cmake files)
> >
> >   * Return a list of cmake files (CMakeLists.txt, etc.) in different
categories
> > (in source directory/in build directory/in the system).
> >
> >   * Stephen suggested to rename this to "cmake_rerun_depends". I am not
sure
> > that name is much better than what is currently used.
>
> "cmake_rerun_depends" describes the current use case for these.  I don't
think
> the name "buildsystem" is clear though.  Other ideas:
>
> * cmake_files
> * cmake_inputs
> * input_files

I like "cmakeInputs":-) I'll make a task to change it if nobody opposes
this suggestion.

Best 

Re: [cmake-developers] daemon-mode: Infrastructure

2016-06-23 Thread Ben Boeckel
On Tue, Jun 14, 2016 at 02:00:14 +0200, Tobias Hunger wrote:
> Implementing new Protocol Versions:
> ==



> Deprecating old Protocol Versions:
> 



One idea that came up on a previous project was the following:

namespace protocol {
namespace aspect1 {
namespace v1 {
}

namespace v2 {
}
}

namespace aspect2 {
namespace v1 {
}
}

namespace v1 {
namespace aspect1 = aspect1::v1;
namespace aspect2 = aspect1::v1;

Version version(1, 0);
bool deprecated = true;
}

namespace v2 {
namespace aspect1 = aspect1::v2;
namespace aspect2 = aspect1::v1;

Version version(2, 0);
bool deprecated = false;
}

namespace latest = v2;
}

Then the code can use `protocol::v1::aspect1::` for explicit v1
communication and `protocol::latest::` in any normal code. It does
require C++11 though. There's probably some template metaprogramming
magic that could be done to instantiate communication ends for each
protocol namespace once communication is done.

I have no idea how maintainable in the long-term this is though.

--Ben
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Rolf Eike Beer
>   1.1 Communication:
>   
>   * Clients should talk to daemon mode via a socket (libuv supports that), 
> but we also want to support stdin/stdout at least for a "debug mode" *
> There should be a separate command line switch to start stdin/out mode and
> for socket mode
>  * This is needed before it makes sense to merge the patch set.

What about just passing --server-fd= into it? That way the client can set 
up whatever if wants to pass there and CMake has nothing to do with any setup. 
And if one really wants to get messy one could pass a tty there.

Eike

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

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Ben Boeckel
On Thu, Jun 23, 2016 at 16:46:48 -0400, Brad King wrote:
> On 06/23/2016 08:27 AM, Tobias Hunger wrote:
> >   * Figure out whether a PDB file is actually going to be build. Currently
> > the PDB file is added to the list of artifacts whenever there is a .lib
> > file, which is probably wrong. Brad: Do you have an idea how to
> > get this information?
> 
> I'm not sure we have that information.  IIRC CMake only adds settings to the
> generated build system to tell the tools where to put the .pdb and what to
> call it if it happens to be created.  We don't have install rules for them
> so there has never been a need to know whether they will actually be created.
> Perhaps our format for the list of artifacts needs a way to indicate whether
> an artifact is optionally present.

Well, there is this issue:

https://gitlab.kitware.com/cmake/cmake/issues/10636

which requests that they always be generated :) .

> >   2.8 buildsystem (return cmake files)
> >   
> >   * Return a list of cmake files (CMakeLists.txt, etc.) in different 
> > categories
> > (in source directory/in build directory/in the system).
> > 
> >   * Stephen suggested to rename this to "cmake_rerun_depends". I am not sure
> > that name is much better than what is currently used.
> 
> "cmake_rerun_depends" describes the current use case for these.  I don't think
> the name "buildsystem" is clear though.  Other ideas:
> 
> * cmake_files
> * cmake_inputs
> * input_files

Also possible: regen_trigger_files

--Ben
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Ben Boeckel
On Thu, Jun 23, 2016 at 16:46:48 -0400, Brad King wrote:
> On 06/23/2016 08:27 AM, Tobias Hunger wrote:
> >   * Some names could be improved. Suggestions welcome.
> 
> We'll cover these in more detail during review.  The most important name is
> the name of the feature, and IMO "daemon" is not an accurate description of
> it (it is never re-parented to 'init' and has a lifetime tied to the client).
> I think "server" would be better but am open to other suggestions.  Even if
> it later really becomes a daemon the name "server" will still be appropriate.
> 
> As you said before there has been a lot of PR with the name "daemon", but I
> don't think it is too late to change it.  Those interested in the features
> will see the new name when it appears in release notes and should easily be
> able to recognize it.

cmake-oracle sounds reasonable for what it's doing to me.

--Ben
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] daemon-mode meeting last Tuesday

2016-06-23 Thread Brad King
On 06/23/2016 08:27 AM, Tobias Hunger wrote:
> Stephen Kelly and me met last Tuesday to talk about the daemon-mode patch we
> both have been working on. It was a very productive meeting: We managed to
> resolve almost all the differences of opinion we had.

Great!  Thanks for the detailed summary of the meeting and status of the design.

>   * Some names could be improved. Suggestions welcome.

We'll cover these in more detail during review.  The most important name is
the name of the feature, and IMO "daemon" is not an accurate description of
it (it is never re-parented to 'init' and has a lifetime tied to the client).
I think "server" would be better but am open to other suggestions.  Even if
it later really becomes a daemon the name "server" will still be appropriate.

As you said before there has been a lot of PR with the name "daemon", but I
don't think it is too late to change it.  Those interested in the features
will see the new name when it appears in release notes and should easily be
able to recognize it.

>   * Clients should talk to daemon mode via a socket (libuv supports that),
> but we also want to support stdin/stdout at least for a "debug mode"
>  * There should be a separate command line switch to start stdin/out mode
>and for socket mode
>  * This is needed before it makes sense to merge the patch set.

Given the noise we have on stdout it makes sense to offer a dedicated
communication path for clients.

>   * Currently a reply (and error and all other messages in response to a
> request) contain a "inReplyTo" with the type string from the request
> triggering the reply.
> 
> Stephen thinks that is not necessary and argues anything that is not
> strictly necessary should not be in the first version of the protocol.
> 
> I like having this as it makes it helps to identify what a reply/error is
> related to. I often paste a whole string of requests into the daemon and
> if there is an error it is really easy to see how for things got.

Would each type of query have a known type of response?  Shouldn't the response
objects have a type too?  Also, doesn't the cookie allow the query/response
pairs to be matched?

>   * Should we have a split between header (cookie/type/inReplyTo) and data?
>   
> Stephen suggested passing all data that is from/for the client in a
> "body" attribute to make messages more uniform.
> 
> I think that is just adding one more level into the JSON file for no
> real benefit.

I agree with Tobias that there is no reason to put the body fields in
a sub-object.  However, I think the header fields should go in a sub-object
named by a "header" field.  That will isolate the header field names from
the body fields (good for sorted views, future addition of headers, etc.).

>   * This is currently used to set sourcedirectory, builddirectory and
> generator.
> 
> These three should be passed in via the command line instead, again
> to avoid trouble with users switching to different build directories/etc.
> while the daemon is running, which might trigger problems with state
> cleanup, etc.

Currently cmake-gui supports switching generators, build trees, etc., so
there is some precedent for such switching within a single process.  If
we have (re-)initialization bugs they should simply be fixed.

>   * Figure out whether a PDB file is actually going to be build. Currently
> the PDB file is added to the list of artifacts whenever there is a .lib
> file, which is probably wrong. Brad: Do you have an idea how to
> get this information?

I'm not sure we have that information.  IIRC CMake only adds settings to the
generated build system to tell the tools where to put the .pdb and what to
call it if it happens to be created.  We don't have install rules for them
so there has never been a need to know whether they will actually be created.
Perhaps our format for the list of artifacts needs a way to indicate whether
an artifact is optionally present.

>   2.8 buildsystem (return cmake files)
>   
>   * Return a list of cmake files (CMakeLists.txt, etc.) in different 
> categories
> (in source directory/in build directory/in the system).
> 
>   * Stephen suggested to rename this to "cmake_rerun_depends". I am not sure
> that name is much better than what is currently used.

"cmake_rerun_depends" describes the current use case for these.  I don't think
the name "buildsystem" is clear though.  Other ideas:

* cmake_files
* cmake_inputs
* input_files

-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: 

[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-523-g272f159

2016-06-23 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  272f159ea60d27ff817bd32335a8edcf2a994fcd (commit)
   via  8bbd5db4c160927cf5e9a2eb2f45fe36a2c2d799 (commit)
  from  f8955baf557a8653e1a2b8e0667b6689931c287b (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=272f159ea60d27ff817bd32335a8edcf2a994fcd
commit 272f159ea60d27ff817bd32335a8edcf2a994fcd
Merge: f8955ba 8bbd5db
Author: Brad King 
AuthorDate: Thu Jun 23 15:52:05 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 15:52:05 2016 -0400

Merge topic 'ninja-osx-content-on-target' into next

8bbd5db4 Ninja: Make bundle resources a dependency of their target


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8bbd5db4c160927cf5e9a2eb2f45fe36a2c2d799
commit 8bbd5db4c160927cf5e9a2eb2f45fe36a2c2d799
Author: Florent Castelli 
AuthorDate: Thu Jun 23 17:01:29 2016 +0200
Commit: Brad King 
CommitDate: Thu Jun 23 15:50:03 2016 -0400

Ninja: Make bundle resources a dependency of their target

Fixes #13816.

diff --git a/Source/cmNinjaTargetGenerator.cxx 
b/Source/cmNinjaTargetGenerator.cxx
index b413c33..954c73e 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -487,6 +487,10 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements()
   this->GetLocalGenerator()->AppendTargetDepends(this->GeneratorTarget,
  orderOnlyDeps);
 
+  // Add order-only dependencies on other files associated with the target.
+  orderOnlyDeps.insert(orderOnlyDeps.end(), this->ExtraFiles.begin(),
+   this->ExtraFiles.end());
+
   // Add order-only dependencies on custom command outputs.
   for (std::vector::const_iterator cci =
  this->CustomCommands.begin();
@@ -717,8 +721,8 @@ void 
cmNinjaTargetGenerator::MacOSXContentGeneratorType::operator()(
   this->Generator->GetGlobalGenerator()->WriteMacOSXContentBuild(input,
  output);
 
-  // Add as a dependency of all target so that it gets called.
-  this->Generator->GetGlobalGenerator()->AddDependencyToAll(output);
+  // Add as a dependency to the target so that it gets called.
+  this->Generator->ExtraFiles.push_back(output);
 }
 
 void cmNinjaTargetGenerator::addPoolNinjaVariable(
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 414aa09..44346c1 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -156,6 +156,7 @@ private:
   /// List of object files for this target.
   cmNinjaDeps Objects;
   std::vector CustomCommands;
+  cmNinjaDeps ExtraFiles;
 };
 
 #endif // ! cmNinjaTargetGenerator_h

---

Summary of changes:
 Source/cmNinjaTargetGenerator.cxx |8 ++--
 Source/cmNinjaTargetGenerator.h   |1 +
 2 files changed, 7 insertions(+), 2 deletions(-)


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


[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-521-gf8955ba

2016-06-23 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  f8955baf557a8653e1a2b8e0667b6689931c287b (commit)
   via  9f2728cef3763dff93a43b933a10f32eb73f7c6b (commit)
   via  149539d9c2d90da76facbd70c969b82af8e2448a (commit)
   via  f30b0fec749710e7eec68ddd148215609a5c01f9 (commit)
  from  c480bac574a2fb8bc93ab35e052720d003cfd808 (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f8955baf557a8653e1a2b8e0667b6689931c287b
commit f8955baf557a8653e1a2b8e0667b6689931c287b
Merge: c480bac 9f2728c
Author: Brad King 
AuthorDate: Thu Jun 23 14:10:39 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 14:10:39 2016 -0400

Merge topic 'handle_unsiffixed_hdf5' into next

9f2728ce FindHDF5: When component targets not found fallback to compiler 
wrappers
149539d9 FindHDF5: Handle HDF5 builds with non-suffixed components
f30b0fec FindHDF5: correctly add lang to each component target name.


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f2728cef3763dff93a43b933a10f32eb73f7c6b
commit 9f2728cef3763dff93a43b933a10f32eb73f7c6b
Author: Robert Maynard 
AuthorDate: Thu Jun 23 12:31:26 2016 -0400
Commit: Robert Maynard 
CommitDate: Thu Jun 23 12:31:26 2016 -0400

FindHDF5: When component targets not found fallback to compiler wrappers

diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index 53c0085..7c1581d 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -366,6 +366,12 @@ if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
 #Older versions of hdf5 don't have a static/shared suffix so
 #if we detect that occurrence clear the suffix
 if(_suffix AND NOT TARGET ${HDF5_${_lang}_TARGET}${_suffix})
+  if(NOT TARGET ${HDF5_${_lang}_TARGET})
+#cant find this component with our without the suffix
+#so bail out, and let the following locate HDF5
+set(HDF5_FOUND FALSE)
+break()
+  endif()
   set(_suffix "")
 endif()
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=149539d9c2d90da76facbd70c969b82af8e2448a
commit 149539d9c2d90da76facbd70c969b82af8e2448a
Author: Robert Maynard 
AuthorDate: Thu Jun 23 10:57:58 2016 -0400
Commit: Robert Maynard 
CommitDate: Thu Jun 23 10:57:58 2016 -0400

FindHDF5: Handle HDF5 builds with non-suffixed components

diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index cc05f1c..53c0085 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -362,6 +362,13 @@ if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
 set(_suffix "-shared")
 endif()
 foreach(_lang ${HDF5_LANGUAGE_BINDINGS})
+
+#Older versions of hdf5 don't have a static/shared suffix so
+#if we detect that occurrence clear the suffix
+if(_suffix AND NOT TARGET ${HDF5_${_lang}_TARGET}${_suffix})
+  set(_suffix "")
+endif()
+
 get_target_property(_lang_location 
${HDF5_${_lang}_TARGET}${_suffix} LOCATION)
 if( _lang_location )
 set(HDF5_${_lang}_LIBRARY ${_lang_location} CACHE PATH

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f30b0fec749710e7eec68ddd148215609a5c01f9
commit f30b0fec749710e7eec68ddd148215609a5c01f9
Author: Robert Maynard 
AuthorDate: Thu Jun 23 10:56:29 2016 -0400
Commit: Robert Maynard 
CommitDate: Thu Jun 23 10:56:29 2016 -0400

FindHDF5: correctly add lang to each component target name.

diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index bc0d50b..cc05f1c 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -362,7 +362,7 @@ if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
 set(_suffix "-shared")
 endif()
 foreach(_lang ${HDF5_LANGUAGE_BINDINGS})
-get_target_property(_lang_location 
${HDF5_${_component}_TARGET}${_suffix} LOCATION)
+get_target_property(_lang_location 
${HDF5_${_lang}_TARGET}${_suffix} LOCATION)
 if( _lang_location )
 set(HDF5_${_lang}_LIBRARY ${_lang_location} CACHE PATH
 "HDF5 ${_lang} library" )

---

Summary of changes:
 Modules/FindHDF5.cmake |   15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake

Re: [cmake-developers] [PATCH] Update documentation for VERSION and SOVERSION for Mach-O file formats (OSX, iOS, BSD etc.)

2016-06-23 Thread Brad King
On 06/23/2016 11:50 AM, Bartosz Kosiorek wrote:
> how to set "current version" and "compatibility version" on
> binaries produced by OS X.
> I have updated documentation to describe how to archieve that

Thanks.  I revised the changes a bit and applied the patch:

 Help: Describe VERSION and SOVERSION meanings for Mach-O binaries
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=00caa1dd

> Do you think it could be pushed into CMake 3.6 ?

Yes, since it is a documentation-only update.  I've queued it for
merge to 'release'.

-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-517-gc480bac

2016-06-23 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  c480bac574a2fb8bc93ab35e052720d003cfd808 (commit)
   via  00caa1dde8d7381ce98731af8b8083ca5b8b0be2 (commit)
  from  6c530851d68c439ff8829f7028e629a52049e7fa (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c480bac574a2fb8bc93ab35e052720d003cfd808
commit c480bac574a2fb8bc93ab35e052720d003cfd808
Merge: 6c53085 00caa1d
Author: Brad King 
AuthorDate: Thu Jun 23 13:44:51 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 13:44:51 2016 -0400

Merge topic 'doc-osx-versions' into next

00caa1dd Help: Describe VERSION and SOVERSION meanings for Mach-O binaries


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=00caa1dde8d7381ce98731af8b8083ca5b8b0be2
commit 00caa1dde8d7381ce98731af8b8083ca5b8b0be2
Author: Bartosz Kosiorek 
AuthorDate: Mon Jun 20 14:34:09 2016 +0200
Commit: Brad King 
CommitDate: Thu Jun 23 13:44:26 2016 -0400

Help: Describe VERSION and SOVERSION meanings for Mach-O binaries

diff --git a/Help/prop_tgt/FRAMEWORK.rst b/Help/prop_tgt/FRAMEWORK.rst
index 6c212c3..8120c36 100644
--- a/Help/prop_tgt/FRAMEWORK.rst
+++ b/Help/prop_tgt/FRAMEWORK.rst
@@ -26,6 +26,10 @@ Example of creation ``dynamicFramework``:
 FRAMEWORK_VERSION C
 MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
 MACOSX_FRAMEWORK_INFO_PLIST Info.plist
+# "current version" in semantic format in Mach-O binary file
+VERSION 16.4.0
+# "compatibility version" in semantic format in Mach-O binary file
+SOVERSION 1.0.0
 PUBLIC_HEADER dynamicFramework.h
 XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
   )
diff --git a/Help/prop_tgt/SOVERSION.rst b/Help/prop_tgt/SOVERSION.rst
index 672ff23..82b6b97 100644
--- a/Help/prop_tgt/SOVERSION.rst
+++ b/Help/prop_tgt/SOVERSION.rst
@@ -3,12 +3,25 @@ SOVERSION
 
 What version number is this target.
 
-For shared libraries VERSION and SOVERSION can be used to specify the
-build version and API version respectively.  When building or
+For shared libraries :prop_tgt:`VERSION` and ``SOVERSION`` can be used to
+specify the build version and API version respectively.  When building or
 installing appropriate symlinks are created if the platform supports
 symlinks and the linker supports so-names.  If only one of both is
 specified the missing is assumed to have the same version number.
-SOVERSION is ignored if NO_SONAME property is set.  For shared
-libraries and executables on Windows the VERSION attribute is parsed
-to extract a "major.minor" version number.  These numbers are used as
-the image version of the binary.
+``SOVERSION`` is ignored if :prop_tgt:`NO_SONAME` property is set.
+
+Windows Versions
+
+
+For shared libraries and executables on Windows the :prop_tgt:`VERSION`
+attribute is parsed to extract a ``.`` version number.
+These numbers are used as the image version of the binary.
+
+Mach-O Versions
+^^^
+
+For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
+the ``SOVERSION`` property corresponds to *compatibility version* and
+:prop_tgt:`VERSION` to *current version*.  See the :prop_tgt:`FRAMEWORK` target
+property for an example.  Versions of Mach-O binaries may be checked with the
+``otool -L `` command.
diff --git a/Help/prop_tgt/VERSION.rst b/Help/prop_tgt/VERSION.rst
index 87f6c49..66e7bde 100644
--- a/Help/prop_tgt/VERSION.rst
+++ b/Help/prop_tgt/VERSION.rst
@@ -3,14 +3,27 @@ VERSION
 
 What version number is this target.
 
-For shared libraries VERSION and SOVERSION can be used to specify the
-build version and API version respectively.  When building or
+For shared libraries ``VERSION`` and :prop_tgt:`SOVERSION` can be used
+to specify the build version and API version respectively.  When building or
 installing appropriate symlinks are created if the platform supports
 symlinks and the linker supports so-names.  If only one of both is
 specified the missing is assumed to have the same version number.  For
-executables VERSION can be used to specify the build version.  When
+executables ``VERSION`` can be used to specify the build version.  When
 building or installing appropriate symlinks are created if the
-platform supports symlinks.  For shared libraries and executables on
-Windows the VERSION attribute is parsed to extract a "major.minor"
-version number.  These numbers are used as the image version of the
-binary.
+platform supports symlinks.
+
+Windows Versions
+
+
+For shared 

[CMake] What is the best way to *export* the transitive dependencies of a library?

2016-06-23 Thread Cfyz
Say the executable Exe uses some static library Foo which uses other
libraries, e. g. Bar:

  Exe --> Foo --> Bar

As the developer of Foo and I want to make it easy to link against:

  find_package(Foo REQUIRED)
  target_link_libraries(Exe PRIVATE Foo)

The problem lies with the various dependencies of Foo necessary to use it:
definitions, include directories, libraries. The Foo is a complex
multimedia-processing library with a wide range of configuration options,
so there is a reason why a lot of information may be necessary to use it in
another project.

The official (and quite neat) way to prepare a configuration module
(FooConfig.cmake) is to use install/export commands:

  install(TARGETS Foo EXPORT FooExport DESTINATION lib)
  install(EXPORT FooExport DESTINATION lib/cmake/Foo FILE FooConfig.cmake)

That, however does not export transitive properties of the target. If, for
example there was some Bar dependency:

  find_package(Bar REQUIRED)
  target_link_libraries(Foo PUBLIC Bar)

Then it will indeed use INTERFACE_xxx properties of Bar while building Foo.
But FooConfig.cmake will only list a lone Bar dependency in the
INTERFACE_LINK_LIBRARIES property of an imported Foo target:

  add_library(Foo STATIC IMPORTED)
  set_target_properties(Foo PROPERTIES ... INTERFACE_LINK_LIBRARIES
"...;Bar")

Which, obviously, is not enough to link against the Foo target in another
project. This behavior is mentioned a bit in CMake documentation:

  "Note that it is not advisable to populate the INTERFACE_LINK_LIBRARIES
of
  a target with paths for dependencies. That would hard-code into installed
  packages the include directory paths for dependencies as found on the
machine
  the package was made on."

Which is probably the reason why CMake does not export interface part of
dependencies itself. But I do not see any way around it. By not including
transitive dependencies in configuration module, the responsibility to
search for those dependencies is shifted to the Exe project. But Exe cannot
know which dependencies were enabled during particular Foo's configuration
or where to search for them.

Is this a bug? I'd expect there to be at least an option to include
transitive dependencies during the export. There is
EXPORT_LINK_INTERFACE_LIBRARIES option but it uses deprecated properties
and has no visible effect.

Or am I missing something here? What is the proper way to go around this
issue?

It is not hard to come up with a workaround, in fact. It should be enough
to populate the INTERFACE_xxx (COMPILE_DEFINITIONS, INCLUDE_DIRECTORIES,
LINK_LIBRARIES, maybe SYSTEM_INCLUDE_DIRECTORIES as well) properties of Foo
with contents of respective INTERFACE_xxx properties of all Foo's
dependencies. That, however, will require to include a rather noticeable
piece of homebrew (and somewhat obscure) code to every project trying to
export imported dependencies. Not elegant, will probably break in some
corner case and hard to sell while advertising CMake to collegues.
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

[cmake-developers] [PATCH] Update documentation for VERSION and SOVERSION for Mach-O file formats (OSX, iOS, BSD etc.)

2016-06-23 Thread Bartosz Kosiorek
Hello.

Last time I faced problem, how to set "current version" and "compatibility
version" on binaries produced by OS X.

I have updated documentation to describe how to archieve that, to make life
easier for new CMake users.

Please let me know what do you think about it.
Do you think it could be pushed into CMake 3.6 ?

Best Regards
Bartosz


0001-Add-description-of-versions-target-property-for-Mach.patch
Description: Binary data
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [CMake] gathering directory names in cmake

2016-06-23 Thread Lee Butler

Alas, this has no effect.  Consider the following shell script:

-
#!/bin/sh
if [ -d attempt ] ; then rm -rf attempt ; fi
mkdir attempt
cd attempt
for d in src src/app src/plugins/one ; do
mkdir -p $d/xyz
touch $d/xyz/one.txt
touch $d/xyz/two.txt
done
PATTERN="\${CMAKE_SOURCE_DIR}/src/*xyz/"

cat > CMakeLists.txt   wrote:


>I have a source tree which contains multiple directories each of which has
>a subdirectory called "xyz".  I want to create a target that creates a zip
>file with each of the xyz directories.  So if the source tree looks like
>   src
>   src/xyz
>src/application
>src/application/xyz
>src/plugins/one/xyz
>
>I want to end up with a zip file containing:
>src/xyz/*
>src/application/xyz/*
>src/plugins/one/xyz/*
>
>On unix I could just generate the list of these directories with:
>   find src -type d -name test -print
>alas, I need a cross-platform way to do this.
>
>I tried:
>   file(GLOB_RECURSE XYZFILES "${CMAKE_SOURCE_DIR}/src/*xyz)
>and got nothing.
>
>At the moment, it looks like I cannot wildcard any portion of the
>directory path.  The following:
>   file(GLOB_RECURSE XYZFILES "${CMAKE_SOURCE_DIR}/src/*xyz*")
>

what about adding a backslash at end of expression ?
file(GLOB_RECURSE XYZFILES "${CMAKE_SOURCE_DIR}/src/*xyz/")


seems to only produce files which have xyz in their name.

>
>Lee
>--
>
-- Regards, Rashad


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [cmake-developers] patch for FindProtobuf.cmake

On 06/22/2016 08:08 PM, Miroslav Drahos wrote:
> I believe I found a bug in FindProtobuf.cmake. Using set with two
> parameters will insert an unwanted semicolon, the list separator.
> The changes I made are like this (several occurrences):
> 
> -set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
> +set(_protobuf_include_path "-I${CMAKE_CURRENT_SOURCE_DIR}")

The ";" in the value of the _protobuf_include_path are just normal
list separators which will be used to divide the list when the variable
is later referenced as ${_protobuf_include_path} in add_custom_command
calls.  The difference that this patch makes is `-I foo` v. `-Ifoo` on
the resulting command lines.

> I also added a test for FindProtobuf.cmake, which is a new addition.
> The complete patch is attached. What I cannot figure out is how to
> run the test? When I configure cmake build, I don’t see an option
> to set the path to protobuf.

Thanks for writing a test!  The `CMake_TEST_Find...` options are all
undocumented options that have to be added explicitly to the cache
when configuring (e.g. -DCMake_TEST_FindProtobuf=1).  The problem is
that we don't know what packages are installed on a system such that
running a find module test for them will work.  Therefore we just
keep them off by default and enable the tests on nightly testing
machines where they are expected to work.  I'd like to find a better
solution but this is at least better than when we had no tests for
individual find modules at all.

Currently the patch makes the test get added as part of the build
of CMake itself.  Please see the other Tests/Find* directories for
how the tests should be laid out.

Thanks,
-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] handling components in Find****

On 06/22/2016 08:11 AM, Farbos a wrote:
> I am trying to write a Find module with components and I am not sure
> of how it should be written.
> I attached the find module, Could someone tell me if I did it well?

It looks okay to me from a quick glance.

Side note: For variables private to the module I suggest using a
prefix like `_IlmBase_` to make it clear to readers that they are
not for public use.

Are there any dependencies between components?  If so then things
need to be more complicated, especially to provide the imported
targets.  See FindBoost for an example.

-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-515-g6c53085

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  6c530851d68c439ff8829f7028e629a52049e7fa (commit)
   via  410d4e47205070ae170a5af5a51badc5ccd66b90 (commit)
  from  57bc2684095458eb0841958c7a0d69d18abc0394 (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c530851d68c439ff8829f7028e629a52049e7fa
commit 6c530851d68c439ff8829f7028e629a52049e7fa
Merge: 57bc268 410d4e4
Author: Brad King 
AuthorDate: Thu Jun 23 09:10:05 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 09:10:05 2016 -0400

Merge topic 'compiler-features' into next

410d4e47 fixup! cxx features: add check for override


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=410d4e47205070ae170a5af5a51badc5ccd66b90
commit 410d4e47205070ae170a5af5a51badc5ccd66b90
Author: Brad King 
AuthorDate: Thu Jun 23 09:09:50 2016 -0400
Commit: Brad King 
CommitDate: Thu Jun 23 09:09:50 2016 -0400

fixup! cxx features: add check for override

diff --git a/Source/cmConfigure.cmake.h.in b/Source/cmConfigure.cmake.h.in
index 4b01ccc..a8d4f58 100644
--- a/Source/cmConfigure.cmake.h.in
+++ b/Source/cmConfigure.cmake.h.in
@@ -29,6 +29,7 @@
 #cmakedefine CMAKE_USE_ELF_PARSER
 #cmakedefine CMAKE_USE_MACH_PARSER
 #cmakedefine CMAKE_ENCODING_UTF8
+#cmakedefine CMake_HAVE_CXX_OVERRIDE
 #cmakedefine CMake_HAVE_CXX_UNORDERED_MAP
 #cmakedefine CMake_HAVE_CXX_UNORDERED_SET
 #define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"

---

Summary of changes:
 Source/cmConfigure.cmake.h.in |1 +
 1 file changed, 1 insertion(+)


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


[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-513-g57bc268

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  57bc2684095458eb0841958c7a0d69d18abc0394 (commit)
   via  c2c2a2f4c7e23192d3d8cd8d53a427d651ef3137 (commit)
   via  015876fa810f45c560c1feb7f0b8092301304db8 (commit)
   via  f101d4eff3462acd90623ba801027d3e7b642fbd (commit)
  from  94c1645bd423442f23dd8a08858b3310ea34150d (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=57bc2684095458eb0841958c7a0d69d18abc0394
commit 57bc2684095458eb0841958c7a0d69d18abc0394
Merge: 94c1645 c2c2a2f
Author: Brad King 
AuthorDate: Thu Jun 23 08:59:50 2016 -0400
Commit: Brad King 
CommitDate: Thu Jun 23 08:59:50 2016 -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/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.6.0-rc3-234-gc2c2a2f

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  c2c2a2f4c7e23192d3d8cd8d53a427d651ef3137 (commit)
   via  ed05f11dd27d668791887f32e2c7be00753cfdb5 (commit)
  from  015876fa810f45c560c1feb7f0b8092301304db8 (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c2c2a2f4c7e23192d3d8cd8d53a427d651ef3137
commit c2c2a2f4c7e23192d3d8cd8d53a427d651ef3137
Merge: 015876f ed05f11
Author: Brad King 
AuthorDate: Thu Jun 23 08:59:29 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 08:59:29 2016 -0400

Merge topic 'vs-tool-override'

ed05f11d VS: Add a VS_TOOL_OVERRIDE source file property


---

Summary of changes:
 Help/manual/cmake-properties.7.rst |1 +
 Help/prop_sf/VS_TOOL_OVERRIDE.rst  |5 +
 Help/release/dev/vs-tool-override.rst  |5 +
 Source/cmVisualStudio10TargetGenerator.cxx |5 +
 Tests/VSWinStorePhone/CMakeLists.txt   |6 +-
 .../Direct3DApp1/Strings/en-US/Resources.resw  |  123 
 6 files changed, 144 insertions(+), 1 deletion(-)
 create mode 100644 Help/prop_sf/VS_TOOL_OVERRIDE.rst
 create mode 100644 Help/release/dev/vs-tool-override.rst
 create mode 100644 
Tests/VSWinStorePhone/Direct3DApp1/Strings/en-US/Resources.resw


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


[Cmake-commits] CMake branch, master, updated. v3.6.0-rc3-230-gf101d4e

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  f101d4eff3462acd90623ba801027d3e7b642fbd (commit)
   via  e36e5a2680f34c64773944b152e5337f8951a644 (commit)
  from  46f49c918af040b92a63171388206adbb9a8b8bc (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f101d4eff3462acd90623ba801027d3e7b642fbd
commit f101d4eff3462acd90623ba801027d3e7b642fbd
Merge: 46f49c9 e36e5a2
Author: Brad King 
AuthorDate: Thu Jun 23 08:59:23 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 08:59:23 2016 -0400

Merge topic 'xcode-bundle-extension'

e36e5a26 Xcode: Properly handle BUNDLE_EXTENSION


---

Summary of changes:
 Source/cmGlobalXCodeGenerator.cxx |5 +
 Tests/CFBundleTest/CMakeLists.txt |1 -
 2 files changed, 5 insertions(+), 1 deletion(-)


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


[Cmake-commits] CMake branch, master, updated. v3.6.0-rc3-232-g015876f

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  015876fa810f45c560c1feb7f0b8092301304db8 (commit)
   via  35a6cac2d3bf550edf5306e6270a80fc848deeb8 (commit)
  from  f101d4eff3462acd90623ba801027d3e7b642fbd (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=015876fa810f45c560c1feb7f0b8092301304db8
commit 015876fa810f45c560c1feb7f0b8092301304db8
Merge: f101d4e 35a6cac
Author: Brad King 
AuthorDate: Thu Jun 23 08:59:26 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 08:59:26 2016 -0400

Merge topic 'vs-sdk-refs'

35a6cac2 VS: Add VS_SDK_REFERENCES target property to reference external 
SDKs


---

Summary of changes:
 Help/manual/cmake-properties.7.rst |1 +
 Help/prop_tgt/VS_SDK_REFERENCES.rst|7 +++
 Help/release/dev/vs-sdk-refs.rst   |5 +
 Source/cmVisualStudio10TargetGenerator.cxx |   22 +-
 Tests/VSWinStorePhone/CMakeLists.txt   |3 +++
 5 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 Help/prop_tgt/VS_SDK_REFERENCES.rst
 create mode 100644 Help/release/dev/vs-sdk-refs.rst


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


[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-509-g94c1645

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  94c1645bd423442f23dd8a08858b3310ea34150d (commit)
   via  49a07d7a142c6ad4558b1ddf0d5d0561f9be5fd6 (commit)
   via  8b3ffbe4afd689488fe02eec6c3363761025c5fd (commit)
   via  46f49c918af040b92a63171388206adbb9a8b8bc (commit)
   via  460a589d209f44628894ba02d0ee6ca4f402ec2d (commit)
  from  622d3b3f10d01ba1ee8dd221ef45675761b9f8da (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 -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94c1645bd423442f23dd8a08858b3310ea34150d
commit 94c1645bd423442f23dd8a08858b3310ea34150d
Merge: 622d3b3 49a07d7
Author: Brad King 
AuthorDate: Thu Jun 23 08:56:02 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Thu Jun 23 08:56:02 2016 -0400

Merge topic 'GetPrerequisites-typo' into next

49a07d7a Merge branch 'backport-GetPrerequisites-typo' into 
GetPrerequisites-typo
8b3ffbe4 GetPrerequisites: fix typo in comment
46f49c91 CMake Nightly Date Stamp
460a589d GetPrerequisites: fix typo in comment


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=49a07d7a142c6ad4558b1ddf0d5d0561f9be5fd6
commit 49a07d7a142c6ad4558b1ddf0d5d0561f9be5fd6
Merge: 8b3ffbe 460a589
Author: Brad King 
AuthorDate: Thu Jun 23 08:55:38 2016 -0400
Commit: Brad King 
CommitDate: Thu Jun 23 08:55:38 2016 -0400

Merge branch 'backport-GetPrerequisites-typo' into GetPrerequisites-typo


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b3ffbe4afd689488fe02eec6c3363761025c5fd
commit 8b3ffbe4afd689488fe02eec6c3363761025c5fd
Author: Rolf Eike Beer 
AuthorDate: Wed Jun 22 21:38:08 2016 +0200
Commit: Brad King 
CommitDate: Thu Jun 23 08:55:07 2016 -0400

GetPrerequisites: fix typo in comment

diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index 1981040..631220b 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -746,7 +746,7 @@ function(get_prerequisites target prerequisites_var 
exclude_system recurse exepa
 set(gp_regex_error "")
 set(gp_regex_fallback "")
 set(gp_regex_cmp_count 1)
-# objdump generaates copious output so we create a grep filter to 
pre-filter results
+# objdump generates copious output so we create a grep filter to 
pre-filter results
 if(WIN32)
   find_program(gp_grep_cmd findstr)
 else()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=460a589d209f44628894ba02d0ee6ca4f402ec2d
commit 460a589d209f44628894ba02d0ee6ca4f402ec2d
Author: Rolf Eike Beer 
AuthorDate: Wed Jun 22 21:38:08 2016 +0200
Commit: Rolf Eike Beer 
CommitDate: Wed Jun 22 21:38:08 2016 +0200

GetPrerequisites: fix typo in comment

diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index 375349f..aa5bf28 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -746,7 +746,7 @@ function(get_prerequisites target prerequisites_var 
exclude_system recurse exepa
 set(gp_regex_error "")
 set(gp_regex_fallback "")
 set(gp_regex_cmp_count 1)
-# objdump generaates copious output so we create a grep filter to 
pre-filter results
+# objdump generates copious output so we create a grep filter to 
pre-filter results
 find_program(gp_grep_cmd grep)
 if(gp_grep_cmd)
   set(gp_cmd_maybe_filter COMMAND ${gp_grep_cmd} "^[[:blank:]]*DLL Name: ")

---

Summary of changes:
 Modules/GetPrerequisites.cmake |2 +-
 Source/CMakeVersion.cmake  |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


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


Re: [CMake] CXX_STANDARD and -std=c++14

At the risk of repeating myself... it's a non-intuitive "gotcha" that

 set_property(TARGET target PROPERTY CXX_STANDARD 14)

results in something OTHER than the C++14 standard.  The issue is likely to
continue tripping people up, resulting in continued posts to this email
list.  If you want C++14 with GNU extensions, you should have to do
something like:

 set_property(TARGET target PROPERTY CXX_STANDARD GNU14)

which would throw an error if you try it with any non-GNU compiler.

-- Elizabeth


On Thu, Jun 23, 2016 at 8:37 AM, James Swift  wrote:

> Thanks, Nicholas.
>
> Might be worth adding a link to that from this page.
>
>
> https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html?highlight=cxx_standard
>
> On 23 June 2016 at 14:34, Nicholas Braden 
> wrote:
>
>> This was asked recently - have a look at the CXX_EXTENSIONS property:
>> https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html
>>
>> Previous discussion:
>> http://public.kitware.com/pipermail/cmake/2016-June/063691.html
>>
>> On Thu, Jun 23, 2016 at 7:27 AM, James Swift  wrote:
>> > Hi,
>> >
>> > is there a way (or can it be added) to get set_property(TARGET target
>> > PROPERTY CXX_STANDARD 14) to output -std=c++14 and not -std=gnu++14 when
>> > needed?
>> >
>> > Thanks,
>> > James Swift
>> >
>> >
>> > --
>> >
>> > Powered by www.kitware.com
>> >
>> > Please keep messages on-topic and check the CMake FAQ at:
>> > http://www.cmake.org/Wiki/CMake_FAQ
>> >
>> > Kitware offers various services to support the CMake community. For more
>> > information on each offering, please visit:
>> >
>> > CMake Support: http://cmake.org/cmake/help/support.html
>> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> > CMake Training Courses: http://cmake.org/cmake/help/training.html
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://public.kitware.com/mailman/listinfo/cmake
>>
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] Compiling binaries with cmake -- help

Yep, if you have all the dependencies it should just work as I
described in a previous message.

On Thu, Jun 23, 2016 at 12:20 AM, Crest Christopher
 wrote:
> I'll get the Python sipconfig module installed, then I hope we can continue
> with getting it compiled ?
>
> Nicholas Braden
> Thursday, June 23, 2016 1:15 AM
> Yes, many projects do not include their dependencies and require you
> to obtain them yourself. In this case it looks like you need the
> Python sipconfig module installed.
>
> On Thu, Jun 23, 2016 at 12:10 AM, Crest Christopher
> Nicholas Braden
> Thursday, June 23, 2016 1:08 AM
> It looks like the instructions are there in the README. I tried
> building on my system but I'm missing some dependencies (e.g. at some
> point it finds my Python 3 installation and tries to run some code but
> fails due to a missing sipconfig module, which I am not familiar
> with).
>
> Generally, to build a project that uses CMake, create an empty
> directory for the build and open a terminal in it, then run CMake with
> the path to the directory containing CMakeLists.txt and optionally
> specify the generator to use if the default is not the one you want.
> Then, if it completes without errors, you can use "cmake --build ." to
> build it and "cmake --build . --target install" to install it, even if
> you used an IDE generator.
>
> As for the project dependencies, you are own your own to get those.
>
> On Wed, Jun 22, 2016 at 11:56 PM, Crest Christopher
> Martin Maurer
> Thursday, June 23, 2016 12:45 AM
> Hello,
>
> how about to share the github URL,
> which file you have downloaded or project you want to compile?
>
> I think this would make it much easier for readers to help.
>
> Best regards,
>
> Martin
>
> Nicholas Braden
> Wednesday, June 22, 2016 8:50 PM
> Are you trying to use an existing CMakeLists.txt, or are you trying to
> create your own? CMake doesn't just work on source files alone.
>
> On Wed, Jun 22, 2016 at 7:30 PM, Crest Christopher
> Crest Christopher
> Wednesday, June 22, 2016 8:30 PM
> Hi, I'm hoping I can get some help on how to compile a repository from
> github which is local on my machine with a series of folders which contain
> CPP extension files.
>
> I have chosen the folders for which most likely contain the correct files to
> compile the binaries followed by the folder to which to build the binaries
> then I have chosen generate but I'm getting an error that the project files
> are invalid ?
>
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] CXX_STANDARD and -std=c++14

Thanks, Nicholas.

Might be worth adding a link to that from this page.

https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html?highlight=cxx_standard

On 23 June 2016 at 14:34, Nicholas Braden 
wrote:

> This was asked recently - have a look at the CXX_EXTENSIONS property:
> https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html
>
> Previous discussion:
> http://public.kitware.com/pipermail/cmake/2016-June/063691.html
>
> On Thu, Jun 23, 2016 at 7:27 AM, James Swift  wrote:
> > Hi,
> >
> > is there a way (or can it be added) to get set_property(TARGET target
> > PROPERTY CXX_STANDARD 14) to output -std=c++14 and not -std=gnu++14 when
> > needed?
> >
> > Thanks,
> > James Swift
> >
> >
> > --
> >
> > Powered by www.kitware.com
> >
> > Please keep messages on-topic and check the CMake FAQ at:
> > http://www.cmake.org/Wiki/CMake_FAQ
> >
> > Kitware offers various services to support the CMake community. For more
> > information on each offering, please visit:
> >
> > CMake Support: http://cmake.org/cmake/help/support.html
> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
> > CMake Training Courses: http://cmake.org/cmake/help/training.html
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Follow this link to subscribe/unsubscribe:
> > http://public.kitware.com/mailman/listinfo/cmake
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] CXX_STANDARD and -std=c++14

This was asked recently - have a look at the CXX_EXTENSIONS property:
https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html

Previous discussion:
http://public.kitware.com/pipermail/cmake/2016-June/063691.html

On Thu, Jun 23, 2016 at 7:27 AM, James Swift  wrote:
> Hi,
>
> is there a way (or can it be added) to get set_property(TARGET target
> PROPERTY CXX_STANDARD 14) to output -std=c++14 and not -std=gnu++14 when
> needed?
>
> Thanks,
> James Swift
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


[CMake] CXX_STANDARD and -std=c++14

Hi,

is there a way (or can it be added) to get set_property(TARGET target
PROPERTY CXX_STANDARD 14) to output -std=c++14 and not -std=gnu++14 when
needed?

Thanks,
James Swift
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

[cmake-developers] daemon-mode meeting last Tuesday

Hello CMake Developers,

Stephen Kelly and me met last Tuesday to talk about the daemon-mode patch we
both have been working on. It was a very productive meeting: We managed to
resolve almost all the differences of opinion we had.

Here is a short summary of what we talked about:

0) General

  * We both want a daemon mode:-)
  
  * Some names could be improved. Suggestions welcome.
  
  * Having cmMessanger would be nice and will make things easier.
  
  * We agreed that we should get the basic infrastructure part reviewed first,
followed by the functionality up to the project structure (codemodel).

  * We both think it only makes sense to merge the infrastructure part into
cmake (if it passes review first of course) once we have some functionality
that is genuinely useful. So we want to aim at having the infrastructure
and the codemodel merged in one go.



1) Infrastructure:

  1.1 Communication:
  
  * Clients should talk to daemon mode via a socket (libuv supports that), 
but we also want to support stdin/stdout at least for a "debug mode"
 * There should be a separate command line switch to start stdin/out mode
   and for socket mode
 * This is needed before it makes sense to merge the patch set.


  1.2 Protocol versions

  * We need the daemon-mode to support different protocol versions. These
need to be versioned independently of the cmake binary itself and we will
try to keep the protocol versions working as long as that is reasonable,
but would try to support them for at least a year or two (if there
are no overriding concerns).

  * We want to have the option to mark protocol versions as experimental.
Experimental protocol versions come with *NO* guarantees and can change
*AT ANY TIME*. If a experimental protocol ends up in a cmake release there
still are no guarantees. I would like to see experimental protocol versions
    in cmake releases, since that makes it really easy for other parties to
    evaluate changes. In my experience hardly anybody builds custom branches:-/

    All this would need to be communicated by cmake e.g. in the release notes.


  1.3 Basic Protocol
  
  * Client/daemon talk via JSON messages.
  
  * All messages have a "type" with a string specifying the type of message.
  
  * We (mostly) have a request/reply model. The client sends a request message
and will receive a reply or an error.
  
  * Requests contain a type, and an optional cookie (which will be returned
together with any message sent by the daemon in response to the request).
A cookie can be any JSON object.

  * A reply is a JSON message of type "reply". It contains the cookie of its
request and any data that the daemon wants to send its client.

  * An error is a JSON message of type "error". It contains the cookie of its
request and an "errorMessage".

  * There are more JSON messages for progress information and messages, etc. and
we can add more as needed.
  
  TO DECIDE:
  
  * Currently a reply (and error and all other messages in response to a
request) contain a "inReplyTo" with the type string from the request
triggering the reply.

Stephen thinks that is not necessary and argues anything that is not
strictly necessary should not be in the first version of the protocol.

I like having this as it makes it helps to identify what a reply/error is
related to. I often paste a whole string of requests into the daemon and
if there is an error it is really easy to see how for things got.

  * Should we have a split between header (cookie/type/inReplyTo) and data?
  
Stephen suggested passing all data that is from/for the client in a
"body" attribute to make messages more uniform.

I think that is just adding one more level into the JSON file for no
real benefit.



2) Basic Command Set


  2.1) Reset (Reset to a state right after daemon start)
  
  * Remove this. This is error prone as data structures may not be cleaned out
properly.


  2.2) globalSettings (Query generators, debug flags, etc.)
  
  * Move generators and other static information into a separate cmake
commandline invocation (http://public.kitware.com/Bug/view.php?id=15462):

* Generators with information on them
* CMake version information
* Module path
* Daemon mode support

all should be available in a machine readable way from that command.

TODO: Figure out how to get all the generator information, e.g. which values
the flags some generator taken can have (architecture, etc.). Stephen
volunteered to check into this.

  * We can report the selected generator/extragenerator here.
  
  * Undecided about whether it makes sense to report source/builddirectory here


  2.3) setGlobalSettings (set the information from globalSettings)
  
  * This is currently used to set sourcedirectory, builddirectory and

Re: [CMake] C header file cross dependency

Hi Patrick,

thank you for your answer and sorry that it took me a while to work on it.

> 
> I forked your repo and played a little bit around.
> 
> https://github.com/pboettch/test_cmake

I pulled those changes and played aroud a bit myself.

https://github.com/martinwag/test_cmake

I'm now back at the point where I decided to use cmake's OBJECTS functionality. 
I didn't find any other way to pack all compiled products into an 
easy-to-include-and-link package for the application.

I was unable to use target_link_libraries() because this actually wants to do 
linking instead of just packaging. The way you used it

add_library(bsp INTERFACE)
target_link_libraries(bsp INTERFACE drivers terminal)
install(TARGETS bsp DESTINATION ${ARCHIVE_INSTALL_DIR})

the install command runs, but does not install anything, resulting in an 
archive with just the headers.


I'm open to package the archive in a different way - install(EXPORT ...) seems 
promising. The important thing to me is that the consuming application doesn't 
need inside knowledge of the bsp package.


> 
> Here are my conclusions:
> 
> 1) Due to the use of add_libary(... OBJECTS ...) you cannot link
> libraries with libraries or interfaces, this is a pity - especially for
> a complex project with a lot of sub-dirs.
> 
> There is a possibility to merge STATIC-libraries to generated one big
> archive using external tools (libtool). If I were you I'd try to this
> way to profit from the target_*-cmake-features.

See above.

> 
> 2) I created a log-dir with an interface-library - which only carries
> the log.h and thus the printf-prototypes
> 
> 3) Both, drivers and terminal link with this interface-library (to get
> their hands on log.h)
> 

This sounds good - I have to check if that works in the (more complex) 
production code.

> 4) In addition I added two libraries to drivers/ uart-logging1 and uart-
> logging2. This shows how you could compile-configure your printf-
> function depending on the hardware used. In the main CMakeLists you just
> need to select one of them - depending on the option's value.
> 
> Basically I followed the idea of instantiating a print-function
> 'somewhere' in the project (it could also be done outside) and then
> select the one you want to use at the final link.
> 
> Of course this way you could add other ways of printf'ing - logging1 and
> logging2 are just stupid examples.

This is -more or less- already in my production code. I want to do all this 
stuff in one configuration header file inside the application.
However, I think it's a good idea to have the option to replace the printing 
function with "anything".

I removed that part to keep the example as simple as possible.


> 
> HTH and sorry for the delay,
Obviously I'm not the fastest myself :-).

Regards,
Martin
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake