[Cmake-commits] CMake branch, master, updated. v3.4.1-750-g630e444

2015-12-24 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  630e444e97df52d35a93d22c54359881c1e11193 (commit)
  from  554c3074556fb8fbf4918fc3e2ea3bef97add1ad (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=630e444e97df52d35a93d22c54359881c1e11193
commit 630e444e97df52d35a93d22c54359881c1e11193
Author: Kitware Robot <kwro...@kitware.com>
AuthorDate: Fri Dec 25 00:01:06 2015 -0500
Commit: Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Dec 25 00:01:06 2015 -0500

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 7c730e5..c8c71b5 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 4)
-set(CMake_VERSION_PATCH 20151224)
+set(CMake_VERSION_PATCH 20151225)
 #set(CMake_VERSION_RC 1)

---

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


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


Re: [CMake] Tests with assert and Release build type

2015-12-24 Thread Ruslan Baratov via CMake

On 24-Dec-15 19:46, Magnus Therning wrote:

I'm *not* mixing stuff built with `-g` and stuff built without it.
Actually I don't see anything bad about mixing `-g` code with code 
without `-g`.



   I'm
also *not* mixing linking with debug- and non-debug libraries.
Since we cover a lot of aspects please specify what you mean by debug 
and non-debug libraries.



I'm only mixing stuff build with `-DNDEBUG` and stuff built without it.

see below

On 24-Dec-15 19:48, Magnus Therning wrote:

Ruslan Baratov writes:


On 22-Dec-15 04:07, Magnus Therning wrote:

It is possible to hit situation when ODR will be violated, e.g. if
somebody define optional member in structure with "#if defined(NDEBUG)"
condition. Something like this:
http://stackoverflow.com/questions/20833226/library-headers-and-define

Yes, if we ever start using the NDEBUG macro to control anything in our
code then I'll have to worry about this, as it stands right now it's
only the `assert` from `assert.h` that cares about it.
Even if you care only about `assert` somebody can define different type 
of structures based on value of NDEBUG. I'm talking about 3rd party 
library that you can use and you can't control. If this will lead to ODR 
violation then bug is NOT in 3rd party code, but in YOUR code. That's my 
point. You can mix c++11 with c++98, libc++ with libstdc++, mingw with 
cygwin, mingw with Visual Studio, NDEBUG with non NDEBUG, and it MAY 
works, but when something suddenly will stop working with very obscure 
errors that it's YOUR fault and not 3rd party.//



If I'm reading you correctly you are advocating I simply get rid of the
use of those asserts altogether instead.
I'm not sure what you mean. I'm just telling that if you want do some 
runtime checks even when NDEBUG is OFF then you should introduce your 
own macro FOO_DEBUG. Difference is about global/local affects.


Ruslo
-- 

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] cmake 3.4.1 bootstrap compile error

2015-12-24 Thread Burlen Loring
I found that there is an install of gcc in /usr/local/ and this was 
causing the issue. once I removed that things went smoothly.


On 12/23/2015 09:00 AM, Burlen Loring wrote:

I tried to download and compile 3.4.1 on Apple 10.10.5. I did

./configure prefix=blah && make

here is the error:

g++ -I/Users/bloring/apps/cmake/builds/cmake-3.4.1/Bootstrap.cmk
-I/Users/bloring/apps/cmake/builds/cmake-3.4.1/Source
-I/Users/bloring/apps/cmake/builds/cmake-3.4.1/Bootstrap.cmk -c
/Users/bloring/apps/cmake/builds/cmake-3.4.1/Source/cmBootstrapCommands1.cxx
-o cmBootstrapCommands1.o
In file included from /usr/include/dispatch/dispatch.h:51:0,
 from
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
 from

/System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
 from

/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:55,
 from

/Users/bloring/apps/cmake/builds/cmake-3.4.1/Source/cmFindProgramCommand.cxx:16,
 from

/Users/bloring/apps/cmake/builds/cmake-3.4.1/Source/cmBootstrapCommands1.cxx:52:
/usr/include/dispatch/object.h:143:15: error: expected
unqualified-id before ‘^’ token
 typedef void (^dispatch_block_t)(void);
   ^
/usr/include/dispatch/object.h:143:15: error: expected ‘)’ before
‘^’ token
/usr/include/dispatch/object.h:362:3: error: ‘dispatch_block_t’
has not been declared
   dispatch_block_t notification_block);
   ^
make: *** [cmBootstrapCommands1.o] Error 1

I guess that this is because homebrew installed gcc. All the same, 
shouldn't this just work? If Cmake can't work with homebrew gcc then 
should it ignore it?


Burlen


-- 

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] CMakeFindDependencyMacro limitations

2015-12-24 Thread Stephen Kelly
Roger Leigh wrote:

> On 21/12/2015 15:07, Stephen Kelly wrote:
>> Roger Leigh wrote:
>>> I can understand why REQUIRED and related
>>> arguments are omitted--that is why find_dependency exists--but I'd quite
>>> like to be able to specify COMPONENTS where needed e.g. with FindBoost,
>>> and this is not currently possible.
>>
>> I don't remember whether this was discussed when designing
>> find_dependency. Perhaps COMPONENTS could be added to the macro now.
>
> Currently, for my own needs, COMPONENTS is the single missing piece.  If
> it would be possible to add this, it would certainly be very useful.
> 
> I'd be happy to provide a patch for COMPONENTS if you like.

I think the reason that the macro does not support COMPONENTS is that I 
don't understand how COMPONENTS is supposed to work. For example:

 find_package(Qt5 COMPONENTS Widgets)
 # Is Qt5_FOUND set to true or false?
 find_package(Qt5 COMPONENTS Quick)
 # ... what about now?

What does _FOUND ever mean if the find_package is called multiple 
times with different components? Does it mean anything?

Should CMake disallow multiple use of find_package with the same package and 
with different components?

If user code has 

 find_package(Qt5 COMPONENTS Widgets)
 find_package(FooBar REQUIRED)

and FooBarConfig.cmake has

 find_dependency(Qt5 COMPONENTS Quick)

then the if(Qt5_FOUND) in the macro will mean it will not try to find the 
Quick component.

So, there may be a need to establish a convention such as 

 __FOUND

and check that for each component in the macro. 

You would also need to think through everything and find out whether that is 
really a full solution. I haven't thought more deeply about it than the 
above.

Note that the above example with Qt 5 can not currently happen in practice 
because the find_dependency macro does not support COMPONENTS, so config 
files must instead use 

 find_dependency(Qt5Quick)

if they want to use the macro currently. This is a good thing.

So, I would like to know if

* adding COMPONENTS support to the find_dependency macro is the right thing 
  to do
* or if the right thing to do is to move away from support for COMPONENTS 
  generally because of its messy semantics
* or if find_package should change to not support multiple calls for the 
  same package. 

I really don't know the answer - I think someone needs to do deep thinking 
about it.

I would prefer the macro not be changed before that deep thinking about 
COMPONENTS generally is done.

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] Tests with assert and Release build type

2015-12-24 Thread Magnus Therning

David Cole writes:

> Not only is it possible ... it WILL happen if you use the Microsoft
> C++ compiler and try to mix and match Release and Debug compilation
> units.
>
> The MS compiler has some very nice memory tracking facilities built
> into the Debug runtime libraries, but it is accomplished via different
> structs for Debug and Release builds with extra stuff in the Debug
> structs.

> So allocations from a Debug compilation unit will not be accessed
> correctly in a linked-in Release compilation unit when a pointer to it
> is passed across the boundary.
>
> You will see access violations and hard crashes happening in builds
> from the Microsoft compiler unless you ensure that everything in a
> build has matching Debug/Release defines and compiler settings.
>
> It is only safe to mix-n-match if all calls which cross a boundary
> between compilation units have NO differences in their struct and
> class definitions from an ABI perspective. Since it is difficult to
> verify when this is the case (in general) for large C++ projects, it's
> best to avoid mixing and matching...

I'm *not* mixing stuff built with `-g` and stuff built without it.  I'm
also *not* mixing linking with debug- and non-debug libraries.

I'm only mixing stuff build with `-DNDEBUG` and stuff built without it.

/M

--
Magnus Therning  OpenPGP: 0x927912051716CE39
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

Software isn't finished until the last user is dead.
-- head on FLOSS Weekly


signature.asc
Description: PGP signature
-- 

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] Adding Swift support to CMake for Linux/Makefiles

2015-12-24 Thread Eric Wing
> set(SWIFT_BRIDGING_HEADER SwiftSDL-Bridging-Header.h)

Quick addendum: Just realized the bridging header should probably be per-target.
-- 

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] Tests with assert and Release build type

2015-12-24 Thread Magnus Therning

Ruslan Baratov writes:

> On 22-Dec-15 04:07, Magnus Therning wrote:
>> Ruslan Baratov writes:
>>
>>> On 20-Dec-15 01:31, Magnus Therning wrote:
 Ruslan Baratov writes:

> How about using RelWithDebInfo? See:
> http://stackoverflow.com/a/28124715/2288008
 Hmm, I'm probably missing something but how does that solve the issue
 with some targets requiring NDEBUG to be *undefined* and other targets
 requiring NDEBUG to be defined?
>>> I don't think that building targets with different NDEBUG values is a
>>> good idea. More correct approach will be to introduce custom macro to
>>> allow checks (i.e. FOO_NDEBUG/FOO_DEBUG).
>> Why not?
> It is possible to hit situation when ODR will be violated, e.g. if
> somebody define optional member in structure with "#if defined(NDEBUG)"
> condition. Something like this:
> http://stackoverflow.com/questions/20833226/library-headers-and-define

Yes, if we ever start using the NDEBUG macro to control anything in our
code then I'll have to worry about this, as it stands right now it's
only the `assert` from `assert.h` that cares about it.

If I'm reading you correctly you are advocating I simply get rid of the
use of those asserts altogether instead.

/M

--
Magnus Therning  OpenPGP: 0x927912051716CE39
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

The results point out the fragility of programmer expertise: advanced
programmers have strong expectations about what programs should look like,
and when those expectations are violated--in seemingly innocuous
ways--their performance drops drastically.
 -- Elliot Soloway and Kate Ehrlich


signature.asc
Description: PGP signature
-- 

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