[cmake-developers] ExternalProject_Add issue

2013-05-27 Thread Alan W. Irwin

My use case is I am implementing one overall CMake build_projects
project that uses the ExternalProject_Add function in a systematic way
to build potentially lots of different projects on MinGW/MSYS/Windows.
For example, if a user of this script (once finished) asked for a
PLplot build, then the PLplot dependencies, shapelib, qhull, libcairo,
Qt4, etc. would be automatically built first and those results used by
the automatic PLplot build.  And similarly for ephcom (which has no
dependencies), and te_gen (which depends on ephcom and PLplot). This
script is going to make by MinGW/MSYS/Wine software testing much
easier to do, but if this approach becomes popular it could expand to a
general-purpose build script for free software on Windows.

The first issue I have encountered with this approach is the
problematic (in my view) forced ALL for the add_custom_target in the
ExternalProject_Add function. Assuming my build script becomes popular
with many projects beyond what I have outlined above, the end user
doesn't want to start a 100-hour build of all projects by simply
typing the make command by accident!  Instead, those end users will
most likely want a menu of named targets (that they can obtain with
the make help command) to build projects (and build their
dependencies), with none of those custom targets having the ALL attribute.

To me the cleanest way to deal with this issue to implement a modified
ExternalProject_Add function for my project which (a) considers the
ALL in the internal add_custom_target as a misfeature and just drops
it or (b) adds an optional ALL argument that it passes to its internal
invocation of add_custom_target.

However, I would ideally prefer not have to maintain my own
independent ExternalProject module in the long term so would it be
worthwhile to make such a feature request (either a or b) for the
CMake version of the ExternalProject module? Of course, this would be
a backwards incompatible change in the ExternalProject_Add function
that would affect users who currently ignore the generated custom
target dependencies and simply relied on the ALL target to get the
desired external projects built with no concern about dependencies
between such builds or dependencies of their own build on those
external project builds.  Are there any such users that ignore
dependencies that way?  In the case of (a), they would have to write
an additional custom target with the ALL attribute that depended on
the custom target produced by ExternalProject_Add.  In the case of (b)
they would have to change their ExternalProject_Add calls to add an
ALL to the argument list. If the consensus amongst core CMake
developers is the adopted solution (whether a or b or something else)
is a serious backwards incompatibility issue, then that would warrant
dealing with this change by policy.  Anyhow, let me know what you
think of this proposed change, and if a positive consensus develops
for either a or b or something else, I will write up the feature
request accordingly.

As I write this, I am just about finished with translating PLplot
documentation of how to build and test shapelib on Windows into an
ExternalProject_Add call.  Even from this small bit of experience I am
already pretty impressed with the ExternalProject_Add approach for
making a build script.  Thus, I suspect this shapelib part of it is a
small first step in what might be an interesting but long journey.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

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] Weekly Developer IRC Meeting.

2013-05-27 Thread Robert Maynard
Due to memorial day I am unable to attend the weekly IRC developer
meeting. Lets restart the meetings next week.
--

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] ExternalProject_Add issue

2013-05-27 Thread Alan W. Irwin

On 2013-05-27 00:59-0700 Alan W. Irwin wrote:


The first issue I have encountered with this approach is the
problematic (in my view) forced ALL for the add_custom_target in the
ExternalProject_Add function. Assuming my build script becomes popular
with many projects beyond what I have outlined above, the end user
doesn't want to start a 100-hour build of all projects by simply
typing the make command by accident!  Instead, those end users will
most likely want a menu of named targets (that they can obtain with
the make help command) to build projects (and build their
dependencies), with none of those custom targets having the ALL attribute.


Never mind, and sorry about the noise concerning this.  The current
way ALL is used with the add_custom_target command inside
ExternalProject_Add should be fine.

To clarify that, the way I have the build_projects project planned,
the user specifies the projects he wants built and those (and their
dependencies) are _the only_ projects that are built.  Thus, depending
on which projects the user asked for, the total build that resulted
from make all might only take a few minutes and would only take a
long time (e.g., the 100 hours noted above) if the user specifically
requested a project which was extremely large or which had
dependencies which were extremely large.  So the ALL attribute for the
custom target created inside ExternalProject_Add is appropriate for
whatever subset of the available projects the user desires to build.

Furthermore, I did not read far enough into the ExternalProject_Add
documentation for the first build I am implementing (which is
shapelib).  Clearly, there is an install section in
ExternalProject_Add, and, in fact, I am going to use that
functionality to finish up my configuration of the shapelib install so
the way ALL is used in ExternalProject_Add is not only appropriate but
also necessary.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

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] Weekly Developer IRC Meeting.

2013-05-27 Thread Alexander Neundorf
On Monday 27 May 2013, Robert Maynard wrote:
 Due to memorial day I am unable to attend the weekly IRC developer
 meeting. Lets restart the meetings next week.

Every Monday, 2pm New York time ?

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] [CMake 0014173]: Add FindGLIB.cmake

2013-05-27 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=14173 
== 
Reported By:Nicholas
Assigned To:
== 
Project:CMake
Issue ID:   14173
Category:   Modules
Reproducibility:N/A
Severity:   feature
Priority:   normal
Status: new
== 
Date Submitted: 2013-05-27 16:48 EDT
Last Modified:  2013-05-27 16:48 EDT
== 
Summary:Add FindGLIB.cmake
Description: 
FindGTK2.cmake is too GTK-specific - it includes many unnecessary libraries if
you just want GLIB, and it doesn't work if you don't have Freetype.

WebKit repository has a decent FindGLIB module you could probably borrow. Link:
https://trac.webkit.org/browser/trunk/Source/cmake/FindGLIB.cmake
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2013-05-27 16:48 Nicholas   New Issue
==

--

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] Weekly Developer IRC Meeting.

2013-05-27 Thread Robert Maynard
That will be the goal.

Sent from my iPhone

On May 27, 2013, at 3:39 PM, Alexander Neundorf neund...@kde.org wrote:

 On Monday 27 May 2013, Robert Maynard wrote:
 Due to memorial day I am unable to attend the weekly IRC developer
 meeting. Lets restart the meetings next week.
 
 Every Monday, 2pm New York time ?
 
 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
--

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] Cross compiling with Wind River (Diab) compiler

2013-05-27 Thread BILODEAU Andre
Hello

I am presently installing makefiles for cross-compiling by using cmake 2.8.10.2 
and I have to deal with the following issues:

1-  The toolchain, Wind River C compiler (formerly Diab) is not mentioned 
into modules such as CMakeDetermineCompilerId.cmake), and the compiler is not 
identified

2-  Mandatory project options force to compile in 2 steps:

a.   Firstly, compile compiler (dcc) for producing an assembler file

b.  Then call the assembler (called dar) program for getting the object 
file .o

3-  Moreover, I wish to produce a static library by using a specific Wind 
River archiver (called dar)

 

I assume that the first issue should raise few problems.

 

For the second issue, I would have to write something equivalent to a .c.o 
makefile rule. If I understood the cmake docs, I would have to proceed as 
follows (I have hundreds of files to compile)

a.   Write a custom command invoking the complier an the assembler, by 
add_custom_command

b.  Embed that definition into a macro, depending on the input and output 
file

c.   Call this macro for all .c files of the project

 

Has anybody an example of such a setup?

 

I presume this is the same for the third issue. Am I right ?

 

André BILODEAU
Expert Emérite Safran / Ingénieur Qualité Méthodes Outils

I
Tél: 01 30 68 38 99

GSM : 06 26 36 01 71

Fax   : 01 30 68 38 02

BU Equipements Aéronautiques et Transport Terrestre

Safran Engineering Services

10 rue du Fort de Saint Cyr

78180 Montigny le Bretonneux - France
www.safran-engineering.com http://www.safran-engineering.com 
 

 

image001.jpg--

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 Error: CMake was unable to find a build program corresponding to Unix Makefiles.

2013-05-27 Thread Carlos Giménez
Dear all, I'm trying to install one program in my system (Debian 7.0
Wheezy), but I have this problem with cmake.


*FC=gfotran CC=gcc CXX=g++ cmake -DENABLE_MPI=OFF -DENABLE_SGI_MPT=OFF
-DENABLE_BLAS=ON -DENABLE_LAPACK=ON -DENABLE_TESTS=OFF
-DENABLE_64BIT_INTEGERS=OFF -DCMAKE_BUILD_TYPE=Release
/home/Darth-Razor/Documentos/DIRAC-12.6-Source

CMake Error: CMake was unable to find a build program corresponding to
Unix Makefiles.  CMAKE_MAKE_PROGRAM is not set.  You probably need to
select a different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_Fortran_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_Fortran_COMPILER
CMake Error: Could not find cmake module
file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeFortranCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module
file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module
file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: CMAKE_Fortran_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!*

I have this versions:

*cmake version = 2.8.9
gfortran version = GNU Fortran (Debian 4.7.2-5) 4.7.2
*
*gcc version = gcc (Debian 4.7.2-5) 4.7.2
*
*g++ version = g++ (Debian 4.7.2-5) 4.7.2*

I try to setup the .bashrc with

*export CMAKE_Fortran_COMPILER=/usr/bin/gfortran
export CMAKE_C_COMPILER=/usr/bin/gcc
export CMAKE_CXX_COMPILER=/usr/bin/g++*

and with

*export
PATH=$PATH:/usr/bin/cmake:/usr/bin/gfortran:/usr/bin/gcc:/usr/bin/g++*

But I have the same error.

Thanks for the help in advance!

All the best!


-- 
Lic. Carlos A. Giménez
PhD student
Natural and Exact Science Faculty
Northeastern University of Argentina
Institute of Modeling and Innovation on Technology
CONICET UNNE http://imit.unne.edu.ar
Personal web page: https://sites.google.com/site/scire1905/

(Enough reason to think if is necessary to print this document.)
--

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 Error: CMake was unable to find a build program corresponding to Unix Makefiles.

2013-05-27 Thread Rolf Eike Beer

Am 27.05.2013 11:50, schrieb Carlos Giménez:

Dear all, I'm trying to install one program in my system (Debian 7.0
Wheezy), but I have this problem with cmake.


*FC=gfotran CC=gcc CXX=g++ cmake -DENABLE_MPI=OFF -DENABLE_SGI_MPT=OFF
-DENABLE_BLAS=ON -DENABLE_LAPACK=ON -DENABLE_TESTS=OFF
-DENABLE_64BIT_INTEGERS=OFF -DCMAKE_BUILD_TYPE=Release
/home/Darth-Razor/Documentos/DIRAC-12.6-Source

CMake Error: CMake was unable to find a build program corresponding to
Unix Makefiles.  CMAKE_MAKE_PROGRAM is not set.  You probably need 
to

select a different build tool.


Do you have make installed?

HTH,

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] Wiki: version compatibility matrix

2013-05-27 Thread Johannes Zarl
Hi,

Am 23.05.2013, 19:38:26 schrieb Alexander Neundorf:
 the matrix is getting a bit out of date, the last update is for 2.8.8.
 Can you try to create an updated version ?

No problem, I'll do it somewhere in the next few weeks.

  Johannes
--

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 Error: CMake was unable to find a build program corresponding to Unix Makefiles.

2013-05-27 Thread Carlos Giménez
Dear Rolf Eike Beer, thanks for the help. Exactly! That was my
error... Now is working.

Best regards!

Am 27.05.2013 11:50, schrieb Carlos Giménez:
* Dear all, I'm trying to install one program in my system (Debian 7.0** 
Wheezy), but I have this problem with cmake.** ** ** *FC=gfotran CC=gcc 
CXX=g++ cmake -DENABLE_MPI=OFF -DENABLE_SGI_MPT=OFF** -DENABLE_BLAS=ON 
-DENABLE_LAPACK=ON -DENABLE_TESTS=OFF** -DENABLE_64BIT_INTEGERS=OFF 
-DCMAKE_BUILD_TYPE=Release** 
/home/Darth-Razor/Documentos/DIRAC-12.6-Source** ** CMake Error: CMake was 
unable to find a build program corresponding to** Unix Makefiles.  
CMAKE_MAKE_PROGRAM is not set.  You probably need ** to** select a different 
build tool.*
Do you have make installed?

HTH,

Eike
-- 



2013/5/27 Carlos Giménez scire1...@gmail.com

 Dear all, I'm trying to install one program in my system (Debian 7.0
 Wheezy), but I have this problem with cmake.


 *FC=gfotran CC=gcc CXX=g++ cmake -DENABLE_MPI=OFF -DENABLE_SGI_MPT=OFF
 -DENABLE_BLAS=ON -DENABLE_LAPACK=ON -DENABLE_TESTS=OFF
 -DENABLE_64BIT_INTEGERS=OFF -DCMAKE_BUILD_TYPE=Release
 /home/Darth-Razor/Documentos/DIRAC-12.6-Source

 CMake Error: CMake was unable to find a build program corresponding to
 Unix Makefiles.  CMAKE_MAKE_PROGRAM is not set.  You probably need to
 select a different build tool.
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_Fortran_COMPILER_ENV_VAR
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_Fortran_COMPILER
 CMake Error: Could not find cmake module
 file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeFortranCompiler.cmake
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_C_COMPILER_ENV_VAR
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_C_COMPILER
 CMake Error: Could not find cmake module
 file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeCCompiler.cmake
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_CXX_COMPILER_ENV_VAR
 CMake Error: Error required internal CMake variable not set, cmake may be
 not be built correctly.
 Missing variable is:
 CMAKE_CXX_COMPILER
 CMake Error: Could not find cmake module
 file:/home/Darth-Razor/Documentos/DIRAC-12.6-Source/build/CMakeFiles/CMakeCXXCompiler.cmake
 CMake Error: CMAKE_Fortran_COMPILER not set, after EnableLanguage
 CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
 CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
 -- Configuring incomplete, errors occurred!*

 I have this versions:

 *cmake version = 2.8.9
 gfortran version = GNU Fortran (Debian 4.7.2-5) 4.7.2
 *
 *gcc version = gcc (Debian 4.7.2-5) 4.7.2
 *
 *g++ version = g++ (Debian 4.7.2-5) 4.7.2*

 I try to setup the .bashrc with

 *export CMAKE_Fortran_COMPILER=/usr/bin/gfortran
 export CMAKE_C_COMPILER=/usr/bin/gcc
 export CMAKE_CXX_COMPILER=/usr/bin/g++*

 and with

 *export
 PATH=$PATH:/usr/bin/cmake:/usr/bin/gfortran:/usr/bin/gcc:/usr/bin/g++*

 But I have the same error.

 Thanks for the help in advance!

 All the best!


 --
 Lic. Carlos A. Giménez
 PhD student
 Natural and Exact Science Faculty
 Northeastern University of Argentina
 Institute of Modeling and Innovation on Technology
 CONICET UNNE http://imit.unne.edu.ar
 Personal web page: https://sites.google.com/site/scire1905/

 (Enough reason to think if is necessary to print this document.)




-- 
Lic. Carlos A. Giménez
PhD student
Natural and Exact Science Faculty
Northeastern University of Argentina
Institute of Modeling and Innovation on Technology
CONICET UNNE http://imit.unne.edu.ar
Personal web page: https://sites.google.com/site/scire1905/

(Enough reason to think if is necessary to print this document.)
--

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 cmake 2.8.11 when detecting sgemm function from MKL 11.0

2013-05-27 Thread Stephen Kelly
Brad King wrote:

 On 05/24/2013 04:24 PM, Brad King wrote:
 It does not individually re-quote the library names so when the
 generated CMakeLists.txt file is parsed it separates on spaces.
 
 Fixed:
 
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e65ef08b
 

Great, thanks!

--

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] Cross compiling with Wind River (Diab) compiler

2013-05-27 Thread Alexander Neundorf
On Monday 27 May 2013, BILODEAU Andre wrote:
 Hello
 
 I am presently installing makefiles for cross-compiling by using cmake
 2.8.10.2 and I have to deal with the following issues:
 
 1-  The toolchain, Wind River C compiler (formerly Diab) is not
 mentioned into modules such as CMakeDetermineCompilerId.cmake), and the
 compiler is not identified

Ok, so this toolchain has to be added.
This is probably not too complicated.
Add a way to recognize the compiler in CMakeDetermineCompilerID, and then add 
a file for this toolchain in Modules/Compiler/.
Somehow I assume that this compiler is probably quite straightforward and 
similar to other UNIX compilers.


 2-  Mandatory project options force to compile in 2 steps:
 
 a.   Firstly, compile compiler (dcc) for producing an assembler file
 
 b.  Then call the assembler (called dar) program for getting the object
 file .o

Hmm, this is in general not supported.
If you really have to do it this way, I'm not sure I can recommend using 
cmake.
The assembler is maybe das, not dar ?


 3-  Moreover, I wish to produce a static library by using a specific
 Wind River archiver (called dar)

No problem, this can be tweaked in CMakeFindBinUtils.cmake.

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


[CMake] Generated Files Dependencies

2013-05-27 Thread Mike Krus
Hi

I've started to use Protocol Buffers in my project. 

.proto files gets compiled into c++ .cc and .h files using the 
PROTOBUF_GENERATE_CPP that comes with CMake (2.8.10, Ninja generator).

It all works fine except that the generated .cc and .h files become 
dependencies of all the other files in the library, so if I change the .proto 
file, the .cc and .h get regenerated (good), but then my entire library gets 
recompiled (not just the files that #include the generated .h file, bad!).

Is there an easy way of stopping this? Is it a CMake bug?


Cheers,


Mike 
--

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.11-2219-g13f3a66

2013-05-27 Thread Stephen Kelly
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  13f3a6698027c85a942751841da2a75b865dd4d3 (commit)
   via  69ac262d318a2c3b325378d0a09843e3bb9517cc (commit)
  from  fe7e3db3692423e09050db41f86dde84300d4d05 (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=13f3a6698027c85a942751841da2a75b865dd4d3
commit 13f3a6698027c85a942751841da2a75b865dd4d3
Merge: fe7e3db 69ac262
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon May 27 02:26:53 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 02:26:53 2013 -0400

Merge topic 'find-Qt4-granular-modules' into next

69ac262 FindQt4: Don't fail if certain Qt modules are unavailable.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=69ac262d318a2c3b325378d0a09843e3bb9517cc
commit 69ac262d318a2c3b325378d0a09843e3bb9517cc
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu May 23 17:02:05 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Mon May 27 08:25:55 2013 +0200

FindQt4: Don't fail if certain Qt modules are unavailable.

diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 68b37f3..8ce1934 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -884,16 +884,20 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   endforeach()
 
   if(Q_WS_WIN)
-set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
-# Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
-find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
-  PATHS ${QT_HEADERS_DIR}/ActiveQt
-  NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-  )
-find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
-  PATHS ${QT_HEADERS_DIR}/ActiveQt
-  NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
-  )
+if (QT_QAXCONTAINER_FOUND)
+  set(QT_MODULES ${QT_MODULES} QAxContainer)
+  # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
+  find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
+PATHS ${QT_HEADERS_DIR}/ActiveQt
+NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+)
+endif()
+if (QT_QAXSERVER_FOUND)
+  find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
+PATHS ${QT_HEADERS_DIR}/ActiveQt
+NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
+)
+endif()
   endif()
 
   # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
@@ -1054,14 +1058,18 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   if(Q_WS_WIN)
 _QT4_ADJUST_LIB_VARS(qtmain)
 
-_QT4_ADJUST_LIB_VARS(QAxServer)
-set_property(TARGET Qt4::QAxServer PROPERTY
-  INTERFACE_QT4_NO_LINK_QTMAIN ON
-)
-set_property(TARGET Qt4::QAxServer APPEND PROPERTY
-  COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
+if(QT_QAXSERVER_FOUND)
+  _QT4_ADJUST_LIB_VARS(QAxServer)
+  set_property(TARGET Qt4::QAxServer PROPERTY
+INTERFACE_QT4_NO_LINK_QTMAIN ON
+  )
+  set_property(TARGET Qt4::QAxServer APPEND PROPERTY
+COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
+endif()
 
-_QT4_ADJUST_LIB_VARS(QAxContainer)
+if(QT_QAXCONTAINER_FOUND)
+  _QT4_ADJUST_LIB_VARS(QAxContainer)
+endif()
   endif()
 
   # Only public dependencies are listed here.
@@ -1083,7 +1091,9 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   _qt4_add_target_depends(QtWebKit Gui Network)
 
   _qt4_add_target_private_depends(Qt3Support Xml)
-  _qt4_add_target_private_depends(QtSvg Xml)
+  if(QT_VERSION VERSION_GREATER 4.6)
+_qt4_add_target_private_depends(QtSvg Xml)
+  endif()
   _qt4_add_target_private_depends(QtDBus Xml)
   _qt4_add_target_private_depends(QtUiTools Xml Gui)
   _qt4_add_target_private_depends(QtHelp Sql Xml Network)
@@ -1093,8 +1103,12 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   _qt4_add_target_private_depends(QtDeclarative XmlPatterns Svg Sql Gui)
   _qt4_add_target_private_depends(QtMultimedia Gui)
   _qt4_add_target_private_depends(QtOpenGL Gui)
-  _qt4_add_target_private_depends(QAxServer Gui)
-  _qt4_add_target_private_depends(QAxContainer Gui)
+  if(QT_QAXSERVER_FOUND)
+_qt4_add_target_private_depends(QAxServer Gui)
+  endif()
+  if(QT_QAXCONTAINER_FOUND)
+_qt4_add_target_private_depends(QAxContainer Gui)
+  endif()
   _qt4_add_target_private_depends(phonon Gui)
   if(QT_QTDBUS_FOUND)
 _qt4_add_target_private_depends(phonon DBus)

---

Summary of changes:
 Modules/FindQt4.cmake |   54 ++--
 1 files changed, 34 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list

[Cmake-commits] CMake branch, next, updated. v2.8.11-2221-g82bebd2

2013-05-27 Thread Clinton Stimpson
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  82bebd2a8949fc59b1bb9f2f4c1e79f7d2807f5d (commit)
   via  a060f29f5d1a715c7db068305a81bea8e7b509ca (commit)
  from  13f3a6698027c85a942751841da2a75b865dd4d3 (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=82bebd2a8949fc59b1bb9f2f4c1e79f7d2807f5d
commit 82bebd2a8949fc59b1bb9f2f4c1e79f7d2807f5d
Merge: 13f3a66 a060f29
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 27 11:33:46 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 11:33:46 2013 -0400

Merge topic 'xcode-shlib-versioning' into next

a060f29 xcode: Add support for shared library versioning.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a060f29f5d1a715c7db068305a81bea8e7b509ca
commit a060f29f5d1a715c7db068305a81bea8e7b509ca
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 13 20:45:35 2013 -0600
Commit: Clinton Stimpson clin...@elemtech.com
CommitDate: Mon May 27 09:32:52 2013 -0600

xcode: Add support for shared library versioning.

diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index 2e6b71e..6e5d449 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -207,12 +207,8 @@ if(${CMAKE_BACKWARDS_COMPATIBILITY} MATCHES 
^1\\.[0-6]$)
 ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace -undefined 
suppress)
 endif()
 
-if(NOT XCODE)
-  # Enable shared library versioning.  This flag is not actually referenced
-  # but the fact that the setting exists will cause the generators to support
-  # soname computation.
-  set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG -install_name)
-endif()
+# Enable shared library versioning.
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG -install_name)
 
 # Xcode does not support -isystem yet.
 if(XCODE)
diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 240d60c..43d49da 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1319,8 +1319,40 @@ void 
cmGlobalXCodeGenerator::CreateCustomCommands(cmXCodeObject* buildPhases,
 = cmtarget.GetPreBuildCommands();
   std::vectorcmCustomCommand const  prelink
 = cmtarget.GetPreLinkCommands();
-  std::vectorcmCustomCommand const  postbuild
+  std::vectorcmCustomCommand postbuild
 = cmtarget.GetPostBuildCommands();
+
+  if(cmtarget.GetType() == cmTarget::SHARED_LIBRARY 
+!cmtarget.IsFrameworkOnApple())
+{
+cmCustomCommandLines cmd;
+cmd.resize(1);
+cmd[0].push_back(this-CurrentMakefile-GetDefinition(CMAKE_COMMAND));
+cmd[0].push_back(-E);
+cmd[0].push_back(cmake_symlink_library);
+std::string str_file = $TARGET_FILE:;
+str_file += cmtarget.GetName();
+str_file += ;
+std::string str_so_file = $TARGET_SONAME_FILE:;
+str_so_file += cmtarget.GetName();
+str_so_file += ;
+std::string str_link_file = $TARGET_LINKER_FILE:;
+str_link_file += cmtarget.GetName();
+str_link_file += ;
+cmd[0].push_back(str_file);
+cmd[0].push_back(str_so_file);
+cmd[0].push_back(str_link_file);
+
+cmCustomCommand command(this-CurrentMakefile,
+  std::vectorstd::string(),
+  std::vectorstd::string(),
+  cmd,
+  Creating symlinks,
+  );
+
+postbuild.push_back(command);
+}
+
   std::vectorcmSourceFile*const classes = cmtarget.GetSourceFiles();
   // add all the sources
   std::vectorcmCustomCommand commands;
@@ -1797,9 +1829,34 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
   std::string pnprefix;
   std::string pnbase;
   std::string pnsuffix;
-
   target.GetFullNameComponents(pnprefix, pnbase, pnsuffix, configName);
 
+  const char* version = target.GetProperty(VERSION);
+  const char* soversion = target.GetProperty(SOVERSION);
+  if(!target.HasSOName(configName) || target.IsFrameworkOnApple())
+{
+version = 0;
+soversion = 0;
+}
+  if(version  !soversion)
+{
+soversion = version;
+}
+  if(!version  soversion)
+{
+version = soversion;
+}
+
+  std::string realName = pnbase;
+  std::string soName = pnbase;
+  if(version  soversion)
+{
+realName += .;
+realName += version;
+soName += .;
+soName += soversion;
+}
+
   // Set attributes to specify the proper name for the target.
   std::string pndir = this-CurrentMakefile-GetCurrentOutputDirectory();
   if(target.GetType() == cmTarget::STATIC_LIBRARY ||
@@ -1857,7 +1914,7 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
 
   // Store the product name for all target types.
   

[Cmake-commits] CMake branch, next, updated. v2.8.11-2223-g6ff21a8

2013-05-27 Thread Clinton Stimpson
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  6ff21a80304dd8f82ab84f23bb170be7eb812e60 (commit)
   via  2ccdfd4f58469cfc75979f0e4abf31d411d60c39 (commit)
  from  82bebd2a8949fc59b1bb9f2f4c1e79f7d2807f5d (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=6ff21a80304dd8f82ab84f23bb170be7eb812e60
commit 6ff21a80304dd8f82ab84f23bb170be7eb812e60
Merge: 82bebd2 2ccdfd4
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 27 13:15:48 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 13:15:48 2013 -0400

Merge topic 'xcode-shlib-versioning' into next

2ccdfd4 Fix test failures from 7d8a0788 with spaces in paths.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2ccdfd4f58469cfc75979f0e4abf31d411d60c39
commit 2ccdfd4f58469cfc75979f0e4abf31d411d60c39
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 27 11:11:33 2013 -0600
Commit: Clinton Stimpson clin...@elemtech.com
CommitDate: Mon May 27 11:14:41 2013 -0600

Fix test failures from 7d8a0788 with spaces in paths.

diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 43d49da..2e2d4c4 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -2225,15 +2225,16 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
 // This is done by adding a link flag to create an install_name
 // with just the library soname.
 extraLinkOptions +=  -install_name ;
+std::string install_name;
 if(!install_name_dir.empty())
   {
   // Convert to a path for the native build tool.
   cmSystemTools::ConvertToUnixSlashes(install_name_dir);
-  // do not escape spaces on this since it is only a single path
-  extraLinkOptions += install_name_dir;
-  extraLinkOptions += /;
+  install_name += install_name_dir;
+  install_name += /;
   }
-extraLinkOptions += target.GetSOName(configName);
+install_name += target.GetSOName(configName);
+extraLinkOptions += XCodeEscapePath(install_name.c_str());
 }
   buildSettings-AddAttribute(INSTALL_PATH,
   this-CreateString(install_name_dir.c_str()));

---

Summary of changes:
 Source/cmGlobalXCodeGenerator.cxx |9 +
 1 files changed, 5 insertions(+), 4 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.11-2225-g0d39e47

2013-05-27 Thread Stephen Kelly
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  0d39e472c1f26711adb1d641bfa272080b3a611b (commit)
   via  fda8d2cf30d13de7eb0074f257f25fc63a754d6e (commit)
  from  6ff21a80304dd8f82ab84f23bb170be7eb812e60 (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=0d39e472c1f26711adb1d641bfa272080b3a611b
commit 0d39e472c1f26711adb1d641bfa272080b3a611b
Merge: 6ff21a8 fda8d2c
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon May 27 14:06:14 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 14:06:14 2013 -0400

Merge topic 'fix-qt4_use_modules-QtAx' into next

fda8d2c Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fda8d2cf30d13de7eb0074f257f25fc63a754d6e
commit fda8d2cf30d13de7eb0074f257f25fc63a754d6e
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu May 23 16:51:11 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Mon May 27 20:05:28 2013 +0200

Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.

These libraries have non-conventional variable names.

diff --git a/Modules/Qt4Macros.cmake b/Modules/Qt4Macros.cmake
index 251d57c..f6c8476 100644
--- a/Modules/Qt4Macros.cmake
+++ b/Modules/Qt4Macros.cmake
@@ -451,14 +451,22 @@ function(qt4_use_modules _target _link_type)
   endif()
   foreach(_module ${modules})
 string(TOUPPER ${_module} _ucmodule)
-if (NOT QT_QT${_ucmodule}_FOUND)
-  message(FATAL_ERROR Can not use \${_module}\ module which has not yet 
been found.)
-endif()
-if (${_ucmodule} STREQUAL MAIN)
-  message(FATAL_ERROR Can not use \${_module}\ module with 
qt4_use_modules.)
+set(_targetPrefix QT_QT${_ucmodule})
+if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER)
+  if (NOT QT_Q${_ucmodule}_FOUND)
+message(FATAL_ERROR Can not use \${_module}\ module which has not 
yet been found.)
+  endif()
+  set(_targetPrefix QT_Q${_ucmodule})
+else()
+  if (NOT QT_QT${_ucmodule}_FOUND)
+message(FATAL_ERROR Can not use \${_module}\ module which has not 
yet been found.)
+  endif()
+  if (${_ucmodule} STREQUAL MAIN)
+message(FATAL_ERROR Can not use \${_module}\ module with 
qt4_use_modules.)
+  endif()
 endif()
-target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY})
-set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES 
${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
-set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS 
${QT_QT${_ucmodule}_COMPILE_DEFINITIONS})
+target_link_libraries(${_target} ${link_type} 
${${_targetPrefix}_LIBRARIES})
+set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES 
${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
+set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS 
${${_targetPrefix}_COMPILE_DEFINITIONS})
   endforeach()
 endfunction()

---

Summary of changes:
 Modules/Qt4Macros.cmake |   24 
 1 files changed, 16 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.11-2227-g3a94f2e

2013-05-27 Thread Clinton Stimpson
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  3a94f2eae9c71f9890f8013404d2c389e84a3bb2 (commit)
   via  78eeb70e4ce8505795eb9ef603c670b242a7b55a (commit)
  from  0d39e472c1f26711adb1d641bfa272080b3a611b (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=3a94f2eae9c71f9890f8013404d2c389e84a3bb2
commit 3a94f2eae9c71f9890f8013404d2c389e84a3bb2
Merge: 0d39e47 78eeb70
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 27 18:36:57 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 18:36:57 2013 -0400

Merge topic 'xcode-shlib-versioning' into next

78eeb70 Fix test failures with older Xcode from a060f29f.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=78eeb70e4ce8505795eb9ef603c670b242a7b55a
commit 78eeb70e4ce8505795eb9ef603c670b242a7b55a
Author: Clinton Stimpson clin...@elemtech.com
AuthorDate: Mon May 27 16:34:58 2013 -0600
Commit: Clinton Stimpson clin...@elemtech.com
CommitDate: Mon May 27 16:35:35 2013 -0600

Fix test failures with older Xcode from a060f29f.

It was complinaing about duplicate install names.

diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 2e2d4c4..9bbf186 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -2224,7 +2224,6 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
 // of dylib libraries, we want to specify the install_name.
 // This is done by adding a link flag to create an install_name
 // with just the library soname.
-extraLinkOptions +=  -install_name ;
 std::string install_name;
 if(!install_name_dir.empty())
   {
@@ -2234,7 +2233,13 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
   install_name += /;
   }
 install_name += target.GetSOName(configName);
-extraLinkOptions += XCodeEscapePath(install_name.c_str());
+
+if((realName != soName) || install_name_dir.empty())
+  {
+  install_name_dir = ;
+  extraLinkOptions +=  -install_name ;
+  extraLinkOptions += XCodeEscapePath(install_name.c_str());
+  }
 }
   buildSettings-AddAttribute(INSTALL_PATH,
   this-CreateString(install_name_dir.c_str()));

---

Summary of changes:
 Source/cmGlobalXCodeGenerator.cxx |9 +++--
 1 files changed, 7 insertions(+), 2 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.11-2233-gdbe762e

2013-05-27 Thread Stephen Kelly
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  dbe762ed85efd857a6b9d64d1556247f2a899ee7 (commit)
   via  fa55751f83dc5d5bd5f80d12c3076ec703262edb (commit)
   via  f77631672168b1e3b5fad93c2bb83db65cb67e7b (commit)
   via  ab7cd03cea8651fa1aea9c109fabc69b4e247062 (commit)
   via  fe1584f276f208ebf4d932c91ff4f4ad5c96507f (commit)
   via  a3a82b5ed7f1407fe89f4e92d32446f4e354c171 (commit)
  from  3a94f2eae9c71f9890f8013404d2c389e84a3bb2 (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=dbe762ed85efd857a6b9d64d1556247f2a899ee7
commit dbe762ed85efd857a6b9d64d1556247f2a899ee7
Merge: 3a94f2e fa55751
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon May 27 19:20:59 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 19:20:59 2013 -0400

Merge topic 'qt4-qt5-CMAKE_AUTOMOC' into next

fa55751 QtAutomoc: Get the Qt version through the target link interface
f776316 Use the qt5::moc imported target instead of a variable.
ab7cd03 CMake Nightly Date Stamp
fe1584f CMake Nightly Date Stamp
a3a82b5 CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa55751f83dc5d5bd5f80d12c3076ec703262edb
commit fa55751f83dc5d5bd5f80d12c3076ec703262edb
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon May 27 17:58:57 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Tue May 28 01:19:37 2013 +0200

QtAutomoc: Get the Qt version through the target link interface

In Qt 5.1, Qt5::Core has a INTERFACE_QT_MAJOR_VERSION property
of '5', and since CMake 2.8.11, Qt4::QtCore has an
INTERFACE_QT_MAJOR_VERSION of '4'. This was introduced in
commit 4aa10cd6 (FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for
Qt4::QtCore, 2013-03-16), to produce an error if Qt 4 and Qt 5
are erroneously used by the same target. This can also be used
however to determine the Qt major version, and therefore the
particular moc executable to use during automoc steps. This means
that targets in a single buildsystem can use a selection of Qt 4
and Qt 5, and still take advantage of the CMAKE_AUTOMOC feature
without conflicting.

diff --git a/Modules/AutomocInfo.cmake.in b/Modules/AutomocInfo.cmake.in
index e5bee86..9cff735 100644
--- a/Modules/AutomocInfo.cmake.in
+++ b/Modules/AutomocInfo.cmake.in
@@ -9,7 +9,6 @@ set(AM_CMAKE_SOURCE_DIR @CMAKE_SOURCE_DIR@/)
 set(AM_QT_MOC_EXECUTABLE @_qt_moc_executable@)
 set(AM_CMAKE_CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@/)
 set(AM_CMAKE_CURRENT_BINARY_DIR @CMAKE_CURRENT_BINARY_DIR@/)
-set(AM_QT_VERSION_MAJOR @QT_VERSION_MAJOR@ )
-set(AM_Qt5Core_VERSION_MAJOR @Qt5Core_VERSION_MAJOR@ )
+set(AM_QT_VERSION_MAJOR @_target_qt_version@)
 set(AM_TARGET_NAME @_moc_target_name@)
 set(AM_RELAXED_MODE @_moc_relaxed_mode@)
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
index 9d14fc2..350b462 100644
--- a/Source/cmQtAutomoc.cxx
+++ b/Source/cmQtAutomoc.cxx
@@ -309,7 +309,27 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
   cmLocalGenerator::EscapeForCMake(_moc_headers.c_str()).c_str());
   makefile-AddDefinition(_moc_relaxed_mode, relaxedMode ? TRUE : FALSE);
 
-  if (makefile-GetDefinition(Qt5Core_VERSION_MAJOR))
+  const char *qtVersion = makefile-GetDefinition(Qt5Core_VERSION_MAJOR);
+  if (!qtVersion)
+{
+qtVersion = makefile-GetDefinition(QT_VERSION_MAJOR);
+}
+  if (const char *targetQtVersion =
+  target-GetLinkInterfaceDependentStringProperty(QT_MAJOR_VERSION, 0))
+{
+qtVersion = targetQtVersion;
+}
+  if (qtVersion)
+{
+makefile-AddDefinition(_target_qt_version, qtVersion);
+}
+
+  {
+  const char *qtMoc = makefile-GetSafeDefinition(QT_MOC_EXECUTABLE);
+  makefile-AddDefinition(_qt_moc_executable, qtMoc);
+  }
+
+  if (strcmp(qtVersion, 5) == 0)
 {
 cmTarget *qt5Moc = makefile-FindTargetToUse(Qt5::moc);
 if (!qt5Moc)
@@ -322,8 +342,11 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
 }
   else
 {
-const char *qtMoc = makefile-GetSafeDefinition(QT_MOC_EXECUTABLE);
-makefile-AddDefinition(_qt_moc_executable, qtMoc);
+if (strcmp(qtVersion, 4) != 0)
+  {
+  cmSystemTools::Error(The CMAKE_AUTOMOC feature supports only Qt 4 and 
+  Qt 5 , automocTargetName.c_str());
+  }
 }
 
   const char* cmakeRoot = makefile-GetSafeDefinition(CMAKE_ROOT);
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 0b221e8..230f776 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1044,6 +1044,20 @@ 

[Cmake-commits] CMake branch, next, updated. v2.8.11-2236-g0bd5a45

2013-05-27 Thread Stephen Kelly
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  0bd5a450c3520855d35e9334e900cd23edef7ce2 (commit)
   via  546e3160433003009c746df9ba09ee4c4a255130 (commit)
   via  d180a0ece93f2a66c78bed4df05a9d7fe6635e8b (commit)
  from  dbe762ed85efd857a6b9d64d1556247f2a899ee7 (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=0bd5a450c3520855d35e9334e900cd23edef7ce2
commit 0bd5a450c3520855d35e9334e900cd23edef7ce2
Merge: dbe762e 546e316
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon May 27 19:22:58 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon May 27 19:22:58 2013 -0400

Merge topic 'VISIBILITY_PREFIX-property' into next

546e316 Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target 
property.
d180a0e Introduce target property LANG_VISIBILITY_PRESET


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=546e3160433003009c746df9ba09ee4c4a255130
commit 546e3160433003009c746df9ba09ee4c4a255130
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu May 23 15:32:17 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Thu May 23 15:54:48 2013 +0200

Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property.

This corresponds to the g++ and clang++
option -fvisibility-inlines-hidden on linux. On Windows with MinGW,
this corresponds to -fno-keep-inline-dllexport. That option is
not supported by clang currently.

diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index 486e2af..972d889 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -1,2 +1,4 @@
 include(Compiler/Clang)
 __compiler_clang(CXX)
+
+set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
-fvisibility-inlines-hidden)
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index 879ab8f..9bee962 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -1,2 +1,8 @@
 include(Compiler/GNU)
 __compiler_gnu(CXX)
+
+if (WIN32)
+  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
-fno-keep-inline-dllexport)
+else()
+  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
-fvisibility-inlines-hidden)
+endif()
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 71dd3e9..dce1838 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1992,28 +1992,12 @@ void cmLocalGenerator::AddSharedFlags(std::string 
flags,
 }
 }
 
-//
-void cmLocalGenerator
-::AddVisibilityPresetFlags(std::string flags, cmTarget* target,
-const char *lang)
+static void AddVisibilityCompileOption(std::string flags, cmTarget* target,
+   cmLocalGenerator *lg, const char *lang)
 {
-  int targetType = target-GetType();
-  bool suitableTarget = ((targetType == cmTarget::SHARED_LIBRARY)
-  || (targetType == cmTarget::MODULE_LIBRARY)
-  || (target-IsExecutableWithExports()));
-
-  if (!suitableTarget)
-{
-return;
-}
-
-  if (!lang)
-{
-return;
-}
   std::string l(lang);
   std::string compileOption = CMAKE_ + l + _COMPILE_OPTIONS_VISIBILITY;
-  const char *opt = this-Makefile-GetDefinition(compileOption.c_str());
+  const char *opt = lg-GetMakefile()-GetDefinition(compileOption.c_str());
   if (!opt)
 {
 return;
@@ -2037,7 +2021,50 @@ void cmLocalGenerator
 return;
 }
   std::string option = std::string(opt) + prop;
-  this-AppendFlags(flags, option.c_str());
+  lg-AppendFlags(flags, option.c_str());
+}
+
+static void AddInlineVisibilityCompileOption(std::string flags,
+   cmTarget* target,
+   cmLocalGenerator *lg)
+{
+  std::string compileOption
+= CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN;
+  const char *opt = lg-GetMakefile()-GetDefinition(compileOption.c_str());
+  if (!opt)
+{
+return;
+}
+
+  bool prop = target-GetPropertyAsBool(VISIBILITY_INLINES_HIDDEN);
+  if (!prop)
+{
+return;
+}
+  lg-AppendFlags(flags, opt);
+}
+
+//
+void cmLocalGenerator
+::AddVisibilityPresetFlags(std::string flags, cmTarget* target,
+const char *lang)
+{
+  int targetType = target-GetType();
+  bool suitableTarget = ((targetType == cmTarget::SHARED_LIBRARY)
+  || 

[Cmake-commits] CMake branch, master, updated. v2.8.11-196-g97c2166

2013-05-27 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  97c2166de4c6f19d95e68034a1c5d7bdf14446da (commit)
  from  ab7cd03cea8651fa1aea9c109fabc69b4e247062 (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=97c2166de4c6f19d95e68034a1c5d7bdf14446da
commit 97c2166de4c6f19d95e68034a1c5d7bdf14446da
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Tue May 28 00:01:05 2013 -0400
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Tue May 28 00:01:05 2013 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 0b66d24..b831cbb 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 11)
-set(CMake_VERSION_TWEAK 20130527)
+set(CMake_VERSION_TWEAK 20130528)
 #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