[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1149-gf6b7682

2015-07-19 Thread Stephen Kelly
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  f6b76828f4f8e405d903a6d3491b1b3b84011b82 (commit)
   via  bbd48562b35bf9b7c3eb7c47eaa8a3deb9299a6e (commit)
  from  48c58230191b648f94d24c2034db140348adee91 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f6b76828f4f8e405d903a6d3491b1b3b84011b82
commit f6b76828f4f8e405d903a6d3491b1b3b84011b82
Merge: 48c5823 bbd4856
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 05:51:26 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 05:51:26 2015 -0400

Merge topic 'end-Policy-lifetime' into next

bbd48562 Doc fixup.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bbd48562b35bf9b7c3eb7c47eaa8a3deb9299a6e
commit bbd48562b35bf9b7c3eb7c47eaa8a3deb9299a6e
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Jul 18 21:36:35 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 11:50:54 2015 +0200

Doc fixup.

diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index c51ab13..762d4ff 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -51,6 +51,9 @@ The lifecycle of a policy is:
implementation.  Some policies may continue to issue only a warning
even four releases after introduction.  This does not mean that it is
ok to continue to rely on ``OLD`` behavior.
+5. Two releases after making the ``OLD`` behavior of the policy an error,
+   the error will no longer be diagnosed, and ``NEW`` behavior will be
+   used without further notification.
 
 Note that many existing policies currently have states that appear to not
 follow this lifecycle.  This does not mean that it is ok to continue to

---

Summary of changes:
 Help/manual/cmake-policies.7.rst |3 +++
 1 file changed, 3 insertions(+)


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.3.0-rc4-1151-g82e1694

2015-07-19 Thread Stephen Kelly
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  82e1694f385e55596a746d4c9d8ad06917154d51 (commit)
   via  d5b1839a2f22f2b60b35bf709a86c9916f4411cc (commit)
  from  f6b76828f4f8e405d903a6d3491b1b3b84011b82 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=82e1694f385e55596a746d4c9d8ad06917154d51
commit 82e1694f385e55596a746d4c9d8ad06917154d51
Merge: f6b7682 d5b1839
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 05:51:44 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 05:51:44 2015 -0400

Merge topic 'end-Policy-lifetime' into next

d5b1839a Help: Document the lifecycle of policies.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d5b1839a2f22f2b60b35bf709a86c9916f4411cc
commit d5b1839a2f22f2b60b35bf709a86c9916f4411cc
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Jul 18 21:04:14 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 11:51:33 2015 +0200

Help: Document the lifecycle of policies.

diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 0a313cd..762d4ff 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -23,8 +23,42 @@ either ``NEW`` or ``OLD`` behavior explicitly on the command 
line with the
 A policy is a deprecation mechanism and not a reliable feature toggle.
 A policy should almost never be set to ``OLD``, except to silence warnings
 in an otherwise frozen or stable codebase, or temporarily as part of a
-larger migration path. The ``OLD`` behavior of each policy is undesirable
+larger migration path.  The ``OLD`` behavior of each policy is undesirable
 and will be replaced with an error condition in a future release.
+Maintainers should take timely action to ensure their code works with both
+new and existing versions of CMake without requiring an explicit policy
+setting.  Most policies indicate ways that the code should be changed
+which work with both new and existing CMake releases.
+
+The lifecycle of a policy is:
+
+1. The Policy is introduced in a new version of CMake.  By default the
+   policy issues a warning if code is encountered which depends on ``OLD``
+   behavior.  The warning can be disabled in this release by using
+   the :command:`cmake_policy` command, or by passing ``-Wno-dev`` to
+   the :manual:`cmake(1)` program.
+2. In the release following its introduction, use of
+   the :command:`cmake_policy` command has no effect on whether the
+   warning is issued or not.  Passing ``-Wno-dev`` to
+   the :manual:`cmake(1)` program still silences the warning.
+3. Two releases after the introduction of the policy,
+   passing ``-Wno-dev`` to the :manual:`cmake(1)` program no longer
+   has any effect.
+4. Four releases after the introduction of the policy, the policy may
+   issue an error instead of a warning if ``OLD`` behavior is relied upon.
+   This indicates that the policy has reached the end of its life and the
+   code implementing the ``OLD`` behavior has been removed from the CMake
+   implementation.  Some policies may continue to issue only a warning
+   even four releases after introduction.  This does not mean that it is
+   ok to continue to rely on ``OLD`` behavior.
+5. Two releases after making the ``OLD`` behavior of the policy an error,
+   the error will no longer be diagnosed, and ``NEW`` behavior will be
+   used without further notification.
+
+Note that many existing policies currently have states that appear to not
+follow this lifecycle.  This does not mean that it is ok to continue to
+rely on ``OLD`` behavior for those policies; they will be brought in line
+with this lifecycle in a future release of CMake.
 
 The :command:`cmake_minimum_required` command does more than report an
 error if a too-old version of CMake is used to build a project.  It

---

Summary of changes:


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


[CMake] How to find a specific version of a library?

2015-07-19 Thread Yaron Cohen-Tal
Hi,

For example, I currently have both versions 2 and 3 of the GLFW library
installed on my Linux computer, named libglfw.so.2 and libglfw.so.3. Is
it possible to tell CMake to find a specific version of GLFW (say, version
3), and it would be smart enough to look for libglfw.so.3 or
libglfw.so.3.* or libglfw.so.3.*.*? (Or something equivalent in Mac and
Windows)

Thanx,
Yaron
-- 

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] How to find a specific version of a library?

2015-07-19 Thread Nils Gladitz

On 19.07.2015 08:38, Yaron Cohen-Tal wrote:

Hi,

For example, I currently have both versions 2 and 3 of the GLFW 
library installed on my Linux computer, named libglfw.so.2 and 
libglfw.so.3. Is it possible to tell CMake to find a specific 
version of GLFW (say, version 3), and it would be smart enough to look 
for libglfw.so.3 or libglfw.so.3.* or libglfw.so.3.*.*? (Or 
something equivalent in Mac and Windows)


Those are SONAMEs of the library intended for the runtime loader.
Any number of those may be present in the same installation prefix to 
satisfy runtime dependencies.


By convention only one version within that prefix may be available for 
development at a time.
For that a symlink from libglfw.so to the actual library will be present 
and required header files matching that version will be present.


Hence libglfw.so is intended for development and its presence implies 
that appropriate headers should be available as well.
The sole presence of libglfw.so.2 or libglfw.so.3 neither implies that 
headers will be available nor do you know which of those versions those 
headers would be for.


Nils
--

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-commits] CMake branch, next, updated. v3.3.0-rc4-1165-ge69ff1e

2015-07-19 Thread Stephen Kelly
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  e69ff1eaae0fed54aeb9af6c8b46e23139ccb207 (commit)
   via  c7512801262090ce0570539434716d88fd09da1e (commit)
   via  2a0d0afeb9483bbfa60105f42ace246c7e605e51 (commit)
   via  dec057e2cf5e41d72b42ba3c2d8ae1cb3803a3a8 (commit)
   via  6bfd310d1bedf7acce15ebbfb36c0a6b7b82a0b2 (commit)
   via  825fdc8b0febb04c1b442614c0b07ab918120aa0 (commit)
   via  cad35b1f63a9b1a3dabd3762cace806e1d025fc1 (commit)
   via  8a86cb765e4183a2a9ce8947519246201dbb9159 (commit)
   via  5b63355440ed3a551eeeda65fafc84e25032246a (commit)
   via  a0e6a84259d4f680c124a1401f1a9434773ea87c (commit)
   via  46e51436e3038261bd9a80d2f350e965e7921298 (commit)
   via  a29a88ca512bb924a496984f5c44615c085553a8 (commit)
   via  9c78bd2764369306a2b4801e518f9d57c1cc74ec (commit)
   via  b48fd0064b9cbb70ea1129086b70bf6c17c90a9d (commit)
  from  82e1694f385e55596a746d4c9d8ad06917154d51 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e69ff1eaae0fed54aeb9af6c8b46e23139ccb207
commit e69ff1eaae0fed54aeb9af6c8b46e23139ccb207
Merge: 82e1694 c751280
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 07:52:37 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 07:52:37 2015 -0400

Merge topic 'end-Policy-lifetime' into next

c7512801 CMP0011: Issue warning regardless of policy setting or -Wno-dev.
2a0d0afe CMP0055: Issue warning regardless of policy setting or -Wno-dev.
dec057e2 CMP0056: Issue warning regardless of policy setting or -Wno-dev.
6bfd310d CMP0063: Issue warning regardless of policy setting.
825fdc8b CMP0062: Issue warning regardless of policy setting.
cad35b1f CMP0061: Issue warning regardless of policy setting.
8a86cb76 CMP0060: Issue warning regardless of policy setting.
5b633554 CMP0059: Issue warning regardless of policy setting.
a0e6a842 CMP0058: Issue warning regardless of policy setting.
46e51436 CMP0057: Issue warning regardless of policy setting.
a29a88ca CMP0057: Test that the policy warning is not issued for OLD.
9c78bd27 CMP0057: Fix indentation.
b48fd006 cmake: Add a MessageType for policies with unconditional warnings.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7512801262090ce0570539434716d88fd09da1e
commit c7512801262090ce0570539434716d88fd09da1e
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 13:46:36 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 13:51:45 2015 +0200

CMP0011: Issue warning regardless of policy setting or -Wno-dev.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 8c45a3e..cad1623 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -429,6 +429,7 @@ cmMakefile::IncludeScope::IncludeScope(cmMakefile* mf,
 // Check CMP0011 to determine the policy scope type.
 switch (this-Makefile-GetPolicyStatus(cmPolicies::CMP0011))
   {
+  case cmPolicies::OLD:
   case cmPolicies::WARN:
 // We need to push a scope to detect whether the script sets
 // any policies that would affect the includer and therefore
@@ -437,10 +438,6 @@ cmMakefile::IncludeScope::IncludeScope(cmMakefile* mf,
 this-Makefile-PushPolicy(true);
 this-CheckCMP0011 = true;
 break;
-  case cmPolicies::OLD:
-// OLD behavior is to not push a scope at all.
-this-NoPolicyScope = true;
-break;
   case cmPolicies::REQUIRED_IF_USED:
   case cmPolicies::REQUIRED_ALWAYS:
 // We should never make this policy required, but we handle it
@@ -508,8 +505,8 @@ void cmMakefile::IncludeScope::EnforceCMP0011()
   // script might actually set this policy for its includer.
   switch (this-Makefile-GetPolicyStatus(cmPolicies::CMP0011))
 {
+case cmPolicies::OLD:
 case cmPolicies::WARN:
-  // Warn because the user did not set this policy.
   {
   std::ostringstream w;
   w  cmPolicies::GetPolicyWarning(cmPolicies::CMP0011)  \n
@@ -518,7 +515,7 @@ void cmMakefile::IncludeScope::EnforceCMP0011()
  affects policy settings.  
  CMake is implying the NO_POLICY_SCOPE option for compatibility, 
  so the effects are applied to the including context.;
-  this-Makefile-IssueMessage(cmake::AUTHOR_WARNING, w.str());
+  this-Makefile-IssueMessage(cmake::POLICY_WARNING, w.str());
   }
   break;
 case cmPolicies::REQUIRED_IF_USED:
@@ -532,7 +529,6 @@ void cmMakefile::IncludeScope::EnforceCMP0011()
   

Re: [CMake] How to find a specific version of a library?

2015-07-19 Thread Yaron Cohen-Tal
Ok, I get it. But I still don't understand (and this has nothing to do with
CMake) why is it so that By convention only one version within that prefix
may be available for development at a time. If I want to develop one
project that uses GLFW 2 and one project that uses GLFW 3, I need to have
both installed. I could just link one project with libglfw.so.2 and the
other with libglfw.so.3. But my system (Debian) doesn't let me do that,
as the development packages of GLFW 2 and GLFW 3 conflict (they both
contain the symlink libglfw.so). Do u have any idea why it's like that,
and if it has a workaround? (Other than building from source)

On Sun, Jul 19, 2015 at 1:06 PM, Nils Gladitz nilsglad...@gmail.com wrote:

 On 19.07.2015 08:38, Yaron Cohen-Tal wrote:

 Hi,

 For example, I currently have both versions 2 and 3 of the GLFW library
 installed on my Linux computer, named libglfw.so.2 and libglfw.so.3. Is
 it possible to tell CMake to find a specific version of GLFW (say, version
 3), and it would be smart enough to look for libglfw.so.3 or
 libglfw.so.3.* or libglfw.so.3.*.*? (Or something equivalent in Mac and
 Windows)


 Those are SONAMEs of the library intended for the runtime loader.
 Any number of those may be present in the same installation prefix to
 satisfy runtime dependencies.

 By convention only one version within that prefix may be available for
 development at a time.
 For that a symlink from libglfw.so to the actual library will be present
 and required header files matching that version will be present.

 Hence libglfw.so is intended for development and its presence implies that
 appropriate headers should be available as well.
 The sole presence of libglfw.so.2 or libglfw.so.3 neither implies that
 headers will be available nor do you know which of those versions those
 headers would be for.

 Nils

-- 

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] How to find a specific version of a library?

2015-07-19 Thread Nils Gladitz

On 19.07.2015 14:02, Yaron Cohen-Tal wrote:
Ok, I get it. But I still don't understand (and this has nothing to do 
with CMake) why is it so that By convention only one version within 
that prefix may be available for development at a time. If I want to 
develop one project that uses GLFW 2 and one project that uses GLFW 3, 
I need to have both installed. I could just link one project with 
libglfw.so.2 and the other with libglfw.so.3. But my system 
(Debian) doesn't let me do that, as the development packages of GLFW 2 
and GLFW 3 conflict (they both contain the symlink libglfw.so). Do u 
have any idea why it's like that, and if it has a workaround? (Other 
than building from source)


Having multiple versions of a library available for development at the 
same time within the same installation prefix requires disambiguation 
for the library names and include files at the filesystem level.


Library developers might allow for this by adding a version number to 
the library name (before the suffix) and include directory (e.g. Qt, 
GTK, SDL, Python).


Most often this is limited to major releases where porting from one 
version to the next is non-trivial.
This isn't something that distributions can (or rather should) add if it 
hasn't been part of the library's design.


It is in the interest of library developers and distributions to 
minimize the number of versions and permutations to maintain.


You can work around this somewhat by installing custom versions into 
isolated distinct (version specific) installation prefixes.


Nils



--

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-commits] CMake branch, next, updated. v3.3.0-rc4-1167-g209bd41

2015-07-19 Thread Stephen Kelly
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  209bd4163bcaa2709fe7d5127f8060bcd95f734e (commit)
   via  7a5e4a7b46e1e8d0377b05e57dd1f80b29142a7c (commit)
  from  e69ff1eaae0fed54aeb9af6c8b46e23139ccb207 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=209bd4163bcaa2709fe7d5127f8060bcd95f734e
commit 209bd4163bcaa2709fe7d5127f8060bcd95f734e
Merge: e69ff1e 7a5e4a7
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 10:01:28 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 10:01:28 2015 -0400

Merge topic 'remove-special-MACROS-handling' into next

7a5e4a7b Remove member.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7a5e4a7b46e1e8d0377b05e57dd1f80b29142a7c
commit 7a5e4a7b46e1e8d0377b05e57dd1f80b29142a7c
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 16:00:59 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 16:00:59 2015 +0200

Remove member.

diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index c25b541..489a8b1 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -898,8 +898,6 @@ private:
 
   std::stackint LoopBlockCounter;
 
-  std::vectorstd::string MacrosList;
-
   mutable cmsys::RegularExpression cmDefineRegex;
   mutable cmsys::RegularExpression cmDefine01Regex;
   mutable cmsys::RegularExpression cmAtVarRegex;

---

Summary of changes:
 Source/cmMakefile.h |2 --
 1 file changed, 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.3.0-rc4-1169-gd5f65f1

2015-07-19 Thread Stephen Kelly
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  d5f65f1307f3d4e67d31f333cf34a97588cfe033 (commit)
   via  41bb831fc910d85d79811dc367b25c0880cbe6ac (commit)
  from  209bd4163bcaa2709fe7d5127f8060bcd95f734e (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d5f65f1307f3d4e67d31f333cf34a97588cfe033
commit d5f65f1307f3d4e67d31f333cf34a97588cfe033
Merge: 209bd41 41bb831
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 10:01:50 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 10:01:50 2015 -0400

Merge topic 'remove-special-MACROS-handling' into next

41bb831f cmMakefile: Remove special handling of MACROS property.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=41bb831fc910d85d79811dc367b25c0880cbe6ac
commit 41bb831fc910d85d79811dc367b25c0880cbe6ac
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Jul 18 14:32:09 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 16:01:39 2015 +0200

cmMakefile: Remove special handling of MACROS property.

diff --git a/Source/cmGetCMakePropertyCommand.cxx 
b/Source/cmGetCMakePropertyCommand.cxx
index a460ca6..99e2867 100644
--- a/Source/cmGetCMakePropertyCommand.cxx
+++ b/Source/cmGetCMakePropertyCommand.cxx
@@ -41,7 +41,10 @@ bool cmGetCMakePropertyCommand
   else if ( args[1] == MACROS )
 {
 output.clear();
-this-Makefile-GetListOfMacros(output);
+if (const char* macrosProp = this-Makefile-GetProperty(MACROS))
+  {
+  output = macrosProp;
+  }
 }
   else if ( args[1] == COMPONENTS )
 {
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 6d3054a..fa5a623 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -211,7 +211,7 @@ IsFunctionBlocked(const cmListFileFunction lff, cmMakefile 
mf,
 // if this is the endmacro for this macro then execute
 if (!this-Depth)
   {
-  mf.AddMacro(this-Args[0].c_str());
+  mf.AppendProperty(MACROS, this-Args[0].c_str());
   // create a new command and add it to cmake
   cmMacroHelperCommand *f = new cmMacroHelperCommand();
   f-Args = this-Args;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 3c8a41d2..14ef934 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3817,18 +3817,6 @@ cmVariableWatch *cmMakefile::GetVariableWatch() const
 }
 #endif
 
-void cmMakefile::AddMacro(const char* name)
-{
-  assert(name);
-  this-MacrosList.push_back(name);
-}
-
-void cmMakefile::GetListOfMacros(std::string macros) const
-{
-  assert(macros.empty());
-  macros = cmJoin(this-MacrosList, ;);
-}
-
 cmState *cmMakefile::GetState() const
 {
   return this-GetCMakeInstance()-GetState();
@@ -4265,11 +4253,6 @@ const char *cmMakefile::GetProperty(const std::string 
prop,
 output = cmJoin(this-GetDefinitions(), ;);
 return output.c_str();
 }
-  else if (prop == MACROS)
-{
-this-GetListOfMacros(output);
-return output.c_str();
-}
   else if (prop == INCLUDE_DIRECTORIES)
 {
 std::string sep;
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 98d199a..489a8b1 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -655,12 +655,6 @@ public:
*/
   cmSourceFile *GetSourceFileWithOutput(const std::string outName) const;
 
-  /**
-   * Add a macro to the list of macros. The arguments should be name of the
-   * macro and a documentation signature of it
-   */
-  void AddMacro(const char* name);
-
   ///! Add a new cmTest to the list of tests for this makefile.
   cmTest* CreateTest(const std::string testName);
 
@@ -670,11 +664,6 @@ public:
   cmTest* GetTest(const std::string testName) const;
 
   /**
-   * Get a list of macros as a ; separated string
-   */
-  void GetListOfMacros(std::string macros) const;
-
-  /**
* Return a location of a file in cmake or custom modules directory
*/
   std::string GetModulesFile(const char* name) const;
@@ -909,8 +898,6 @@ private:
 
   std::stackint LoopBlockCounter;
 
-  std::vectorstd::string MacrosList;
-
   mutable cmsys::RegularExpression cmDefineRegex;
   mutable cmsys::RegularExpression cmDefine01Regex;
   mutable cmsys::RegularExpression cmAtVarRegex;

---

Summary of changes:


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


[cmake-developers] Patch for FindBZip2.cmake BZIP2_NEED_PREFIX issue with cross compiled mingw32 applications

2015-07-19 Thread Ralf Habacker
Hi,

the appended patch fixes an issue I have with recent cmake (3.2.3) with
cross compiling an mingw32 application. The applications requires bzip2
library which is handled by cmake provided FindBZip2.cmake. The problem
is that  BZIP2_NEED_PREFIX  is not set where it should be and results
into linker failure not finding bzip2 related symbols.

Some details:

FindBZip2.cmake uses BZ2_bzCompressInit to detect if BZIP2_NEED_PREFIX
should be set.

   CHECK_LIBRARY_EXISTS(${BZIP2_LIBRARIES} BZ2_bzCompressInit 
BZIP2_NEED_PREFIX)

The check is performed with CheckFunctionExists.c, which converts the
function name into a prototype of the form 'char BZ2_bzCompressInit()',
while in real it is

int BZ2_bzCompressInit ( bz_stream *strm, 
 int blockSize100k, 
 int verbosity,
 int workFactor );


The compiler converts this function to the symbol '_BZ2_bzCompressInit',
which is not in the related import library. 
Taking a look into the related import library shows that there is

objdump -x /usr/i686-w64-mingw32/sys-root/mingw/lib/libbz2.dll.a  | grep
CompressInit
[  6](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x
_BZ2_bzCompressInit@16
[  7](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x
__imp__BZ2_bzCompressInit@16

The  '@16' indicates the size of the parameter list
(https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx) with does match
the used prototype 'char BZ2_bzCompressInit().'

The fix is to use a function which do not have parameters like
BZ2_decompress.

objdump -x /usr/i686-w64-mingw32/sys-root/mingw/lib/libbz2.dll.a  | grep
decompress
[  6](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x _BZ2_decompress
[  7](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x
__imp__BZ2_decompress

The appended patch fixes this issue.

Regards
 Ralf

--- /usr/share/cmake/Modules/FindBZip2.cmake.orig	2015-07-19 20:22:50.312758104 +0200
+++ /usr/share/cmake/Modules/FindBZip2.cmake	2015-07-19 20:23:30.849124798 +0200
@@ -60,7 +60,7 @@
include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
cmake_push_check_state()
set(CMAKE_REQUIRED_QUIET ${BZip2_FIND_QUIETLY})
-   CHECK_LIBRARY_EXISTS(${BZIP2_LIBRARIES} BZ2_bzCompressInit  BZIP2_NEED_PREFIX)
+   CHECK_LIBRARY_EXISTS(${BZIP2_LIBRARIES} BZ2_decompress  BZIP2_NEED_PREFIX)
cmake_pop_check_state()
 endif ()
 
-- 

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] Possible to dynamically construct macro/function names to invoke?

2015-07-19 Thread Eric Wing
I would like to dynamically construct a macro or function name to
invoke. I basically have a core CMake system I want users to be able
to extend/plug stuff into without knowing about a lot of the core
CMake implementation. Callback functions would be an easy way for me
to accomplish this.

As an example,

# In my core code, I have a macro designed to callback other macros
macro(DO_PACKAGE _TARGET_NAME)
foreach(callback ${DO_PACKAGE_CALLBACK_LIST})
DO_PACKAGE_FOR_${callback}(${_TARGET_NAME})
endforeach()
endmacro(BLURRR_PACKAGE_EXTRAS)


### Also in my core code, I pick an appropriate time to trigger my
macro to call user callbacks
DERIVE_SOME_NAME()
ADD_EXECUTABLE(${SOME_NAME} ...)
DO_PACKAGE(${SOME_NAME})



# So in user modules provided by others, they follow a convention where
# they define a macro DO_PACKAGE_ appended by their module name.
macro(DO_PACKAGE_FOR_MYMODULE _TARGET_NAME)
MESSAGE(in mymod callback)
# do stuff
endmacro()

# And I make them add their module name to a global list so I can call
it back at the right time
list(APPEND DO_PACKAGE_CALLBACK_LIST MYMODULE)


So in my attempts to do this, I'm getting errors like:
Parse error.  Expected a command name, got unquoted argument with text

Is there way to do this (or something similar)?

Thanks,
Eric
-- 

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] How to assign a boolean expression to a variable?

2015-07-19 Thread Yaron Cohen-Tal
I want to set FOO to TRUE iff both COND_A and COND_B are true.I
tried the following:

set (FOO (${COND_A} AND ${COND_B}))

but then FOO get's a value like (;TRUE;AND;TRUE;) instead of TRUE. So I
had to write instead:

if (${COND_A} AND ${COND_B})
set (FOO TRUE)
else ()
set (FOO FALSE)
endif ()

Is there a better way?

Thanx,
Yaron
-- 

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 FindBZip2.cmake BZIP2_NEED_PREFIX issue with cross compiled mingw32 applications

2015-07-19 Thread Ralf Habacker
Am 19.07.2015 um 21:07 schrieb Ralf Habacker:
 with does match
s/does/does not/

-- 

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.3.0-rc4-1172-g257f7e5

2015-07-19 Thread Stephen Kelly
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  257f7e5e675e7d0f04ec789dbb23a9c4985088ce (commit)
   via  4572d8b34e5ac0985dc3beaefbe9dde514aa0ff4 (commit)
   via  0d48bb627388e24a961d36ea6d152eb866676ac1 (commit)
  from  d5f65f1307f3d4e67d31f333cf34a97588cfe033 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=257f7e5e675e7d0f04ec789dbb23a9c4985088ce
commit 257f7e5e675e7d0f04ec789dbb23a9c4985088ce
Merge: d5f65f1 4572d8b
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 12:21:24 2015 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sun Jul 19 12:21:24 2015 -0400

Merge topic 'KDE4-NO_POLICY_SCOPE' into next

4572d8b3 KDE4: Find the Internal package with NO_POLICY_SCOPE.
0d48bb62 CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4572d8b34e5ac0985dc3beaefbe9dde514aa0ff4
commit 4572d8b34e5ac0985dc3beaefbe9dde514aa0ff4
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sun Jul 19 18:17:16 2015 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sun Jul 19 18:20:57 2015 +0200

KDE4: Find the Internal package with NO_POLICY_SCOPE.

If someone in KDE wants to port away from OLD policies, they might want to 
do
so one policy at a time.  This patch will allow them to use

  find_package(KDE4 NO_POLICY_SCOPE)

in callers to get around the CMP0011 warning, while still getting the policy
settings contained within.

diff --git a/Modules/FindKDE4.cmake b/Modules/FindKDE4.cmake
index 3c2c309..5530166 100644
--- a/Modules/FindKDE4.cmake
+++ b/Modules/FindKDE4.cmake
@@ -105,7 +105,7 @@ if (KDE4_DATA_DIR)
endif ()
 
# use FindKDE4Internal.cmake to do the rest
-   find_package(KDE4Internal ${_req} ${_quiet})
+   find_package(KDE4Internal ${_req} ${_quiet} NO_POLICY_SCOPE)
 else ()
if (KDE4_FIND_REQUIRED)
   message(FATAL_ERROR ERROR: cmake/modules/FindKDE4Internal.cmake not 
found in ${_data_DIR})

---

Summary of changes:
 Modules/FindKDE4.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] How to assign a boolean expression to a variable?

2015-07-19 Thread Nils Gladitz

On 19.07.2015 16:39, Yaron Cohen-Tal wrote:
I want to set FOO to TRUE iff both COND_A and COND_B are 
true.I tried the following:


set (FOO (${COND_A} AND ${COND_B}))


The AND operator is handled and implemented by the if() and while() 
commands and hence not available elsewhere.




but then FOO get's a value like (;TRUE;AND;TRUE;) instead of TRUE. 
So I had to write instead:


if (${COND_A} AND ${COND_B})
set (FOO TRUE)
else ()
set (FOO FALSE)
endif ()

Is there a better way?



Depending on context you might omit the else() block given that if(FOO) 
will evaluate false if FOO is not a defined variable.


Nils
-- 

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-commits] CMake branch, master, updated. v3.3.0-rc4-476-g04b45ac

2015-07-19 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  04b45acc3dbaffc1938ce7dd65aea8466683fdc8 (commit)
  from  0d48bb627388e24a961d36ea6d152eb866676ac1 (commit)

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

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=04b45acc3dbaffc1938ce7dd65aea8466683fdc8
commit 04b45acc3dbaffc1938ce7dd65aea8466683fdc8
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Mon Jul 20 00:01:05 2015 -0400
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Mon Jul 20 00:01:05 2015 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 698f7f3..ef65b09 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 3)
-set(CMake_VERSION_PATCH 20150719)
+set(CMake_VERSION_PATCH 20150720)
 #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


[cmake-developers] Build OS X packages with CPack from Ubuntu

2015-07-19 Thread David Zemon

Hello,

I'd like to build OS X packages for my project. Is that possible with 
CPack? My project doesn't actually have any native binaries - it's for 
embedded systems - so I don't need to cross-compile or anything. The 
installation is very simple and, on Linux, looks like this:


 * /usr/PropWare/
 o include/
   Contains headers for embedded target
 o lib/
   Contains static libraries for embedded target
 o version.txt
   Version file
 * /usr/pwcmake/
 o CMake binary distribution downloaded from cmake.org - I just add
   a few extra config files specific to my embedded target to make
   configuration a bit easier
 * /usr/bin/
 o cmake - /usr/pwcmake/bin/cmake
 o cpack - /usr/pwcmake/bin/cpack
 o  (sym links to each of the executables in CMake)

That's it! Really simple. But when I run cpack --help, the list of 
generators at the bottom doesn't include anything for Mac.


   Generators
  7Z  = 7-Zip file format
  DEB = Debian packages
  IFW = Qt Installer Framework
  NSIS= Null Soft Installer
  NSIS64  = Null Soft Installer (64-bit)
  RPM = RPM packages
  STGZ= Self extracting Tar GZip compression
  TBZ2= Tar BZip2 compression
  TGZ = Tar GZip compression
  TXZ = Tar XZ compression
  TZ  = Tar Compress compression
  ZIP = ZIP file format

Am I dreaming? Can I package my software for Mac from Linux or am I just 
SOL?


Thanks,
David

-- 

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