[cmake-developers] compile-defs-debugging and framework-interface-includes

2013-07-22 Thread Stephen Kelly

Hi there,

compile-defs-debugging is failing with some Visual Studio generators. I 
don't have those ides to figure out what is going wrong. My reading of the 
Preprocessor test indicates that if my new test fails, that one should too, 
so I don't understand where the problem is.

The framework-interface-includes test is also failing on all macs, after I 
changed it to use a regex to match a framework. I don't have ready access to 
a mac for a few days to find out what is wrong there.

Can I get some help with those issues?

Thanks,

Steve.


--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] compile-defs-debugging and framework-interface-includes

2013-07-22 Thread clinton
- Original Message -
 
 Hi there,
 
 compile-defs-debugging is failing with some Visual Studio generators. I
 don't have those ides to figure out what is going wrong. My reading of the
 Preprocessor test indicates that if my new test fails, that one should too,
 so I don't understand where the problem is.
 
 The framework-interface-includes test is also failing on all macs, after I
 changed it to use a regex to match a framework. I don't have ready access to
 a mac for a few days to find out what is wrong there.
 
 Can I get some help with those issues?
 
 Thanks,
 
 Steve.
 

I've pushed a fix for you on stage/framework-interface-includes.

Clint
--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] compile-defs-debugging and framework-interface-includes

2013-07-22 Thread Stephen Kelly
clin...@elemtech.com wrote:

 The framework-interface-includes test is also failing on all macs, after
 I changed it to use a regex to match a framework. I don't have ready
 access to a mac for a few days to find out what is wrong there.
 
 I've pushed a fix for you on stage/framework-interface-includes.

Awesome, thanks. I've squashed it into the original.

Thanks,

Steve.




--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] CMake dashboard test failures

2013-07-22 Thread David Cole
Thanks, Rob. Looking forward to green rows from my machines again




D




From: Robert Maynard
Sent: ‎Monday‎, ‎July‎ ‎22‎, ‎2013 ‎11‎:‎23‎ ‎AM
To: Brad King
Cc: David Cole; CMake Developers; Stephen Kelly

Yeap, I was the one that introduced this error. I have just pushed a
new topic to next, that in testing on my windows machine fixed the
problem.

On Mon, Jul 22, 2013 at 9:27 AM, Brad King brad.k...@kitware.com wrote:
 On 07/21/2013 11:59 AM, David Cole wrote:
 Tests “ObjectLibrary” and “Qt4Automoc” are failing on my dlrsoftware 
 dashboard machines, submitting ninja dashboards using the VS 2010 compiler.

 Likely culprits are commits from Rob and Stephen... (Could you guys please 
 take a look?) Let me know if you need any additional information from the 
 machines that run these. I can even give you remote access if you need to 
 try something out on there yourself.

 Both test failures have messages like:

  ninja: warning: multiple rules generate A\CMakeFiles\A.dir\a1.c.obj. build 
 will not be correct; continuing anyway

 so I suspect it may have to do with Robert's ninja_phony_targets topic.

 -Brad--

Powered by www.kitware.com

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

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

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

[cmake-developers] Fwd: [Bug 1203786] [NEW] Invalid handling of linker flags during build

2013-07-22 Thread Bill Hoffman




 Original Message 
Subject: [Bug 1203786] [NEW] Invalid handling of linker flags during build
Date: Mon, 22 Jul 2013 15:31:47 -
From: Rodney Dawes 1203...@bugs.launchpad.net
Reply-To: Bug 1203786 1203...@bugs.launchpad.net
To: cm...@packages.qa.debian.org

Public bug reported:

When building a project using cmake, which contains a shared library,
and any code which uses that shared library, such as test programs,
installed application, or plug-ins for other applications or libraries,
cmake incorrectly applies all of the linker flags from the shared
library, to all of the resulting objects which depend on it. This makes
using certain linker features, such as version scripts, very
problematic.

This problem is then compounded when building with a builddir != srcdir
setup, as the possible workaround of using a relative file name for
--version-script and including an additional version script which
exports all the symbols, cannot be used.

The linker flags for a shared library should never be copied over to the
other targets which depend upon that library.

** Affects: cmake (Ubuntu)
 Importance: Undecided
 Status: New

--
You received this bug notification because you are subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1203786

Title:
  Invalid handling of linker flags during build

Status in “cmake” package in Ubuntu:
  New

Bug description:
  When building a project using cmake, which contains a shared library,
  and any code which uses that shared library, such as test programs,
  installed application, or plug-ins for other applications or
  libraries, cmake incorrectly applies all of the linker flags from the
  shared library, to all of the resulting objects which depend on it.
  This makes using certain linker features, such as version scripts,
  very problematic.

  This problem is then compounded when building with a builddir !=
  srcdir setup, as the possible workaround of using a relative file name
  for --version-script and including an additional version script which
  exports all the symbols, cannot be used.

  The linker flags for a shared library should never be copied over to
  the other targets which depend upon that library.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cmake/+bug/1203786/+subscriptions





--

Powered by www.kitware.com

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

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

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

Re: [cmake-developers] CMake dashboard test failures

2013-07-22 Thread Robert Maynard
Yeap, I was the one that introduced this error. I have just pushed a
new topic to next, that in testing on my windows machine fixed the
problem.

On Mon, Jul 22, 2013 at 9:27 AM, Brad King brad.k...@kitware.com wrote:
 On 07/21/2013 11:59 AM, David Cole wrote:
 Tests “ObjectLibrary” and “Qt4Automoc” are failing on my dlrsoftware 
 dashboard machines, submitting ninja dashboards using the VS 2010 compiler.

 Likely culprits are commits from Rob and Stephen... (Could you guys please 
 take a look?) Let me know if you need any additional information from the 
 machines that run these. I can even give you remote access if you need to 
 try something out on there yourself.

 Both test failures have messages like:

  ninja: warning: multiple rules generate A\CMakeFiles\A.dir\a1.c.obj. build 
 will not be correct; continuing anyway

 so I suspect it may have to do with Robert's ninja_phony_targets topic.

 -Brad
--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] Please review CXXFeatures.cmake

2013-07-22 Thread Alexander Neundorf
On Friday 19 July 2013, Rolf Eike Beer wrote:
 Alexander Neundorf wrote:
  On Monday 29 April 2013, Rolf Eike Beer wrote:
   Alexander Neundorf wrote:
On Sunday 28 April 2013, Rolf Eike Beer wrote:
 One question I see increasingly often is how do I test for C++11
 support or for specific parts of that. For 2.8.12 I plan to
 include the check module I wrote for that a while back, and that I
 have reworked in the last weeks. You can find the current state in
 the rework branch of this repository:
 
 git://anongit.kde.org/scratch/dakon/cmake-cxx11

Is the try_run() in all cases necessary ?
It would be better if a try_compile() would suffice, that's faster
and then it works the same way when cross-compiling and when not.
   
   I'm not sure about this, but the other ones I consider real bugs.
   Thanks for catching them, will fix soon.
  
  is this in master in the meantime ?
  I can't find it, or has it been renamed ?
 
 Ok, I've pushed an updated version to the rework branch. A test for the
 component check is missing, but all of your other suggestions should have
 been addressed.

The variable is case-sensitive, so it is CXXFeatures_FIND_COMPONENTS, not 
CXXFEATURES_FIND_COMPONENTS.

I'm not sure I would have made this a find-module, instead of a simple module 
which can be included and then provides a function, but I think this doesn't 
matter much.

And of course, before merging into cmake, the cmake_minimum_required() call 
can be removed.

Alex
--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] FindBacktrace.cmake

2013-07-22 Thread Alexander Neundorf
On Wednesday 03 July 2013, Vadim Zhukov wrote:
 2013/7/3 Brad King brad.k...@kitware.com:
  On 7/3/2013 11:09 AM, Vadim Zhukov wrote:
  I'm an OpenBSD developer, working mostly on porting software. Most of
  my work is related to CMake-based land, including modern KDE and some
  other Qt4-based stuff.
  
  Great, thanks for coming to us.
  
  Here is a module I constructed a few months ago. It's helpful for
  programs that want to use GNU-style backtrace(3) routine, which could
  be found in different libraries and be declared in different headers
  across OSes outta there.
  
  Thanks for working on this.  It looks similar to FindThreads in that
  the results could be builtin to the system libraries or in one of
  several other vendor-specific libraries.  Don't model the module after
  FindThreads though as that is one of the oldest modules and does not
  fully use modern conventions.
  
  The BACKTRACE_INCLUDE_DIR and BACKTRACE_LIBRARY variables should
  not be documented as results that consuming projects should use
  directly.  They are inputs to the module that end users edit in
  the cache.  The results go in BACKTRACE_INCLUDE_DIRS and
  BACKTRACE_LIBRARIES.  Look at how FindProtobuf.cmake separates
  the list of variables in its documentation, for example.
 
 Thank you, that was exactly info I was looking for!
 
  The line
  
   set(BACKTRACE_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
  
  looks a bit strange to me.  The CMAKE_REQUIRED_LIBRARIES variable
  is an input to the check_* APIs and should not be depended upon
  or used by a find module.  When calling check_symbol_exists you
  should set CMAKE_REQUIRED_* to known values not depending on the
  calling context.  In the case that some non-standard/non-system
  library is needed to provide the symbol it should be set by the
  user through the BACKTRACE_LIBRARY code path.
 
 Yes, I was not sure if this should be done this way either. Other variants
 are:
 
 1. find_library(c) - not as stupid as it looks from the first time,
 because C++ compiler could be called with -nostdlib, for example (and
 this was the reason for inclusion of CMAKE_REQUIRED_LIBRARIES
 initially);
 
 2. Just make sure BACKTRACE_LIBRARIES is empty: if the developer wants
 to shoot himself in the foot with -nostdlib, then he's responsible for
 the all consequences; and if he wants to avoid -lc, well, he'll
 successfully avoid it.
 
 I'd go with either way. For this try I choosed (2).
 
  Otherwise, the module looks like a great start!
 
 Thank you for review. I'm sending updated module now. Aside tweaks
 based on your input, I realized that there should be a way for the
 user to specify BACKTRACE_HEADER, too. I hope that I did not
 overcomplicate things.


A few more style-comments:

please use empty else() and endif() clauses. Most of the cmake modules have 
been converted to this style recently.

The variables should not use BACKTRACE as prefix, but Backtrace, so they 
match the name of the find-module exactly.


Why do you make BACKTRACE_HEADER INTERNAL ? I think INTERNAL variables are 
completely hidden, i.e. not accessible, e.g. in cmake-gui. 

You use message() without the STATUS keyword. I think it should be used.

Can you switch to the new-style FPHSA() ?
This would be
find_package_handle_standard_args(Backtrace
   REQUIRED_VARS ${_BACKTRACE_STD_ARGS} )

Thanks
Alex
--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] FindBacktrace.cmake

2013-07-22 Thread Alexander Neundorf
On Tuesday 09 July 2013, Brad King wrote:
 On 07/08/2013 05:51 PM, Vadim Zhukov wrote:
  I'm not sure whether resetting CMAKE_REQUIRED_* is the desired
  behavior. The example in the CMakePushCheckState.cmake documentation
  tells the opposite, and I think that appending values have a point by
  adding some sort of a flexibility for writers of other CMake project
  files and other CMake modules. Also, I see the same logic (append
  instead of rewrite) is used in other CMake modules (in KDE at least,
  where CMakePushCheckState.cmake did came from).
  
  And if CMAKE_REQUIRED_* should be generally reset within module, then
  I propose adding a third macro in CMakePushCheckState.cmake, say,
  cmake_reset_check_state(), which will do this.
  
  I'm adding Alexander Neundorf to the thread to make things more clear,
  as he developed CMakePushCheckState.cmake module. Alexander, could
  you, please, explain the way CMakePushCheckState macros should be
  used?
 
 I would like Alex's opinion on this, but we must either use
 CMAKE_REQUIRED_* to report the results (as you did originally)
 or not use the caller's CMAKE_REQUIRED_* to perform the test.
 Otherwise the results will not be consistent.
 
 We have never (intentionally) defined CMAKE_REQUIRED_* as the
 input to a _find_ module before, only to _check_ macros.  The
 check state stack module helps a project handle its own check
 accumulation 

Yes, that was the intention.
Adding a cmake_reset_check_state() sounds good.

 and AFAIK is not meant as an API between a project
 and CMake find modules.
 
 It looks like a few find modules already use check macros and
 do not pay any attention to whether CMAKE_REQUIRED_* is defined.
 These may also need to be cleaned up based on the results of this
 discussion.

I found it only in FindGIF.cmake right now. There the reset() could be used 
then.

Alex
--

Powered by www.kitware.com

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

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

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


[cmake-developers] Allowed chars in test names

2013-07-22 Thread Rolf Eike Beer
Since d0170584c54b515b7eb2d044c3d48332523b3a37 there is a comment stating that 
spaces, quotes, or other characters special in CMake syntax are not allowed 
in a test name. This raised 2 topics:

-first: the only check done in add_test() is that the name is not empty. If 
there are forbidden characters we must test for them, reject everything that 
is invalid, and have a check that verifies that this works. I've been fooled 
at least twice myself when adding a test with a space in the name and then 
wondering why it didn't work.

-second: what does special mean? I fear that any test name would end up as 
some sort of target name in Makefile/project files somewhere, in which case we 
are limited to the valid subset of all supported generators. Which can be 
something like [a-zA-Z0-9_] with special rules like must not start/end with 
$something. And maybe even some case problems?

So, who can shed some light on this? Brad?

Eike

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

Powered by www.kitware.com

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

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

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

Re: [cmake-developers] Please review CXXFeatures.cmake

2013-07-22 Thread Stephen Kelly
Rolf Eike Beer wrote:

 Ok, I've pushed an updated version to the rework branch. A test for the
 component check is missing, but all of your other suggestions should have
 been addressed.
 
 Has anyone anything else, otherwise I will o and put this into CMake next
 once I have the test.
 

Do you have any response to the issue from Thiago here?

 http://thread.gmane.org/gmane.comp.kde.devel.core/80156/focus=80172

The header generated by your module would have to be installed, right? 
Otherwise it would make more sense to just use 'override' directly. The 
generated header is specific to whatever compiler was used when cmake 
generated it.

Thanks,

Steve.


--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] Please review CXXFeatures.cmake

2013-07-22 Thread Rolf Eike Beer
Stephen Kelly wrote:
 Rolf Eike Beer wrote:
  Ok, I've pushed an updated version to the rework branch. A test for the
  component check is missing, but all of your other suggestions should have
  been addressed.
  
  Has anyone anything else, otherwise I will o and put this into CMake next
  once I have the test.
 
 Do you have any response to the issue from Thiago here?
 
  http://thread.gmane.org/gmane.comp.kde.devel.core/80156/focus=80172
 
 The header generated by your module would have to be installed, right?
 Otherwise it would make more sense to just use 'override' directly. The
 generated header is specific to whatever compiler was used when cmake
 generated it.

I don't generate a header. What I proposed there was to return a list of 
compat definitions. But those will for reasons said e.g. by Michael Pyne not 
include a definition for override.

Currently there is no such list generated at all. What it indeed could include 
would be -D nullptr=0 and -D static_assert(x, y)= or the proper, compiler 
dependent form of those.

Eike
-- 

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

Powered by www.kitware.com

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

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

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