Re: [cmake-developers] Patch to support SVN externals in CTest update

2012-09-03 Thread Xavier Besseron
On Fri, Aug 24, 2012 at 5:09 PM, Brad King brad.k...@kitware.com wrote:

 On 08/24/2012 08:50 AM, Xavier Besseron wrote:
  I have split my changes in a series of small patches. Please find them
  in attachment.
  I have made sure that everything is compiling correctly and that the
  CTest.UpdateSVN test runs successfully between each of them.

 Very nice, the series looks good.  Please rewrite the commits to
 wrap all C++ code to 79 columns or less.  This should be blank:

  git log origin/master.. --pickaxe-regex -S'.{80}'

 Also do not add a trailing blank line in the first commit to
 cmCTestSVN.cxx.



Here is the new set of patches.



  Some comments about the testing:
  - Most of the code path added by these patches is executed by the
  current test. Indeed with this design, the root svn repository and the
  svn external repositories just use the same SVNInfo structure and the
  same function calls.
  - The issue (ie incorrect author and revision number for each modified
  file) is currently not tested for any of the version control system.
  Probably this should be added, but this requires some work.
  - The current organization of the ctest_update() testing uses some
  common scripts between the different version control system. I don't
  know yet if it is possible to add tests with svn externals in this
  organization without breaking the test for the other VC.
 
  If I am not too busy, I will try to follow up on the testing part in
  the coming weeks.

 The Git update test has a submodule, so you can look at how that
 works without disrupting the common test code.



Thanks. I will look at this.


Xavier


0001-Add-the-new-SVNInfo-structure.patch
Description: Binary data


0002-Extend-the-SVN-Revision-structure-to-include-info-ab.patch
Description: Binary data


0003-Add-the-Repositories-list-and-the-RootInfo-pointer.patch
Description: Binary data


0004-Create-the-SVNInfo-for-the-root-repository.patch
Description: Binary data


0005-Use-the-SVNInfo-structure-instead-of-the-fields-URL-.patch
Description: Binary data


0006-Add-a-LoadExternal-function-and-an-ExternalParser-cl.patch
Description: Binary data


0007-Call-LoadExternals-and-perform-operations-on-all-ele.patch
Description: Binary data
--

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] Version support for FindSDL_net.cmake

2012-09-03 Thread Brad King
On 09/01/2012 08:10 AM, Benjamin Eikel wrote:
 Hello again,
 
 Am Mittwoch, 29. August 2012 um 12:39:28 schrieb Benjamin Eikel:
 Dear CMake developers,

 I extended the find module for SDL_net by version support (see the attached
 patch). If you are interested, I am willing to write similar patches for
 the other SDL_.* modules or one for SDL_gfx (see issue 0012004).
 The find module has a problem: It does not define SDL_net_FOUND, but
 SDLNET_FOUND. Therefore, FeatureSummary does not work as expected. Shall I
 open a bug report for this?
 
 because there was no feedback yet – especially not by the maintainer – would 
 it be okay to prepare a topic and push that to the staging area for review?

Yes, thanks.

-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] Patch to support SVN externals in CTest update

2012-09-03 Thread Brad King
On 09/03/2012 05:17 AM, Xavier Besseron wrote:
 Here is the new set of patches.

Wonderful, thanks!  I've merged the topic with minor tweaks
to our 'next' branch for testing:

  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7fbbd921

You can fetch and checkout commit b7c97859 to get the head
of the applied topic.

Thanks,
-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] [CMake 0013512]: no platform files are shipped for Blue Gene/Q

2012-09-03 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=13512 
== 
Reported By:Julien Bigot
Assigned To:
== 
Project:CMake
Issue ID:   13512
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2012-09-03 10:45 EDT
Last Modified:  2012-09-03 10:45 EDT
== 
Summary:no platform files are shipped for Blue Gene/Q
Description: 
there doesn't seem to be any platfom file shipped for Blue Gene/Q

See the attached files as a first attempt at creating such files by modifying
the Blue Gene/P files
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-09-03 10:45 Julien Bigot   New Issue
2012-09-03 10:45 Julien Bigot   File Added: Platform-BlueGeneQ.tar  
 
==

--

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] conditionals in generator expressions

2012-09-03 Thread Stephen Kelly
Brad King wrote:

 On 08/31/2012 07:21 AM, Stephen Kelly wrote:
 The above is not necessary. It can instead be literally:
 
   $$CONFIG:Debug:-Wl,no-undefined
   $$AND:$CONFIG:Debug,$STREQUAL:$TGT_PROP:FOO,b:-Wl,no-
undefined
 
 The comma is ambiguous to the parser, but not to the generator
 expression. I've updated my -refactor branch to deal with it.
 
 Okay.  The branch looks like a good start so far.  It will need to
 be re-formatted into a clean patch series

Yes.

 but let's focus on the
 net change for now.
 
 my preference is to keep the existing design in next, and add something
 similar to the parser now in my branch.
 
 Okay.  The always-: syntax leaves the door open for the
 whitespace/quoting approach in the future anyway.
 
 In your branch why do you create separate helper classes for each
 expression type but then use manual dispatch while evaluating the
 parse tree?  Doesn't this beg for virtual dispatch during eval?

Yes. The separate helper classes are a left-over from wanting to use virtual 
dispatch from the start, but finding it not-possible as I went on. 

I based this stuff on the design of the Grantlee lexer/parser, but the major 
difference is that Grantlee knows the nodes at parse-time:

  {% if foo %}bar{% endif %}

I can create an IfNode there.

With the CMake generator expressions, I don't know the nodes at parse time, 
because 'if' is not literal in that sub-language. Everything is a lazily-
evaluated node. At least from the language point of view, one could do this:

  $$STREQUAL:$TARGET_FILE$CONFIG:Release:_DIR,BAT:/some/include

To mean:

* If Config is Release and TARGET_FILE_DIR is BAT, include /some/include
* If Config is not Release and TARGET_FILE is BAT, include /some/include
* Otherwise don't include /some/include

I don't know at parse time whether to create a node for TARGET_FILE_DIR or 
TARGET_FILE. I only know that at evaluation time, so I can't create the 
nodes at parse time and use virtual dispatch at evaluation time.

So now that we've agreed on the language, and unless I've missed something, 
I'll refactor that code to use helper methods rather than helper classes and 
generally clean up and rewrite the branch.

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] conditionals in generator expressions

2012-09-03 Thread Brad King
On 09/03/2012 01:05 PM, Stephen Kelly wrote:
 With the CMake generator expressions, I don't know the nodes at parse time, 

[smacks forehead]

 So now that we've agreed on the language, and unless I've missed something, 
 I'll refactor that code to use helper methods rather than helper classes and 
 generally clean up and rewrite the branch.

Sounds good.

Thanks,
-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] execute_process inconsitancy

2012-09-03 Thread J Decker
I use this command to get the current repository version number.

Under windows I have to use 'cmd /c ...'
under linux or I obviously can't use that.

Is there a test I can do in a cmakelists to test the shell processor?

Is there something I can do to make this the same command?

Under windows, without cmd /c  the output variable is blank.


if( WIN32 )

execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

else( WIN32 )

execute_process( COMMAND hg id -i WORKING_DIRECTORY
${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

endif( WIN32 )
--

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] execute_process inconsitancy

2012-09-03 Thread Brad King
On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.
 
 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.
 
 Is there a test I can do in a cmakelists to test the shell processor?
 
 Is there something I can do to make this the same command?
 
 Under windows, without cmd /c  the output variable is blank.
 
 
 if( WIN32 )
 
 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )
 
 else( WIN32 )
 
 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )
 
 endif( WIN32 )

The command operates the same way on both platforms.
My guess is that hg is printing to stderr on Windows.
Try this:

 execute_process(
   COMMAND hg id -i
   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
   OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
   ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
   )

-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] execute_process inconsitancy

2012-09-03 Thread J Decker
On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


execute_process( COMMAND hg id -i WORKING_DIRECTORY
${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
message( 1) ${TMP_CURRENT_REPO_REVISION} )
message( 1) ${TMP_CURRENT_REPO_REVISION2} )

both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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] execute_process inconsitancy

2012-09-03 Thread David Cole
On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


On Windows, hg is not an executable file, so execute_process is
probably not even running it. If you instead say:

  COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

does that work?
--

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] execute_process inconsitancy

2012-09-03 Thread David Cole
On Mon, Sep 3, 2012 at 5:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:

   COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

 does that work?


Looking at 
http://open.cdash.org/testSummary.php?project=1name=CTest.UpdateHGdate=2012-09-03
it is obvious that we are only testing the ctest hg functionality on
Linux and on 2 cygwin dashboards that use /usr/bin/hg as the hg
command for ctest. I wonder if it works in a plain old Windows /
Macintosh context.
--

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] execute_process inconsitancy

2012-09-03 Thread J Decker
dir c:\Program Files\tortoisehg
 Volume in drive C has no label.
 Volume Serial Number is F05B-C5AF

 Directory of c:\Program Files\tortoisehg

08/20/2012  10:47 PM33,544 hg.exe


I don't know what hy.py would be .

On Mon, Sep 3, 2012 at 2:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:

   COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

 does that work?
--

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] execute_process inconsitancy

2012-09-03 Thread David Cole
OK... Is hg.exe in the PATH? Do you get different results if you use
the full path to hg.exe rather than just hg?


On Mon, Sep 3, 2012 at 5:48 PM, J Decker d3c...@gmail.com wrote:
 dir c:\Program Files\tortoisehg
  Volume in drive C has no label.
  Volume Serial Number is F05B-C5AF

  Directory of c:\Program Files\tortoisehg
 
 08/20/2012  10:47 PM33,544 hg.exe
 

 I don't know what hy.py would be .

 On Mon, Sep 3, 2012 at 2:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:

   COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

 does that work?
--

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] execute_process inconsitancy

2012-09-03 Thread J Decker
On Mon, Sep 3, 2012 at 3:58 PM, David Cole david.c...@kitware.com wrote:
 OK... Is hg.exe in the PATH? Do you get different results if you use
 the full path to hg.exe rather than just hg?

hg is in the path; although, when hg is not in the path, the result is the same.

hg.exe is the same result


PATH=C:\Windows;C:\Windows\system32;c:\develop\tools;c:\ftn3000\bin;c:\ftn3000\utility;;c:\Develop\tools\startups\..\..\tools\unix;c:\Develo
p\tools\startups\..\..\tools\nasm;c:\Develop\tools\startups\..\..\tools\watcom\binnt;c:\Develop\tools\startups\..\..\tools\watcom\binw;c:\De
velop\tools\startups\..\..\tools\unix\cmake\bin;C:\Program Files\TortoiseHg\

the following is the search...
C:\Develop\tools\unix\cmake\bin\hg.exe
cmake_source_dir
32bit c:\windows\syswow64
c:\windows\system.hg.exe
c:\windows\hg.exe
32bit c:\windows\syswow64
c:\develop\tools
c:\ftn3000\bin
c:\ftn3000.. (path up to)

c:\develop\tools\unix\cmake\bin\hg.exe

then (and I think this is where it's wrong, I don't know how it would
have created this path)

M:\sack\c:\program files\tortoisehg\\hg.exe


then it does the same search but looking for 'hg.exe id' instead of
just 'hg.exe'






 On Mon, Sep 3, 2012 at 5:48 PM, J Decker d3c...@gmail.com wrote:
 dir c:\Program Files\tortoisehg
  Volume in drive C has no label.
  Volume Serial Number is F05B-C5AF

  Directory of c:\Program Files\tortoisehg
 
 08/20/2012  10:47 PM33,544 hg.exe
 

 I don't know what hy.py would be .

 On Mon, Sep 3, 2012 at 2:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:

   COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

 does that work?
--

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] execute_process inconsitancy

2012-09-03 Thread J Decker
I do have a workaround by taking the quotes out of the path...

On Mon, Sep 3, 2012 at 7:23 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 3:58 PM, David Cole david.c...@kitware.com wrote:
 OK... Is hg.exe in the PATH? Do you get different results if you use
 the full path to hg.exe rather than just hg?

 hg is in the path; although, when hg is not in the path, the result is the 
 same.

 hg.exe is the same result


 PATH=C:\Windows;C:\Windows\system32;c:\develop\tools;c:\ftn3000\bin;c:\ftn3000\utility;;c:\Develop\tools\startups\..\..\tools\unix;c:\Develo
 p\tools\startups\..\..\tools\nasm;c:\Develop\tools\startups\..\..\tools\watcom\binnt;c:\Develop\tools\startups\..\..\tools\watcom\binw;c:\De
 velop\tools\startups\..\..\tools\unix\cmake\bin;C:\Program Files\TortoiseHg\

 the following is the search...
 C:\Develop\tools\unix\cmake\bin\hg.exe
 cmake_source_dir
 32bit c:\windows\syswow64
 c:\windows\system.hg.exe
 c:\windows\hg.exe
 32bit c:\windows\syswow64
 c:\develop\tools
 c:\ftn3000\bin
 c:\ftn3000.. (path up to)

 c:\develop\tools\unix\cmake\bin\hg.exe

 then (and I think this is where it's wrong, I don't know how it would
 have created this path)

 M:\sack\c:\program files\tortoisehg\\hg.exe


 then it does the same search but looking for 'hg.exe id' instead of
 just 'hg.exe'






 On Mon, Sep 3, 2012 at 5:48 PM, J Decker d3c...@gmail.com wrote:
 dir c:\Program Files\tortoisehg
  Volume in drive C has no label.
  Volume Serial Number is F05B-C5AF

  Directory of c:\Program Files\tortoisehg
 
 08/20/2012  10:47 PM33,544 hg.exe
 

 I don't know what hy.py would be .

 On Mon, Sep 3, 2012 at 2:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.

 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.

 Is there a test I can do in a cmakelists to test the shell processor?

 Is there something I can do to make this the same command?

 Under windows, without cmd /c  the output variable is blank.


 if( WIN32 )

 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )

 else( WIN32 )

 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )


 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )

 both revision and revision2 are blank, (without cmd /c before)

 endif( WIN32 )

 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:

  execute_process(
COMMAND hg id -i
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
)

 -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


 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:

   COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)

 does that work?
--

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] execute_process inconsitancy

2012-09-03 Thread David Cole
That's not a workaround, that's the solution. The quotes don't belong there.



On Sep 3, 2012, at 10:24 PM, J Decker d3c...@gmail.com wrote:

 I do have a workaround by taking the quotes out of the path...
 
 On Mon, Sep 3, 2012 at 7:23 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 3:58 PM, David Cole david.c...@kitware.com wrote:
 OK... Is hg.exe in the PATH? Do you get different results if you use
 the full path to hg.exe rather than just hg?
 
 hg is in the path; although, when hg is not in the path, the result is the 
 same.
 
 hg.exe is the same result
 
 
 PATH=C:\Windows;C:\Windows\system32;c:\develop\tools;c:\ftn3000\bin;c:\ftn3000\utility;;c:\Develop\tools\startups\..\..\tools\unix;c:\Develo
 p\tools\startups\..\..\tools\nasm;c:\Develop\tools\startups\..\..\tools\watcom\binnt;c:\Develop\tools\startups\..\..\tools\watcom\binw;c:\De
 velop\tools\startups\..\..\tools\unix\cmake\bin;C:\Program 
 Files\TortoiseHg\
 
 the following is the search...
 C:\Develop\tools\unix\cmake\bin\hg.exe
 cmake_source_dir
 32bit c:\windows\syswow64
 c:\windows\system.hg.exe
 c:\windows\hg.exe
 32bit c:\windows\syswow64
 c:\develop\tools
 c:\ftn3000\bin
 c:\ftn3000.. (path up to)
 
 c:\develop\tools\unix\cmake\bin\hg.exe
 
 then (and I think this is where it's wrong, I don't know how it would
 have created this path)
 
 M:\sack\c:\program files\tortoisehg\\hg.exe
 
 
 then it does the same search but looking for 'hg.exe id' instead of
 just 'hg.exe'
 
 
 
 
 
 
 On Mon, Sep 3, 2012 at 5:48 PM, J Decker d3c...@gmail.com wrote:
 dir c:\Program Files\tortoisehg
 Volume in drive C has no label.
 Volume Serial Number is F05B-C5AF
 
 Directory of c:\Program Files\tortoisehg
 
 08/20/2012  10:47 PM33,544 hg.exe
 
 
 I don't know what hy.py would be .
 
 On Mon, Sep 3, 2012 at 2:37 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Sep 3, 2012 at 5:15 PM, J Decker d3c...@gmail.com wrote:
 On Mon, Sep 3, 2012 at 1:04 PM, Brad King brad.k...@kitware.com wrote:
 On 09/03/2012 03:04 PM, J Decker wrote:
 I use this command to get the current repository version number.
 
 Under windows I have to use 'cmd /c ...'
 under linux or I obviously can't use that.
 
 Is there a test I can do in a cmakelists to test the shell processor?
 
 Is there something I can do to make this the same command?
 
 Under windows, without cmd /c  the output variable is blank.
 
 
 if( WIN32 )
 
 execute_process( COMMAND cmd /c hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )
 
 else( WIN32 )
 
 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION )
 
 
 execute_process( COMMAND hg id -i WORKING_DIRECTORY
 ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
 ERROR_VARIABLE TMP_CURRENT_REPO_REVISION2 )
 message( 1) ${TMP_CURRENT_REPO_REVISION} )
 message( 1) ${TMP_CURRENT_REPO_REVISION2} )
 
 both revision and revision2 are blank, (without cmd /c before)
 
 endif( WIN32 )
 
 The command operates the same way on both platforms.
 My guess is that hg is printing to stderr on Windows.
 Try this:
 
 execute_process(
   COMMAND hg id -i
   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
   OUTPUT_VARIABLE TMP_CURRENT_REPO_REVISION
   ERROR_VARIABLE TMP_CURRENT_REPO_REVISION
   )
 
 -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
 
 
 On Windows, hg is not an executable file, so execute_process is
 probably not even running it. If you instead say:
 
  COMMAND C:/python26/python.exe C:/path/to/hg.py (... args ...)
 
 does that work?
--

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] funny cmake warnings about conflicting library folders

2012-09-03 Thread Markus Blatt
On Mon, Sep 03, 2012 at 12:54:09AM +0200, Nico Schlömer wrote:
 In an attempt to make Foobar relocatable, the library and header
 directories are specified in
 /usr/share/cmake/Foobar/FoobarConfig.cmake as
 
 SET(Foobar_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../../include/foobar)
 SET(Foobar_LIBRARY_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../../lib)
 
 All of this seems correct.
 When running CMake on a project with FIND_PACKAGE(Foobar), the user is
 swamped with warnings of the kind
 
  *snip* 
 CMake Warning at test/CMakeLists.txt:81 (ADD_EXECUTABLE):
   Cannot generate a safe runtime search path for target operatorTest because
   files in some directories may conflict with libraries in implicit
   directories:
 
 runtime library [libblas.so.3] in /usr/lib may be hidden by files in:
   /usr/share/cmake/Foobar/../../../lib
 
   Some of these libraries may not be found correctly.
  *snap* 
 
 When I edit /usr/share/cmake/Foobar/FoobarConfig.cmake to read
 
 SET(Foobar_LIBRARY_DIRS /usr/lib),
 
 those warnings disappear.

I think CMake relies on absolute pathes. You might want to do
something like this :

get_filename_component(_dir ${CMAKE_CURRENT_LIST_FILE} PATH)
get_filename_component(_prefix ${_dir}/../../.. ABSOLUTE)
 SET(Foobar_INCLUDE_DIRS ${_prefix}/include/foobar)
 SET(Foobar_LIBRARY_DIRS ${_prefix}/lib)


In newer versions there are also some macros/functions in
CMakePackageConfigHelpers that help
producing portable package configuration files.

Cheers,

Markus

-- 
Dr. Markus Blatt - HPC-Simulation-Software  Services http://www.dr-blatt.de
Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany,  USt-Id: DE279960836
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Bug in find_file() command ?

2012-09-03 Thread Adolfo Rodríguez Tsouroukdissian
On Tue, Aug 28, 2012 at 6:59 PM, Glenn Coombs glenn.coo...@gmail.comwrote:

 I need to test for the presence of a directory called driver_root.  I
 couldn't see a find_directory() command in the help


I cannot comment about your issues concerning find_file, but if you know
the name of a file contained in the directory you can use find_path:

http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path

Cheers,

Adolfo.


 so I am using the following lines in my CMakeLists.txt:

 message(1 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 if (DEFINED ENV{DRV_ROOT})
 find_file(DRV_ROOT_CHECK driver_root $ENV{DRV_ROOT}/..)
 message(2 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 endif()

 message(3 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 find_file(DRV_ROOT_CHECK driver_root
 ../CVSFILES
 ../..
 ../../CVSFILES
 ../../..
 ../../../CVSFILES
 ../../../..
 )
 message(4 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})

 set(DRV_ROOT   ${DRV_ROOT_CHECK} CACHE PATH Location of
 driver tree)
 set(DRV_ROOT_CHECK ${DRV_ROOT_CHECK} CACHE INTERNAL Location of
 driver tree)

 message(5 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})

 if (DRV_ROOT_CHECK)
 message(   DRV_ROOT: ${DRV_ROOT})
 else()
 message(FATAL_ERROR Unable to locate driver_root directory.
 Please set DRV_ROOT variable.)
 endif()

 It works fine on my machine but fails on one of our build machines.  Both
 machines are Windows 7 (64-bit) and are using CMake 2.8.9.  On my machine
 it produces this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
 5 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
DRV_ROOT: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root

 but on the build machine it produces this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/Windows/System32/driver_root
 5 DRV_ROOT_CHECK: C:/Windows/System32/driver_root

 There is no file or directory called driver_root in the windows/systsem32
 folder.  If I change the find_file() command to this:

 find_file(DRV_ROOT_CHECK driver_root PATHS
 ../CVSFILES
 ../..
 ../../CVSFILES
 ../../..
 ../../../CVSFILES
 ../../../..
 NO_DEFAULT_PATH
 )

 then it works producing this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root
 5 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root

 Is this a bug in cmake or can somebody explain how it found a non-existant
 file/folder in the windows/system32 folder ?

 --
 Glenn


 --

 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://www.cmake.org/mailman/listinfo/cmake




-- 
Adolfo Rodríguez Tsouroukdissian
Robotics engineer
adolfo.rodrig...@pal-robotics.com
http://www.pal-robotics.com

PAL ROBOTICS S.L
c/ Pujades 77-79, 4º4ª
08005 Barcelona, Spain.
Tel. +34.93.414.53.47
Fax.+34.93.209.11.09

AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
contener información privilegiada y/o confidencial que está dirigida
exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
destinatario indicado, o el empleado encargado de su entrega a dicha
persona, por favor, notifíquelo inmediatamente y remita el mensaje original
a la dirección de correo electrónico indicada. Cualquier copia, uso o
distribución no autorizados de esta comunicación queda estrictamente
prohibida.

CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
contain confidential information which is privileged and intended only for
the individual or entity to whom they are addressed.  If you are not the
intended recipient, you are hereby notified that any disclosure, copying,
distribution or use of this e-mail and/or accompanying document(s) is
strictly prohibited.  If you have received this e-mail in error, please
immediately notify the sender at the above e-mail address.
--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Possible bugs in FindBLAS.cmake module

2012-09-03 Thread Rolf Eike Beer

Am 2012-09-01 19:05, schrieb Bogdan Cristea:

Hi

I am trying to detect BLAS and LAPACK libraries provided by acml 
5.1.0, but
both are undetected. After some digging I have found that there are 
some

problems related to FindBLAS.cmake which I was able to correct. I am
wondering what is the best way to contribute to cmake in order to 
correct

these bugs.

I have attached the patch for FindBLAS.cmake, even if some code 
review and

fixing are still needed.


The proper way would be to clone the git tree of CMake, make a patch, 
export it using git format-patch -1 and opening a bug report with that 
(http://cmake.org/Bug/). You may omit the git steps and just open a bug 
report with your patch, but please make sure that you use diff -u then 
as the normal diff output is barely readable. Also make sure that you do 
not add whitespace changes that make no functional difference and no 
debug code in your patch.


Eike
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] [cmake-developers] CMake: need developer help / adopt a bug

2012-09-03 Thread Petr Kmoch
Hi all.

By default, admin privileges are necessary to run mklink (even for
creating symlinks). However, this can be changed by granting the
SeCreateSymbolicLinkPrivilege privilege (see e.g.
http://superuser.com/questions/124679/how-do-i-create-an-mklink-in-windows-7-home-premium-as-a-regular-user)

Petr

On Mon, Aug 20, 2012 at 11:39 PM, David Cole david.c...@kitware.com wrote:
 On Mon, Aug 20, 2012 at 5:16 PM, Daniel Pfeifer dan...@pfeifer-mail.de
 wrote:

 2012/8/20 David Cole david.c...@kitware.com:

  Call for CMake developers! Please adopt one or more of these bugs if you
  can.
 
  The following 11 bugs are on the CMake 2.8.10 roadmap, but they are
  UNASSIGNED. They do not have anybody actively working on them at the
  moment.
 
...
http://public.kitware.com/Bug/view.php?id=13162

 Is it ok to use the Windows API to create symlinks? That would enable
 symlinks depending for what version of Windows CMake is compiled.

 
 bool SystemTools::CreateSymlink(const char* origName, const char* newName)
 {
 #if !defined(_WIN32) || defined(__CYGWIN__)
   return symlink(origName, newName) = 0;
 #elif (_WIN32_WINNT = 0x0600)
   DWORD flags =
 SystemTools::FileIsDirectory(origName)?SYMBOLIC_LINK_FLAG_DIRECTORY:0
   return CreateSymbolicLink(newName, origName, flags) != FALSE;
 #else
   (void)origName;
   (void)newName;
   return false;
 #endif
 }
 

 cheers, Daniel



 It's ok with me. I think that's the only reasonable way to do it.

 I've heard (but not tried personally, so don't know how much is just rumor)
 that the symlink stuff on Windows requires admin privilege level... so it
 may be less useful than folks think.

 Let's just make sure to return errors when symlinks can't be created.
 Hopefully with text suggesting what went wrong.


 Thanks,
 David


 --

 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://www.cmake.org/mailman/listinfo/cmake
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] funny cmake warnings about conflicting library folders

2012-09-03 Thread Nico Schlömer
I'm working around this now by making Foobar_LIBRARY_DIRS absolute,

get_filename_component(Foobar_LIBRARY_DIRS_ABS ${Foobar_LIBRARY_DIRS} REALPATH)

The hint to CMakePackageConfigHelpers certainly contain the proper bug
fix, so I forwarded this to the Foobar devs.

Thanks!
--Nico



On Mon, Sep 3, 2012 at 10:01 AM, Markus Blatt mar...@dr-blatt.de wrote:
 On Mon, Sep 03, 2012 at 12:54:09AM +0200, Nico Schlömer wrote:
 In an attempt to make Foobar relocatable, the library and header
 directories are specified in
 /usr/share/cmake/Foobar/FoobarConfig.cmake as

 SET(Foobar_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../../include/foobar)
 SET(Foobar_LIBRARY_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../../lib)

 All of this seems correct.
 When running CMake on a project with FIND_PACKAGE(Foobar), the user is
 swamped with warnings of the kind

  *snip* 
 CMake Warning at test/CMakeLists.txt:81 (ADD_EXECUTABLE):
   Cannot generate a safe runtime search path for target operatorTest because
   files in some directories may conflict with libraries in implicit
   directories:

 runtime library [libblas.so.3] in /usr/lib may be hidden by files in:
   /usr/share/cmake/Foobar/../../../lib

   Some of these libraries may not be found correctly.
  *snap* 

 When I edit /usr/share/cmake/Foobar/FoobarConfig.cmake to read

 SET(Foobar_LIBRARY_DIRS /usr/lib),

 those warnings disappear.

 I think CMake relies on absolute pathes. You might want to do
 something like this :

 get_filename_component(_dir ${CMAKE_CURRENT_LIST_FILE} PATH)
 get_filename_component(_prefix ${_dir}/../../.. ABSOLUTE)
  SET(Foobar_INCLUDE_DIRS ${_prefix}/include/foobar)
  SET(Foobar_LIBRARY_DIRS ${_prefix}/lib)


 In newer versions there are also some macros/functions in
 CMakePackageConfigHelpers that help
 producing portable package configuration files.

 Cheers,

 Markus

 --
 Dr. Markus Blatt - HPC-Simulation-Software  Services http://www.dr-blatt.de
 Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany,  USt-Id: DE279960836
 --

 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://www.cmake.org/mailman/listinfo/cmake
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Incremental linking and Intel fortan

2012-09-03 Thread Petr Kmoch
Hi Alexander.

CMAKE_EXE_LINKER_FLAGS and similar variables can only be modified
after a call to PROJECT() (the PROJECT() calls sets them up to some
defaults). See if this fixes your issue.

Petr

On Fri, Aug 31, 2012 at 8:47 PM, Alexander Ivanov
alexander.nik.iva...@gmail.com wrote:
 Hello all!

 I am trying to adopt cmake for fortran based project. This is my first
 CMakeLists.txt for
 fortran.

 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 SET(CMAKE_EXE_LINKER_FLAGS /INCREMENTAL:NO
 CACHE STRING EXE_LINKER_FLAGS FORCE)
 PROJECT(TestF90 Fortran)
 ADD_EXECUTABLE (TestF90_EXE main.f90)

 main.f90 looks like the following

 program TestF90
 implicit none
 integer :: I = 1
 I = I / 0
 end program TestF90

 Actually I would like to use /traceback option of the Intel compiler and it
 requires to turn off
 incremental linking for the traceback. The above (I mean setting of
 CMAKE_EXE_LINKER_FLAGS)
 works well for the similar C project, but Intel fortran ignores the option.
 I noticed that TestF90.vfproj
 file contains different settings depending on what I put in
 CMAKE_EXE_LINKER_FLAGS:
 LinkIncremental=1 - for /INCREMENTAL:NO
 LinkIncremental=2 - for /INCREMENTAL:YES.

 Anyway linker property list shows Default. After some experiments I found
 that if I change
 TestF90.vfproj manually and put LinkIncremental=linkIncrementalNo then
 Intel fortran accepts
 the option.

 So how can I achieve the desirable behaviour?

 I use visual studio 2010, fortran 2011.9 and cmake 2.8.9.

 Thanks,
 Alexander
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] [Cmake] Retrieve all runtime dependencies

2012-09-03 Thread Klaim - Joël Lamotte
Hi,

Is there any way in CMake to get a list of all binaries related to one
target?
What I mean is that assuming I have a target, say a library lib_a, that
depends on lib_b and lib_c which are either SHARED or MODULE (so they
produce a .dll/.so),
is there a way or macro to get a string with the paths of each binary
output:
   .../.../.../lib_a.dll
   .../.../.../lib_b.dll
   .../.../.../lib_c.dll
on windows, assuming I only provide the target name libi_a?

My first thinking was that as CMake produce project files that have all
these information, then it should be possible to get this list in some way.
However I'm a bit lost on where to find the necessary information, in a
generic way.
Also, I think the build mode should be provided to any function or macro
that would provide such a list.

It would be extremely useful (to me) to get such a list, to apply some
target's post-build scripts to these binaries.
The simpler alternative is to have such list hand-written outside of CMake
scripts, making the information located at more than one locations.

Joel Lamotte / Klaim
--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Incremental linking and Intel fortan

2012-09-03 Thread Alexander Ivanov
Hi Petr,
Unfortunately it doesn't. I changed the sample as following but
intel fortran ignores incremental linking setting.

cmake_minimum_required(VERSION 2.8)
project(TestF90 Fortran)
set(CMAKE_EXE_LINKER_FLAGS /INCREMENTAL:NO
CACHE STRING EXE_LINKER_FLAGS FORCE)
add_executable(TestF90_EXE main.f90)

Thanks,
Alexander
2012/9/3 Petr Kmoch petr.km...@gmail.com

 Hi Alexander.

 CMAKE_EXE_LINKER_FLAGS and similar variables can only be modified
 after a call to PROJECT() (the PROJECT() calls sets them up to some
 defaults). See if this fixes your issue.

 Petr

--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] [Cmake] Retrieve all runtime dependencies

2012-09-03 Thread John Drescher
On Mon, Sep 3, 2012 at 11:05 AM, Klaim - Joël Lamotte mjkl...@gmail.com wrote:
 Hi,

 Is there any way in CMake to get a list of all binaries related to one
 target?
 What I mean is that assuming I have a target, say a library lib_a, that
 depends on lib_b and lib_c which are either SHARED or MODULE (so they
 produce a .dll/.so),
 is there a way or macro to get a string with the paths of each binary
 output:
.../.../.../lib_a.dll
.../.../.../lib_b.dll
.../.../.../lib_c.dll
 on windows, assuming I only provide the target name libi_a?

 My first thinking was that as CMake produce project files that have all
 these information, then it should be possible to get this list in some way.
 However I'm a bit lost on where to find the necessary information, in a
 generic way.
 Also, I think the build mode should be provided to any function or macro
 that would provide such a list.

 It would be extremely useful (to me) to get such a list, to apply some
 target's post-build scripts to these binaries.
 The simpler alternative is to have such list hand-written outside of CMake
 scripts, making the information located at more than one locations.


take a look at the GetPrerequisites cmake module.

-- 
John M. Drescher
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] [Cmake] Retrieve all runtime dependencies

2012-09-03 Thread Klaim - Joël Lamotte
On Mon, Sep 3, 2012 at 6:45 PM, John Drescher dresche...@gmail.com wrote:

 take a look at the GetPrerequisites cmake module.


Thanks, I didn't know about this.

Joel Lamotte
--

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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Bug in find_file() command ?

2012-09-03 Thread Glenn Coombs
Once the driver project has converted to using cmake that is what I plan to
do - use find_path() to look for driver_root/CMakeLists.txt.  But in the
meantime I'm stuck using find_file() instead which works but it looks like
a bug that I need to specify the NO_DEFAULT_PATH option to avoid getting an
incorrect match.

--
Glenn


On 3 September 2012 09:58, Adolfo Rodríguez Tsouroukdissian 
adolfo.rodrig...@pal-robotics.com wrote:



 On Tue, Aug 28, 2012 at 6:59 PM, Glenn Coombs glenn.coo...@gmail.comwrote:

 I need to test for the presence of a directory called driver_root.  I
 couldn't see a find_directory() command in the help


 I cannot comment about your issues concerning find_file, but if you know
 the name of a file contained in the directory you can use find_path:

 http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path

 Cheers,

 Adolfo.


 so I am using the following lines in my CMakeLists.txt:

 message(1 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 if (DEFINED ENV{DRV_ROOT})
 find_file(DRV_ROOT_CHECK driver_root $ENV{DRV_ROOT}/..)
 message(2 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 endif()

 message(3 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})
 find_file(DRV_ROOT_CHECK driver_root
 ../CVSFILES
 ../..
 ../../CVSFILES
 ../../..
 ../../../CVSFILES
 ../../../..
 )
 message(4 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})

 set(DRV_ROOT   ${DRV_ROOT_CHECK} CACHE PATH Location of
 driver tree)
 set(DRV_ROOT_CHECK ${DRV_ROOT_CHECK} CACHE INTERNAL Location of
 driver tree)

 message(5 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK})

 if (DRV_ROOT_CHECK)
 message(   DRV_ROOT: ${DRV_ROOT})
 else()
 message(FATAL_ERROR Unable to locate driver_root directory.
 Please set DRV_ROOT variable.)
 endif()

 It works fine on my machine but fails on one of our build machines.  Both
 machines are Windows 7 (64-bit) and are using CMake 2.8.9.  On my machine
 it produces this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
 5 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
DRV_ROOT: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root

 but on the build machine it produces this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/Windows/System32/driver_root
 5 DRV_ROOT_CHECK: C:/Windows/System32/driver_root

 There is no file or directory called driver_root in the windows/systsem32
 folder.  If I change the find_file() command to this:

 find_file(DRV_ROOT_CHECK driver_root PATHS
 ../CVSFILES
 ../..
 ../../CVSFILES
 ../../..
 ../../../CVSFILES
 ../../../..
 NO_DEFAULT_PATH
 )

 then it works producing this output:

 1 DRV_ROOT_CHECK:
 3 DRV_ROOT_CHECK:
 4 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root
 5 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root

 Is this a bug in cmake or can somebody explain how it found a
 non-existant file/folder in the windows/system32 folder ?

 --
 Glenn


 --

 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://www.cmake.org/mailman/listinfo/cmake




 --
 Adolfo Rodríguez Tsouroukdissian
 Robotics engineer
 adolfo.rodrig...@pal-robotics.com
 http://www.pal-robotics.com

 PAL ROBOTICS S.L
 c/ Pujades 77-79, 4º4ª
 08005 Barcelona, Spain.
 Tel. +34.93.414.53.47
 Fax.+34.93.209.11.09

 AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
 contener información privilegiada y/o confidencial que está dirigida
 exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
 destinatario indicado, o el empleado encargado de su entrega a dicha
 persona, por favor, notifíquelo inmediatamente y remita el mensaje original
 a la dirección de correo electrónico indicada. Cualquier copia, uso o
 distribución no autorizados de esta comunicación queda estrictamente
 prohibida.

 CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
 contain confidential information which is privileged and intended only for
 the individual or entity to whom they are addressed.  If you are not the
 intended recipient, you are hereby notified that any disclosure, copying,
 distribution or use of this e-mail and/or accompanying document(s) is
 strictly prohibited.  If you have received this e-mail in error, please
 immediately notify the sender at the above e-mail address.

--

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://www.cmake.org/mailman/listinfo/cmake

[CMake] Check if a command exists?

2012-09-03 Thread Rui Maciel
I have a small project which includes a couple of parsers whose lexers 
are generated by re2c.  I intended to set cmake so that it could check 
if re2c is present in the system, but after browsing through the docs 
I've ended up empty-handed.


So, is there a way to set a cmake project so that it checks if a 
tool/program/command is present in the build system?  If there is a way 
to run that check, can anyone provide an example?



Thanks in advance,
Rui Maciel
--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Check if a command exists?

2012-09-03 Thread Andreas Naumann
I don't know if it's the right way, but I am looking for the 
executable/script with find_file and set up a custom command for it.


Regards,
Andreas Naumann

Am 03.09.2012 21:59, schrieb Rui Maciel:
I have a small project which includes a couple of parsers whose lexers 
are generated by re2c.  I intended to set cmake so that it could check 
if re2c is present in the system, but after browsing through the docs 
I've ended up empty-handed.


So, is there a way to set a cmake project so that it checks if a 
tool/program/command is present in the build system?  If there is a 
way to run that check, can anyone provide an example?



Thanks in advance,
Rui Maciel
--

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://www.cmake.org/mailman/listinfo/cmake



--

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Check if a command exists?

2012-09-03 Thread Alexander Neundorf
On Monday 03 September 2012, Rui Maciel wrote:
 I have a small project which includes a couple of parsers whose lexers
 are generated by re2c.  I intended to set cmake so that it could check
 if re2c is present in the system, but after browsing through the docs
 I've ended up empty-handed.

Use find_program()

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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Check if a command exists?

2012-09-03 Thread Clifford Yapp
On Mon, Sep 3, 2012 at 3:59 PM, Rui Maciel rui.mac...@gmail.com wrote:
 I have a small project which includes a couple of parsers whose lexers are
 generated by re2c.  I intended to set cmake so that it could check if re2c
 is present in the system, but after browsing through the docs I've ended up
 empty-handed.

Just an FYI - you may find the following CMake files helpful when
working with re2c:

http://brlcad.svn.sf.net/viewvc/brlcad/brlcad/trunk/misc/CMake/RE2C_Util.cmake
http://brlcad.svn.sf.net/viewvc/brlcad/brlcad/trunk/misc/CMake/FindRE2C.cmake

They could use some cleanup, but they may be a helpful starting point.

Cheers,
CY
--

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://www.cmake.org/mailman/listinfo/cmake


[CMake] How to get all compile flags / definitions / include_directories of target?

2012-09-03 Thread Loaden
Hi, list!
I want write a PrecompiledHeader.cmake to support PCH for QtCreator.
For now, It works well use MSVC, see:
https://codereview.qt-project.org/#change,34052
I have some trouble with how to get GCC's compile flags / definitions /
include_directories.
My way (does not work yet):


 macro(get_gcc_compile_flags target flags)
 string(TOUPPER CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE} name)
 set(flags ${${name}} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_COMPILER_ARG1})
 get_target_property(value ${target} COMPILE_FLAGS)
 if (value)
 list(APPEND flags ${value})
 endif()
 get_target_property(value ${target} TYPE)
 get_target_property(value ${target} COMPILE_DEFINITIONS)
 if (value)
 foreach(item ${value})
 list(APPEND flags -D${item})
 endforeach()
 endif()
 STRING(TOUPPER COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE} name)
 get_target_property(value ${target} ${name})
 if (value)
 foreach(item ${value})
 list(APPEND flags -D${item})
 endforeach()
 endif()
 get_directory_property(value DEFINITIONS)
 if (value)
 list(APPEND flags ${value})
 endif()
 get_directory_property(value INCLUDE_DIRECTORIES)
 if (value)
 foreach(item ${value})
 list(APPEND flags -I${item})
 endforeach()
 endif()
 #separate_arguments(flags)
 endmacro()


Any help or comments are welcome!
Thanks!

-- 
Best Regards
Yuchen
--

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://www.cmake.org/mailman/listinfo/cmake

[Cmake-commits] CMake branch, next, updated. v2.8.9-335-g7fbbd92

2012-09-03 Thread Brad King
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  7fbbd9218d02c7c9aac1cae564319dceb19cc9bb (commit)
   via  b7c97859d7192657ffb777885deefc2856bc2a22 (commit)
   via  33607d7997fbdfbccf6c19352e35b2fe068f4e10 (commit)
   via  094d2ab68151ca31fb3ca652b118e2df72278232 (commit)
   via  a22cfdeaf8fee2b417d03bcfbf539011e738ebfd (commit)
   via  120d424bb2ec1122b9de49a6e17c8040b86db68c (commit)
   via  0873de66e0e5e73fa090626d064d2e7e1d79553e (commit)
   via  aa1076f4600a94494da355d641aa0a5773a67863 (commit)
  from  9c974279539f825f7cf003e51634038c3ef26f9a (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=7fbbd9218d02c7c9aac1cae564319dceb19cc9bb
commit 7fbbd9218d02c7c9aac1cae564319dceb19cc9bb
Merge: 9c97427 b7c9785
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 10:40:05 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Sep 3 10:40:05 2012 -0400

Merge topic 'ctest-svn-update' into next

b7c9785 cmCTestSVN: Load and process information from externals
33607d7 cmCTestSVN: Add a LoadExternal() function and an ExternalParser 
class
094d2ab cmCTestSVN: Use the SVNInfo structure
a22cfde cmCTestSVN: Create the SVNInfo for the root repository
120d424 cmCTestSVN: Add the Repositories list and the RootInfo pointer
0873de6 cmCTestSVN: Extend Revision struct with SVN repo information
aa1076f cmCTestSVN: Add the new SVNInfo structure


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b7c97859d7192657ffb777885deefc2856bc2a22
commit b7c97859d7192657ffb777885deefc2856bc2a22
Author: Xavier Besseron xavier.besse...@uni.lu
AuthorDate: Mon Sep 3 11:10:53 2012 +0200
Commit: Brad King brad.k...@kitware.com
CommitDate: Mon Sep 3 10:38:51 2012 -0400

cmCTestSVN: Load and process information from externals

Call LoadExternals() and perform operations on all elements of the
Repositories list.

diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index ec1582c..c439281 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -116,9 +116,15 @@ void cmCTestSVN::NoteOldRevision()
   // Info for root repository
   this-Repositories.push_back( SVNInfo() );
   this-RootInfo = (this-Repositories.back());
+  // Info for the external repositories
+  this-LoadExternals();
 
-// Get info for the root repositiry
-SVNInfo svninfo = *RootInfo;
+  // Get info for all the repositories
+  std::listSVNInfo::iterator itbeg = this-Repositories.begin();
+  std::listSVNInfo::iterator itend = this-Repositories.end();
+  for( ; itbeg != itend ; itbeg++)
+{
+SVNInfo svninfo = *itbeg;
 svninfo.OldRevision = this-LoadInfo(svninfo);
 this-Log  Revision for repository '  svninfo.LocalPath
' before update:   svninfo.OldRevision  \n;
@@ -126,6 +132,7 @@ void cmCTestSVN::NoteOldRevision()
   Old revision of external repository '
 svninfo.LocalPath  ' is: 
 svninfo.OldRevision  \n);
+}
 
   // Set the global old revision to the one of the root
   this-OldRevision = this-RootInfo-OldRevision;
@@ -135,8 +142,12 @@ void cmCTestSVN::NoteOldRevision()
 //
 void cmCTestSVN::NoteNewRevision()
 {
-  // Get info for the root repository
-SVNInfo svninfo = *RootInfo;
+  // Get info for the external repositories
+  std::listSVNInfo::iterator itbeg = this-Repositories.begin();
+  std::listSVNInfo::iterator itend = this-Repositories.end();
+  for( ; itbeg != itend ; itbeg++)
+{
+SVNInfo svninfo = *itbeg;
 svninfo.NewRevision = this-LoadInfo(svninfo);
 this-Log  Revision for repository '  svninfo.LocalPath
' after update:   svninfo.NewRevision  \n;
@@ -163,6 +174,8 @@ void cmCTestSVN::NoteNewRevision()
 this-Log  Repository '  svninfo.LocalPath
' Base =   svninfo.Base  \n;
 
+  }
+
   // Set the global new revision to the one of the root
   this-NewRevision = this-RootInfo-NewRevision;
 }
@@ -374,9 +387,14 @@ private:
 //
 void cmCTestSVN::LoadRevisions()
 {
-// Get revision of the root repository
-SVNInfo svninfo = *RootInfo;
+  // Get revisions for all the external repositories
+  std::listSVNInfo::iterator itbeg = this-Repositories.begin();
+  std::listSVNInfo::iterator itend = this-Repositories.end();
+  for( ; itbeg != itend ; itbeg++)
+{
+SVNInfo svninfo = *itbeg;
 LoadRevisions(svninfo);
+}
 }
 

[Cmake-commits] CMake branch, next, updated. v2.8.9-337-g4b2710c

2012-09-03 Thread Brad King
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  4b2710c1aeffcdfe18e3afc01c8e4f7ce2ed02c8 (commit)
   via  7f25f559edddb9bb59ae84c889cbb34da259a8f6 (commit)
  from  7fbbd9218d02c7c9aac1cae564319dceb19cc9bb (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=4b2710c1aeffcdfe18e3afc01c8e4f7ce2ed02c8
commit 4b2710c1aeffcdfe18e3afc01c8e4f7ce2ed02c8
Merge: 7fbbd92 7f25f55
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 10:57:03 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Sep 3 10:57:03 2012 -0400

Merge topic 'ctest-svn-update' into next

7f25f55 cmCTestSVN: Rename 'SVNInfo' members to 'SVNRepo'


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f25f559edddb9bb59ae84c889cbb34da259a8f6
commit 7f25f559edddb9bb59ae84c889cbb34da259a8f6
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 10:54:59 2012 -0400
Commit: Brad King brad.k...@kitware.com
CommitDate: Mon Sep 3 10:54:59 2012 -0400

cmCTestSVN: Rename 'SVNInfo' members to 'SVNRepo'

Without this some compilers complain with errors such as:

 Source/CTest/cmCTestSVN.cxx:60: error: declaration of 
'cmCTestSVN::SVNInfo cmCTestSVN::InfoParser::SVNInfo'
 Source/CTest/cmCTestSVN.h:37: error: changes meaning of 'SVNInfo' from 
'struct cmCTestSVN::SVNInfo'

because the member 'SVNInfo' of the nested InfoParser and LogParser
structs hides the cmCTestSVN::SVNInfo type name.

diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index c439281..2fd4440 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -48,7 +48,7 @@ public:
  const char* prefix,
  std::string rev,
  SVNInfo svninfo):
-  Rev(rev), SVNInfo(svninfo)
+  Rev(rev), SVNRepo(svninfo)
 {
 this-SetLog(svn-Log, prefix);
 this-RegexRev.compile(^Revision: ([0-9]+));
@@ -57,7 +57,7 @@ public:
 }
 private:
   std::string Rev;
-  cmCTestSVN::SVNInfo SVNInfo;
+  cmCTestSVN::SVNInfo SVNRepo;
   cmsys::RegularExpression RegexRev;
   cmsys::RegularExpression RegexURL;
   cmsys::RegularExpression RegexRoot;
@@ -69,11 +69,11 @@ private:
   }
 else if(this-RegexURL.find(this-Line))
   {
-  this-SVNInfo.URL = this-RegexURL.match(1);
+  this-SVNRepo.URL = this-RegexURL.match(1);
   }
 else if(this-RegexRoot.find(this-Line))
   {
-  this-SVNInfo.Root = this-RegexRoot.match(1);
+  this-SVNRepo.Root = this-RegexRoot.match(1);
   }
 return true;
 }
@@ -301,12 +301,12 @@ class cmCTestSVN::LogParser: public 
cmCTestVC::OutputLogger,
 {
 public:
   LogParser(cmCTestSVN* svn, const char* prefix, SVNInfo svninfo):
-OutputLogger(svn-Log, prefix), SVN(svn), SVNInfo(svninfo)
+OutputLogger(svn-Log, prefix), SVN(svn), SVNRepo(svninfo)
   { this-InitializeParser(); }
   ~LogParser() { this-CleanupParser(); }
 private:
   cmCTestSVN* SVN;
-  cmCTestSVN::SVNInfo SVNInfo;
+  cmCTestSVN::SVNInfo SVNRepo;
 
   typedef cmCTestSVN::Revision Revision;
   typedef cmCTestSVN::Change Change;
@@ -328,7 +328,7 @@ private:
 if(strcmp(name, logentry) == 0)
   {
   this-Rev = Revision();
-  this-Rev.SVNInfo = SVNInfo;
+  this-Rev.SVNInfo = SVNRepo;
   if(const char* rev = this-FindAttribute(atts, revision))
 {
 this-Rev.Rev = rev;
@@ -359,7 +359,7 @@ private:
 else if(strcmp(name, path) == 0  !this-CData.empty())
   {
   std::string orig_path(this-CData[0], this-CData.size());
-  std::string new_path = SVNInfo.BuildLocalPath( orig_path );
+  std::string new_path = SVNRepo.BuildLocalPath( orig_path );
   this-CurChange.Path.assign(new_path);
   this-Changes.push_back(this-CurChange);
   }

---

Summary of changes:
 Source/CTest/cmCTestSVN.cxx |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)


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


[Cmake-commits] CMake branch, next, updated. v2.8.9-339-g4501785

2012-09-03 Thread Brad King
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  4501785e4beb907230ba8b6b2d0bdeaeda4d3fdd (commit)
   via  014afaee8ec78763f9d731a90e72263b6c7539d3 (commit)
  from  4b2710c1aeffcdfe18e3afc01c8e4f7ce2ed02c8 (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=4501785e4beb907230ba8b6b2d0bdeaeda4d3fdd
commit 4501785e4beb907230ba8b6b2d0bdeaeda4d3fdd
Merge: 4b2710c 014afae
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 12:17:56 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Sep 3 12:17:56 2012 -0400

Merge topic 'ctest-svn-update' into next

014afae cmCTestSVN: Do not hide base class DoRevision method


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=014afaee8ec78763f9d731a90e72263b6c7539d3
commit 014afaee8ec78763f9d731a90e72263b6c7539d3
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 12:16:12 2012 -0400
Commit: Brad King brad.k...@kitware.com
CommitDate: Mon Sep 3 12:16:12 2012 -0400

cmCTestSVN: Do not hide base class DoRevision method

Since cmCTestSVN overrides the Revision structure the DoRevision method
signature changes.  Rename the new signature to avoid hiding the
original.

diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index 2fd4440..9628ee9 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -354,7 +354,7 @@ private:
 {
 if(strcmp(name, logentry) == 0)
   {
-  this-SVN-DoRevision(this-Rev, this-Changes);
+  this-SVN-DoRevisionSVN(this-Rev, this-Changes);
   }
 else if(strcmp(name, path) == 0  !this-CData.empty())
   {
@@ -423,8 +423,8 @@ void cmCTestSVN::LoadRevisions(SVNInfo svninfo)
 }
 
 //
-void cmCTestSVN::DoRevision(Revision const revision,
-std::vectorChange const changes)
+void cmCTestSVN::DoRevisionSVN(Revision const revision,
+   std::vectorChange const changes)
 {
   // Guess the base checkout path from the changes if necessary.
   if(this-RootInfo-Base.empty()  !changes.empty())
diff --git a/Source/CTest/cmCTestSVN.h b/Source/CTest/cmCTestSVN.h
index 571af8c..9fc2008 100644
--- a/Source/CTest/cmCTestSVN.h
+++ b/Source/CTest/cmCTestSVN.h
@@ -78,8 +78,8 @@ private:
 
   void GuessBase(SVNInfo svninfo, std::vectorChange const changes);
 
-  void DoRevision(Revision const revision,
-  std::vectorChange const changes);
+  void DoRevisionSVN(Revision const revision,
+ std::vectorChange const changes);
 
   void WriteXMLGlobal(std::ostream xml);
 

---

Summary of changes:
 Source/CTest/cmCTestSVN.cxx |6 +++---
 Source/CTest/cmCTestSVN.h   |4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)


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


[Cmake-commits] CMake branch, next, updated. v2.8.9-341-g14c6c72

2012-09-03 Thread Brad King
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  14c6c727e05ab306b4268126ec942c8fa19a1bff (commit)
   via  c0f89e9c146ebb2cbb3c228f09c295875256d989 (commit)
  from  4501785e4beb907230ba8b6b2d0bdeaeda4d3fdd (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=14c6c727e05ab306b4268126ec942c8fa19a1bff
commit 14c6c727e05ab306b4268126ec942c8fa19a1bff
Merge: 4501785 c0f89e9
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 16:33:19 2012 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Sep 3 16:33:19 2012 -0400

Merge topic 'magrathea-release-DT_RUNPATH' into next

c0f89e9 magrathea: Tell cmELF about DT_RUNPATH (#13497)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0f89e9c146ebb2cbb3c228f09c295875256d989
commit c0f89e9c146ebb2cbb3c228f09c295875256d989
Author: Brad King brad.k...@kitware.com
AuthorDate: Mon Sep 3 11:11:45 2012 -0400
Commit: Brad King brad.k...@kitware.com
CommitDate: Mon Sep 3 16:30:33 2012 -0400

magrathea: Tell cmELF about DT_RUNPATH (#13497)

Our Linux release machine 'magrathea' has a very old Linux to help build
portable binaries.  It is so old that elf.h does not define the
DT_RUNPATH constant.  Define the correct value in the build flags to
activate handling of ELF RUNPATH entries in the binary release.

diff --git a/Utilities/Release/magrathea_release.cmake 
b/Utilities/Release/magrathea_release.cmake
index 1b2ae02..60c1a88 100644
--- a/Utilities/Release/magrathea_release.cmake
+++ b/Utilities/Release/magrathea_release.cmake
@@ -3,6 +3,8 @@ set(HOST magrathea)
 set(MAKE_PROGRAM make)
 set(CC gcc332s)
 set(CXX c++332s)
+set(CFLAGS   -DDT_RUNPATH=29)
+set(CXXFLAGS -DDT_RUNPATH=29)
 set(INITIAL_CACHE 
 CMAKE_BUILD_TYPE:STRING=Release
 CURSES_LIBRARY:FILEPATH=/usr/i686-gcc-332s/lib/libncurses.a

---

Summary of changes:
 Utilities/Release/magrathea_release.cmake |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


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


[Cmake-commits] CMake branch, master, updated. v2.8.9-225-g508ed69

2012-09-03 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  508ed6940b447c2fb6b5fe4f036138ce57ab3c4c (commit)
  from  6ef858b50195ece350800de746e5c8126dfbae94 (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=508ed6940b447c2fb6b5fe4f036138ce57ab3c4c
commit 508ed6940b447c2fb6b5fe4f036138ce57ab3c4c
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Tue Sep 4 00:01:03 2012 -0400
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Tue Sep 4 00:01:03 2012 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index d038f28..fa9b708 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
 set(CMake_VERSION_MAJOR 2)
 set(CMake_VERSION_MINOR 8)
 set(CMake_VERSION_PATCH 9)
-set(CMake_VERSION_TWEAK 20120903)
+set(CMake_VERSION_TWEAK 20120904)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


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