[Cmake-commits] CMake branch, master, updated. v3.6.0-rc3-235-gf05657d
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
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
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
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
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
> 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
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
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
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
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 KingAuthorDate: 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
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 KingAuthorDate: 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.)
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
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 KingAuthorDate: 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?
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.)
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
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 KingAuthorDate: 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 KingAuthorDate: 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 KingAuthorDate: 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 KingAuthorDate: 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 KingAuthorDate: 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 KingAuthorDate: 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 Swiftwrote: > 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 Christopherwrote: > 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 Bradenwrote: > 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 Swiftwrote: > 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