Re: [cmake-developers] Generator expressions for output directory/name (and install?)

2015-07-08 Thread Robert Goulet
Ok let's start with the simplest one, OUTPUT_NAME generator expressions 
support, then we'll do the others.

Patch in attachment.

-Original Message-
From: Brad King [mailto:brad.k...@kitware.com] 
Sent: Tuesday, June 16, 2015 10:21 AM
To: Robert Goulet
Cc: cmake-developers@cmake.org
Subject: Re: [cmake-developers] Generator expressions for output directory/name 
(and install?)

On 06/15/2015 03:03 PM, Robert Goulet wrote:
> Updated with improved tests and added docs.

Thanks.  Here are more comments.

Please split the patch to do the OUTPUT_NAME/dir changes first.
Update the Tests/PerConfig test to cover these.  Since the 
RUNTIME_OUTPUT_DIRECTORY properties are learning this, please do it for 
ARCHIVE_OUTPUT_DIRECTORY and LIBRARY_OUTPUT_DIRECTORY too for completeness.

Then do the install DESTINATION changes in a second patch.
That will simplify review.

In this hunk:

>cmInstallTargetGenerator(
> -cmTarget& t, const char* dest, bool implib,
> +cmMakefile* mf, cmTarget& t, const char* dest, bool implib,

The cmTarget has a GetMakefile() method so there should be no need to pass the 
mf separately.

In this hunk:

> @@ -216,6 +216,7 @@ void 
> cmScriptGenerator::GenerateScriptActionsPerConfig(std::ostream& os,
>  i != this->ConfigurationTypes->end(); ++i)
>{
>const char* config = i->c_str();
> +  this->ConfigurationName = config;
>if(this->GeneratesForConfig(config))
>  {
>  // Generate a per-configuration block.

This should not be needed if things are factored correctly.
Everything in that block already passes "config" through as a parameter.

Thanks,
-Brad



output-name-genex.patch
Description: output-name-genex.patch
-- 

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] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Stephen Kelly
Jean-Michaël Celerier wrote:

>> I think there should be a test for the different allowed contexts of the
> ${prefix_arg}_RELAXED_CONSTEXPR and ${prefix_arg}_CONSTEXPR macros. Could
> you extend Tests/Module/WriteCompilerDetectionHeader with a test for that?
> 
> For sure, I'll do this asap.
> 

Great, thanks!

Steve.


-- 

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] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Stephen Kelly
Jean-Michaël Celerier wrote:

>> I think there should be a test for the different allowed contexts of the
> ${prefix_arg}_RELAXED_CONSTEXPR and ${prefix_arg}_CONSTEXPR macros. Could
> you extend Tests/Module/WriteCompilerDetectionHeader with a test for that?
> 
> For sure, I'll do this asap.
> 
>> constexpr foo = ...;
> 
> If I read http://en.cppreference.com/w/cpp/language/constexpr
> correctly, there should be no differences in variable handling between
> C++11 and 14 for constexpr, the changes are only for function bodies.

Right.

Qt 5 provides a macro for this context which expands to either 'const' or 
'constexpr' depending on whether cxx_constexpr is available, and another 
macro which expands to either 'const' or 'constexpr' depending on whether 
cxx_relaxed_constexpr is available. 

Compare the assembly of the following when compiled with -std=c++98/11/14:

  #if __has_feature(cxx_constexpr)
  #define DECL_CONSTEXPR constexpr
  #else
  #define DECL_CONSTEXPR
  #endif

  #if __has_feature(cxx_relaxed_constexpr)
  #define DECL_RELAXED_CONSTEXPR constexpr
  #else
  #define DECL_RELAXED_CONSTEXPR
  #endif

  DECL_CONSTEXPR int getNumRegular()
  {
return 42;
  }

  DECL_RELAXED_CONSTEXPR int getNumRelaxed()
  {
int result = 0;
for (int i = 0; i < 4; ++i)
  result += 10;
return result + 2;
  }

  DECL_CONSTEXPR int betterIfConstexprParameter(int param)
  {
return param / 2;
  }

  #if __has_feature(cxx_constexpr)
  #define CXX11_CONSTEXPR_VARIABLE constexpr
  #else
  #define CXX11_CONSTEXPR_VARIABLE const
  #endif

  #if __has_feature(cxx_relaxed_constexpr)
  #define CXX14_CONSTEXPR_VARIABLE constexpr
  #else
  #define CXX14_CONSTEXPR_VARIABLE const
  #endif

  int main()
  {
CXX11_CONSTEXPR_VARIABLE int num1 = getNumRegular();
CXX11_CONSTEXPR_VARIABLE int result1 = betterIfConstexprParameter(num1);
CXX14_CONSTEXPR_VARIABLE int num2 = getNumRelaxed();
CXX14_CONSTEXPR_VARIABLE int result2 = betterIfConstexprParameter(num2);
return result1 - result2;
  }


$ wc -l 98.s 11.s 14.s 
 126 98.s
  90 11.s
  31 14.s


Of course, such macros don't belong in the same patch as the one you 
submitted and could be in a follow-up.

Thanks,

Steve.


-- 

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] [PATCH] CPackIFW: Variable CPACK_IFW_FRAMEWORK_VERSION cheking

2015-07-08 Thread Brad King
On 07/08/2015 03:40 PM, Konstantin Podsvirov wrote:
> I found that CPack IFW generator does not work on the basis QtIFW 2.0
> and above for projects which include CPackIFW.cmake module... This
> hotfix corrects this chip :-)

Applied, thanks:

 CPackIFW: Load module to set CPACK_IFW_FRAMEWORK_VERSION
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad5c76af

> Will be asked to contribute, what would this change was brought in
> release 3.3.

Yes, this falls in the "bug in new feature" category of allowed updates
to the release.  I've queued it for merge to the 'release' branch once
it tests cleanly.

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] Add command line options for deprecation message control

2015-07-08 Thread Brad King
On 07/08/2015 04:01 PM, Michael Scott wrote:
> Making dev influence deprecation variables is not a problem. To support 
> -Werror=dev we'll need a new variable I'm thinking though, something 
> like a boolean CMAKE_SUPPRESS_DEVELOPER_ERRORS?

Yes, thanks.

> What should be the expected behaviour when combining dev and deprecated 
> now, as they affect each other. If for example the user used the options 
> "-Wno-deprecated -Wdev" in a cmake invocation, the most logical to me 
> would be that this causes CMAKE_SUPPRESS_DEVELOPER_WARNINGS to be TRUE 
> and CMAKE_WARN_DEPRECATED to be FALSE, but implementing that might make 
> the code more complicated than I'd hoped.

Yes, I think you'll need some kind of tracking for what settings were
explicitly specified.

Thanks,
-Brad


P.S.  Your mailer is breaking the message threading.

-- 

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] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Jean-Michaël Celerier
> I think there should be a test for the different allowed contexts of the
${prefix_arg}_RELAXED_CONSTEXPR and ${prefix_arg}_CONSTEXPR macros. Could
you extend Tests/Module/WriteCompilerDetectionHeader with a test for that?

For sure, I'll do this asap.

> constexpr foo = ...;

If I read http://en.cppreference.com/w/cpp/language/constexpr
correctly, there should be no differences in variable handling between
C++11 and 14 for constexpr, the changes are only for function bodies.



Jean-Michaël


On Wed, Jul 8, 2015 at 9:49 PM, Stephen Kelly  wrote:
> Stephen Kelly wrote:
>
>> * A method marked constexpr will fail to compile with a compiler which
>> does not support relaxed constexpr if the method uses language which
>> requires relaxed mode (such as a for loop), even if the method is
>> evaluated in a non- constant expression. I tested GCC and Clang.
>
> Are there any values of '...' where
>
>  constexpr foo = ...;
>
> would compile or not depending only on whether using cxx11-constexpr or
> cxx14-constexpr?
>
> Thanks,
>
> Steve.
>
>
> --
>
> 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
-- 

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] Add command line options for deprecation message control

2015-07-08 Thread Michael Scott

Since AUTHOR_WARNING is a superset of DEPRECATION_WARNING I think
-W[no-]dev can influence CMAKE_WARN_DEPRECATED.  Please also add
-W[no-]error=dev to turn AUTHOR_WARNING into an error and also make
it influence CMAKE_ERROR_DEPRECATED.  Then -Wdeprecated and friends
can still be used to control the DEPRECATION messages separately.


Making dev influence deprecation variables is not a problem. To support 
-Werror=dev we'll need a new variable I'm thinking though, something 
like a boolean CMAKE_SUPPRESS_DEVELOPER_ERRORS?


What should be the expected behaviour when combining dev and deprecated 
now, as they affect each other. If for example the user used the options 
"-Wno-deprecated -Wdev" in a cmake invocation, the most logical to me 
would be that this causes CMAKE_SUPPRESS_DEVELOPER_WARNINGS to be TRUE 
and CMAKE_WARN_DEPRECATED to be FALSE, but implementing that might make 
the code more complicated than I'd hoped.


Cheers,
Michael

--

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] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Stephen Kelly
Stephen Kelly wrote:

> * A method marked constexpr will fail to compile with a compiler which
> does not support relaxed constexpr if the method uses language which
> requires relaxed mode (such as a for loop), even if the method is
> evaluated in a non- constant expression. I tested GCC and Clang.

Are there any values of '...' where 

 constexpr foo = ...;

would compile or not depending only on whether using cxx11-constexpr or 
cxx14-constexpr?

Thanks,

Steve.


-- 

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-developers] [PATCH] CPackIFW: Variable CPACK_IFW_FRAMEWORK_VERSION cheking

2015-07-08 Thread Konstantin Podsvirov
Hi, Brad!

A very small patch single commit from multiple rows in a topic branch 
'cpack-ifw-generator' on my server:

http://git.podsvirov.pro/?p=kitware/cmake.git;a=shortlog;h=refs/heads/cpack-ifw-generator

Here is the commit itself:

CPackIFW: Variable CPACK_IFW_FRAMEWORK_VERSION cheking

http://git.podsvirov.pro/?p=kitware/cmake.git;a=commit;h=2d8a3bd27b2f2be911a3c8c30dd667460281beaf

I found that CPack IFW generator does not work on the basis QtIFW 2.0 and above 
for projects which include
CPackIFW.cmake module... This hotfix corrects this chip :-)

Will be asked to contribute, what would this change was brought in release 3.3.

--
Regards,
Konstantin Podsvirov
-- 

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] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Stephen Kelly
Jean-Michaël Celerier wrote:

> Hello,
> 
> At the ned of this mail is a patch that adds generation of a macro for
> the relaxed ("c++14") constexpr in WriteCompilerDetectionHeader.

Thanks for working on this.

I have some thoughts for archival purposes on the mailing list. These aren't 
things you necessarily need to address:

 * I think I've read about constexpr being made even more relaxed in a 
future CXX standard. Would we then call it 'yet_more_relaxed_constexpr'? 
Clang, whose names CMake follows, likely won't introduce a name for it 
because it will likely start to rely on SD-6 macros instead of extending 
__has_feature. SD-6 doesn't have that problem because it would just use a 
new value for the __cpp_constexpr macro (which already has two possible 
values 200704 and 201304).
 * The 'relaxed' name is already what is currently used for this feature. 
Future developments don't really matter.
 * It's appropriate for this macro to expand to empty if 
cxx_relaxed_constexpr is not available, because a function marked constexpr 
which is only cxx11-constexpr but not cxx14-constexpr will fail to compile 
anyway. Programmers are aware of ways to implement methods in a way that is 
cxx11-constexpr, even if making it cxx14-constexpr would be more 
easy/readable.
* A method marked constexpr will fail to compile with a compiler which does 
not support relaxed constexpr if the method uses language which requires 
relaxed mode (such as a for loop), even if the method is evaluated in a non-
constant expression. I tested GCC and Clang.

So assuming all that is correct, I think this patch is good. 

I think there should be a test for the different allowed contexts of the 
${prefix_arg}_RELAXED_CONSTEXPR and ${prefix_arg}_CONSTEXPR macros. Could 
you extend Tests/Module/WriteCompilerDetectionHeader with a test for that?

Thanks,

Steve.

-- 

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-developers] [PREVIEW] Meet CMake components-based cross-platform GUI installer

2015-07-08 Thread Konstantin Podsvirov
All kind time of day!

This is not the official installer, but who might someday become.

Straight to the point - here online installers

Debian 8:

http://ifw.podsvirov.pro/cmake/cmake-master-amd64-online.run

Windows 7:

http://ifw.podsvirov.pro/cmake/cmake-master-win64-online.exe

If you have ispolzovali them before, you can just be updated from 
"cmake-maintenance".

Version for 32 bit will update the other day.

Installers based on QtIFW 2.0.1.
QtDialog (cmake-gui) for Windows is built on the basis of Qt 5.5.

If some kind person can collect under MacOS it will be possible to please
and lovers of apples.

Source code in branch 'master' now.

I will be glad to hear from you. If you have questions, ask it.

--
Regards,
Konstantin Podsvirov
-- 

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] Adding Swift support to CMake

2015-07-08 Thread Brad King
On 07/08/2015 03:19 PM, Stephen Kelly wrote:
> Seen this way, it looks like 'Apple' is the future proof compiler id and 
> 'AppleClang' is the outlier (an alias could be introduced).

It is "AppleClang" because it is Apple's distribution of Clang.
The reason it cannot just be "Clang" (like we use for Debian's
distribution of Clang, for example) is that the version scheme
is different.  Perhaps it could have been "Apple" but we needed
to keep "Clang" in the name for compatibility with code that
checks if the compiler id MATCHES "Clang".  Also during Apple's
transition from GNU to Clang compilers it could have been confusing.

The compiler id for the old Apple distributions of the GNU compiler
should probably be AppleGNU because the feature set for each version
number differs a bit, but those compilers are going away so there is
no point in changing that now.

> So, I don't think the name 'Apple' is so strange anymore.

Okay, I think we'll stick with "Apple" for Swift.

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] Adding Swift support to CMake

2015-07-08 Thread Stephen Kelly
Brad King wrote:

> On 07/08/2015 03:04 PM, Stephen Kelly wrote:
>> I guess. I think part of the reason it seems wrong to me is that there is
>> a platform id called 'APPLE' (different case) and a variable of that name
>> 
>> There is also an existing GNU platorm/compiler id (same case).
>> 
>> If the same name is to be used, is there any reason not to use the same
>> case?
> 
> All compiler id values use CamelCase or are acronyms.  The variable
> named "APPLE" is historical and meant to match the __APPLE__
> preprocessor macro.  Compiler id values are different.
> 
> What do you think of Ben's "AppleSwift" suggestion?

It made me wonder what would AppleClang be called if it was introduced in 
the future. If the Swift compiler id is 'Apple', and the Clang CXX compiler 
id was 'Apple' then we would have, eg

 Apple-CXX.cmake
 Apple-Swift.cmake

instead of 

 AppleClang-CXX.cmake
 Apple-Swift.cmake

or 

 AppleClang-CXX.cmake
 AppleSwift-Swift.cmake

Seen this way, it looks like 'Apple' is the future proof compiler id and 
'AppleClang' is the outlier (an alias could be introduced).

So, I don't think the name 'Apple' is so strange anymore.

Thanks,

Steve.


-- 

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] Adding Swift support to CMake

2015-07-08 Thread Brad King
On 07/08/2015 03:04 PM, Stephen Kelly wrote:
> I guess. I think part of the reason it seems wrong to me is that there is a 
> platform id called 'APPLE' (different case) and a variable of that name
> 
> There is also an existing GNU platorm/compiler id (same case).
> 
> If the same name is to be used, is there any reason not to use the same 
> case?

All compiler id values use CamelCase or are acronyms.  The variable
named "APPLE" is historical and meant to match the __APPLE__
preprocessor macro.  Compiler id values are different.

What do you think of Ben's "AppleSwift" suggestion?

-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] Adding Swift support to CMake

2015-07-08 Thread Stephen Kelly
Brad King wrote:

>> This seems somehow wrong. Naming it based on some state 'right now'
>> doesn't seem future proof. The 'MSVC' compiler id is not called
>> 'Microsoft', the 'QCC' compiler id is not called 'QNX', 'XL' is not
>> called 'IBM'.
> 
> The PGI compiler id is "PGI".  The PathScale compiler id is "PathScale".
> The TI compiler id is "TI".  The GNU compiler id is "GNU".  The Cray
> compiler id is "Cray".  The Absoft compiler id is "Absoft".  There is
> plenty of precedent to use the vendor name.

I guess. I think part of the reason it seems wrong to me is that there is a 
platform id called 'APPLE' (different case) and a variable of that name

There is also an existing GNU platorm/compiler id (same case).

If the same name is to be used, is there any reason not to use the same 
case?

Thanks,

Steve.


-- 

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] Adding Swift support to CMake

2015-07-08 Thread Ben Boeckel
On Wed, Jul 08, 2015 at 14:42:03 -0400, Brad King wrote:
> On 07/08/2015 02:35 PM, Stephen Kelly wrote:
> > "Since Apple is the only vendor implementing the language
> > right now, the compiler id can be just `Apple`."
> 
> Even if another vendor implements it the one we're identifying
> will still be provided by "Apple".  The above wording was poor.

Or it could follow Clang and there's the FOSS swiftc and then there's
AppleSwift.

--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


[cmake-developers] [CMake 0015643]: Control includes order of project being configured

2015-07-08 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=15643 
== 
Reported By:Stephen Kelly
Assigned To:
== 
Project:CMake
Issue ID:   15643
Category:   CMake
Reproducibility:have not tried
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2015-07-08 20:49 CEST
Last Modified:  2015-07-08 20:49 CEST
== 
Summary:Control includes order of project being configured
Description: 

A buildsystem can contain

 target_link_libraries(foo PRIVATE
  Vendor1::Dep
  Vendor2::OtherDep
 )

I might have otherdep installed in /opt, such that 

 /opt/otherdep/include/otherdep.h

exists.

The 'dep' dependency might be provided in /usr or /usr/local.

I can run cmake with various settings such as CMAKE_PREFIX_PATH or OtherDep_DIR
to find otherdep in the correct location. The 'foo' target will be compiled with

 -I/opt/otherdep/include

However, if otherdep headers are also installed in /usr or /usr/local, that -I
path will not be used to find the headers, and 'foo' will be miscompiled. 

There is no generic solution to this. If upstream changes the order of the
IMPORTED targets, downstreams with 'dep' in /opt will have the problem instead.

This problem is more-common on platforms with package managers which do not
split headers into -devel packages, and when using a mixture of libraries which
are commonly installed though the package manager (such as Qt), and libraries
which are installed outside the package manager using vendor supplied packages
(such as Qt). It can be reproduced by installing devel packages on linux too.

 
http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/52883/focus=52895

Perhaps a variable could be introduced to set priority of IMPORTED targets when
running cmake. This is an issue local to each actor building the project.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-07-08 20:49 Stephen Kelly  New Issue
==

-- 

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] A policy for Policies

2015-07-08 Thread Ben Boeckel
On Wed, Jul 08, 2015 at 14:11:44 -0400, David Cole wrote:
> Interesting. So, sort of, but not really. At least not explicitly.

Well, the docs state it, but there's no error for setting CMP0010 OLD
and CMP0053 NEW at the same time other than the CMP0053 parser turning
any code which would have required CMP0010 into a parse error (and it
warns about the two parsers disagreeing if CMP0053 is the default).

> I'm still interested in seeing an example commit (even if it's only
> theoretical and will never actually be merged in) whose explicit
> purpose is removing the OLD behavior of a single policy. (Is there
> such a commit which removed the OLD behavior of CMP0010, or is it too
> entwined in the parser improvement commits from the 3.1 release cycle
> as to be easily identifiable as a concise diff?)

My initial attempt at the new parser removed the parser entirely (5000+
lines removed :D ), but it has too many corner cases (allowed escape
sequences, CMP0010, and others; look at the tests which came with
CMP0053 for a taste).

--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] Adding Swift support to CMake

2015-07-08 Thread Brad King
On 07/08/2015 02:35 PM, Stephen Kelly wrote:
> "Since Apple is the only vendor implementing the language
> right now, the compiler id can be just `Apple`."

Even if another vendor implements it the one we're identifying
will still be provided by "Apple".  The above wording was poor.

> This seems somehow wrong. Naming it based on some state 'right now' doesn't 
> seem future proof. The 'MSVC' compiler id is not called 'Microsoft', the 
> 'QCC' compiler id is not called 'QNX', 'XL' is not called 'IBM'.

The PGI compiler id is "PGI".  The PathScale compiler id is "PathScale".
The TI compiler id is "TI".  The GNU compiler id is "GNU".  The Cray
compiler id is "Cray".  The Absoft compiler id is "Absoft".  There is
plenty of precedent to use the vendor name.

-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] Adding Swift support to CMake

2015-07-08 Thread Stephen Kelly
Brad King wrote:

> On 07/02/2015 07:54 PM, Eric Wing wrote:
>> Thank you Brad. When you are ready, let me know how I can help next.
> 
> I have basic support with the Xcode generator done.
> 
> Please try out this commit:
> 
>  Add rudimentary support for the Apple Swift language with Xcode
>  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bf112531

"Since Apple is the only vendor implementing the language
right now, the compiler id can be just `Apple`."

This seems somehow wrong. Naming it based on some state 'right now' doesn't 
seem future proof. The 'MSVC' compiler id is not called 'Microsoft', the 
'QCC' compiler id is not called 'QNX', 'XL' is not called 'IBM'.

Is there a better name?

Thanks,

Steve.


-- 

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] Patch to fix incorrect paths in Eclipse CDT generator under Cygwin

2015-07-08 Thread Brad King
On 07/08/2015 12:50 PM, Markus Grech wrote:
> I've attached a patch to fix a bug in the Eclipse CDT generator under Cygwin.

Applied, thanks:

 Eclipse: Fix paths in target links on cygwin
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a672b16a

-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] OBJECT library on left-hand-side of target_link_libraries

2015-07-08 Thread Ben Boeckel
On Wed, Jul 08, 2015 at 19:53:31 +0200, Tamás Kenéz wrote:
> Is this restriction, that an OBJECT library can't be on the left hand side
> of
> target_link_libraries, is it a hard, final decision? Or is this issue
> open for a possible improvement which would allow this and would forward
> the link dependencies to the main target the OBJECT library is incorporated
> into?

I started a branch to do this, but it is a deep rabbit hole. See this
thread:

http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/12509

Development to fix this would be accepted; I'll try and write up the
requirements/features Brad and I figured out later today.

--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] A policy for Policies

2015-07-08 Thread David Cole via cmake-developers
Interesting. So, sort of, but not really. At least not explicitly.

I'm still interested in seeing an example commit (even if it's only
theoretical and will never actually be merged in) whose explicit
purpose is removing the OLD behavior of a single policy. (Is there
such a commit which removed the OLD behavior of CMP0010, or is it too
entwined in the parser improvement commits from the 3.1 release cycle
as to be easily identifiable as a concise diff?)


Weird are the things interesting to geeks, right?

Thx,
David C.



On Wed, Jul 8, 2015 at 10:34 AM, Ben Boeckel  wrote:
> On Tue, Jun 09, 2015 at 11:24:03 -0400, David Cole via cmake-developers wrote:
>> Is there a single example of a policy wherein the OLD behavior has
>> actually been removed?
>
> Technically, yes. CMP0053 as NEW ignores CMP0010's setting and treats it
> as NEW (because the new parser doesn't implement the OLD behavior at
> all). But CMP0010 is one of those "almost assuredly a bug" policies and
> really easy to fix (just escape the '$' or add the closing '}').
>
> --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


[cmake-developers] OBJECT library on left-hand-side of target_link_libraries

2015-07-08 Thread Tamás Kenéz
The documentation states that OBJECT libraries "may not be [...] used in the
right hand side of target_link_libraries()".

However it turns out that they can't be used on the left hand side either:

add_library(objlib OBJECT ...)
target_link_libraries(objlib dep-of-objlib)

Result:

CMake Error at CMakeLists.txt:13 (target_link_libraries):
  Object library target "objlib" may not link to anything.

This makes it impossible to concisely specify if an OBJECT library has a
dependency which is an IMPORTED library.

Only the legacy way works:

add_library(objlib OBJECT ...)
target_include_directories(objlib ${ZLIB_INCLUDE_DIRS})
...
add_executable(maintarget $)
target_link_libraries(maintarget ${ZLIB_LIBRARIES})

But it would be convenient if this would also work:

add_library(objlib OBJECT ...)
target_link_libraries(objlib ZLIB::ZLIB)


Question:

Is this restriction, that an OBJECT library can't be on the left hand side
of
target_link_libraries, is it a hard, final decision? Or is this issue
open for a possible improvement which would allow this and would forward
the link dependencies to the main target the OBJECT library is incorporated
into?

Tamas
-- 

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-developers] Patch to fix incorrect paths in Eclipse CDT generator under Cygwin

2015-07-08 Thread Markus Grech
I've attached a patch to fix a bug in the Eclipse CDT generator under
Cygwin. The generator would generate invalid links for source files under
"[Targets]", making Eclipse unable to open them.
The old links look like "C:/cygdrive/c/...", while new links correctly are
"C:/...".

Markus


0001-Fixed-generation-of-incorrect-paths-for-target-links.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

[cmake-developers] [PATCH] Extended Nsight Tegra support for CMake

2015-07-08 Thread Mikhail Filimonov
Hi, all!

I've extended the Nsight Tegra project generator in CMake and added a bunch of 
properties with the backing variables to fine-tune the generated projects.

The patch adds the following new Target properties:

A new Target properties that maps to all "Configuration" PropertyGroups for 
each configuration defined for Target:
ANDROID_ARCH
ANDROID_STL_TYPE
 
A new Target properties that maps to AntBuild section in generated Visual 
Studio project file:
ANDROID_ANT_ADDITIONAL_OPTIONS
ANDROID_ASSETS_DIRECTORIES
ANDROID_JAR_DEPENDENCIES
ANDROID_JAR_DIRECTORIES
ANDROID_JAVA_SOURCE_DIR
ANDROID_NATIVE_LIB_DEPENDENCIES
ANDROID_NATIVE_LIB_DIRECTORIES
ANDROID_PROCESS_MAX
ANDROID_PROGUARD
ANDROID_PROGUARD_CONFIG_PATH
ANDROID_SECURE_PROPS_PATH
ANDROID_SKIP_ANT_STEP

Comments and suggestions is welcome, thanks in advance.

-Mikhail

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---


ExtendedNsightTegraSupport.patch
Description: ExtendedNsightTegraSupport.patch
-- 

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-developers] [PATCH] Macro generation for relaxed constexpr

2015-07-08 Thread Jean-Michaël Celerier
Hello,

At the ned of this mail is a patch that adds generation of a macro for
the relaxed ("c++14") constexpr in WriteCompilerDetectionHeader.

This is intended for compilers that support c++11 constexpr (with
everything on a single return statement) like GCC-4.9 and the upcoming
MSVC, but not extended constexpr which allows for more complete
functions. This way, code bases can reap the benefits of most recent
compilers at no cost.

Best regards
Jean-Michaël Celerier


diff --git a/Modules/WriteCompilerDetectionHeader.cmake
b/Modules/WriteCompilerDetectionHeader.cmake
index a3b73bb..f7af7ec 100644
--- a/Modules/WriteCompilerDetectionHeader.cmake
+++ b/Modules/WriteCompilerDetectionHeader.cmake
@@ -144,6 +144,7 @@
 # == ===
=
 # ``c_restrict``  ``_RESTRICT``   ``restrict``
 # ``cxx_constexpr``   ``_CONSTEXPR``  ``constexpr``
+# ``cxx_relaxed_constexpr``   ``_RELAXED_CONSTEXPR``  ``constexpr``
 # ``cxx_deleted_functions``   ``_DELETED_FUNCTION``   ``= delete``
 # ``cxx_extern_templates````_EXTERN_TEMPLATE````extern``
 # ``cxx_final``   ``_FINAL``  ``final``
@@ -494,6 +495,16 @@ function(write_compiler_detection_header
 #  endif
 \n")
   endif()
+  if (feature STREQUAL cxx_relaxed_constexpr)
+set(def_value "${prefix_arg}_RELAXED_CONSTEXPR")
+set(file_content "${file_content}
+#  if ${def_name}
+#define ${def_value} constexpr
+#  else
+#define ${def_value}
+#  endif
+\n")
+  endif()
   if (feature STREQUAL cxx_final)
 set(def_value "${prefix_arg}_FINAL")
 set(file_content "${file_content}
-- 

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] A policy for Policies

2015-07-08 Thread Ben Boeckel
On Tue, Jun 09, 2015 at 11:24:03 -0400, David Cole via cmake-developers wrote:
> Is there a single example of a policy wherein the OLD behavior has
> actually been removed?

Technically, yes. CMP0053 as NEW ignores CMP0010's setting and treats it
as NEW (because the new parser doesn't implement the OLD behavior at
all). But CMP0010 is one of those "almost assuredly a bug" policies and
really easy to fix (just escape the '$' or add the closing '}').

--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


[cmake-developers] [CMake 0015642]: empty if case of drive letter changes

2015-07-08 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=15642 
== 
Reported By:Martin Sander
Assigned To:
== 
Project:CMake
Issue ID:   15642
Category:   (No Category)
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2015-07-08 10:13 EDT
Last Modified:  2015-07-08 10:13 EDT
== 
Summary: empty if case of drive letter
changes
Description: 
If cmake is used within cmd.exe and a dependency in add_custom_command(...) has
an upper case drive letter and this files occurs otherwise with a lower case
drive letter, all  tags refererring to the containing
directory are empty.

The difference is produced with Archive.zip:cmakeBugHunting/build/ttt.bat and
visible in Archive.zip:diff.png
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-07-08 10:13 Martin Sander  New Issue
2015-07-08 10:13 Martin Sander  File Added: Archive.zip  
==

-- 

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] [PATCH] fix use of CMAKE_REQUIRED_DEFINITIONS

2015-07-08 Thread Brad King
On 02/24/2015 09:47 AM, Brad King wrote:
> On 02/24/2015 08:25 AM, Mark Abraham wrote:
>> Some modules shoud use CMAKE_REQUIRED_FLAGS, not CMAKE_REQUIRED_DEFINITIONS, 
>> I think.
> 
> Actually both technically support any flags, but the latter
> only for legacy reasons.  I agree CMAKE_REQUIRED_FLAGS is
> clearer for this purpose.  I've applied the patch with
> minor tweaks:
> 
>  Check*CompilerFlag: Refactor method used to pass flags
>  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5d5067ae

We need to revert this change from 3.3 because it caused a regression:

 In CMake 3.3.0-rc3 macro CHECK_CXX_COMPILER_FLAG is broken on OSX for some 
flags
 https://public.kitware.com/Bug/view.php?id=15641

See issue tracker entry for further updates.

-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] AppleClang-CXX.cmake needs an update

2015-07-08 Thread Brad King
On 07/08/2015 03:08 AM, darkapos...@rule506.net wrote:
> C++14 is a first class citizen in Xcode 6.

Applied, thanks:

 AppleClang: Use modern C++14 standard flags for Xcode 6
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0430c0a

-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-developers] [CMake 0015641]: In CMake 3.3.0-rc3 macro CHECK_CXX_COMPILER_FLAG is broken on OSX for some flags

2015-07-08 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
https://public.kitware.com/Bug/view.php?id=15641 
== 
Reported By:Nikolay Zapolnov
Assigned To:
== 
Project:CMake
Issue ID:   15641
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2015-07-08 09:27 EDT
Last Modified:  2015-07-08 09:27 EDT
== 
Summary:In CMake 3.3.0-rc3 macro CHECK_CXX_COMPILER_FLAG is
broken on OSX for some flags
Description: 
In CMake 3.2.3 the CHECK_CXX_COMPILER_FLAG macro launches compiler and then
linker.
But tested flag is passed *only* to the compiler and test passes.

But in CMake 3.3.0-rc3 argument is passed to *both* the compiler and the linker.
This causes an error for some flags, for example for '-x objective-c++'. Passing
this flag to the linker makes it recognize .o files as objective-c++ sources and
fail.

Steps to Reproduce: 
Use the following CMakeLists.txt

INCLUDE(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-x objective-c++" HAVE_OBJC)

This will work correctly in CMake 3.2.3 but in CMake 3.3.0-rc3 HAVE_OBJC will be
always false.

Additional Information: 
Part of CMakeOutput.log for good case and part of CMakeError.log for broken case
are attached to the ticket.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-07-08 09:27 Nikolay ZapolnovNew Issue
2015-07-08 09:27 Nikolay ZapolnovFile Added: good-cmake322.log  
 
==

-- 

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-developers] AppleClang-CXX.cmake needs an update

2015-07-08 Thread darkapostle
C++14 is a first class citizen in Xcode 6.





*diff --git a/Modules/Compiler/AppleClang-CXX.cmake 
b/Modules/Compiler/AppleClang-
CXX.cmake* *index 5194da4..27e4d8a 100644*


*--- a/Modules/Compiler/AppleClang-CXX.cmake*


*+++ b/Modules/Compiler/AppleClang-CXX.cmake*


@@ -13,7 +13,10 @@ if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)


set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")


endif()





-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)


+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)


+  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")


+  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")


+elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)


# AppleClang 5.0 knows this flag, but does not set a __cplusplus macro
greater than 201103L


set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")


set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")




AppleClang-CXX.cmake.diff
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