[cmake-developers] [CMake 0013843]: FindMPI doesn't set MPI_C_LINK_FLAGS or MPI_C_COMPILE_FLAGS (and same for CXX)

2013-01-10 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=13843 
== 
Reported By:jgu
Assigned To:
== 
Project:CMake
Issue ID:   13843
Category:   Modules
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2013-01-10 07:01 EST
Last Modified:  2013-01-10 07:01 EST
== 
Summary:FindMPI doesn't set MPI_C_LINK_FLAGS or
MPI_C_COMPILE_FLAGS (and same for CXX)
Description: 
I have a project which does a find_package(MPI). I use the following snippet to
print out all variables:

get_cmake_property(_variableNames VARIABLES)
foreach (_variableName ${_variableNames})
   message(STATUS ${_variableName}=${${_variableName}})
endforeach()

which produces for the MPI relevant variables:

-- MPIEXEC=/usr/lib64/openmpi/bin/mpiexec
-- MPIEXEC_MAX_NUMPROCS=2
-- MPIEXEC_NUMPROC_FLAG=-np
-- MPIEXEC_POSTFLAGS=
-- MPIEXEC_PREFLAGS=
-- MPI_COMPILER=/usr/lib64/openmpi/bin/mpicxx
-- MPI_COMPILER_IS_EXECUTABLE=0
-- MPI_CXX_COMPILER=/usr/lib64/openmpi/bin/mpicxx
-- MPI_CXX_COMPILE_FLAGS=
-- MPI_CXX_FOUND=TRUE
-- MPI_CXX_INCLUDE_PATH=/usr/include/openmpi-x86_64
--
MPI_CXX_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so;/usr/lib64/openmpi/lib/libmpi.so;/usr/lib64/libdl.so
-- MPI_CXX_LINK_FLAGS=
-- MPI_C_COMPILER=/usr/lib64/openmpi/bin/mpicc
-- MPI_C_COMPILE_FLAGS=
-- MPI_C_FOUND=TRUE
-- MPI_C_INCLUDE_PATH=/usr/include/openmpi-x86_64
-- MPI_C_LIBRARIES=/usr/lib64/openmpi/lib/libmpi.so;/usr/lib64/libdl.so
-- MPI_C_LINK_FLAGS=
-- MPI_EXTRA_LIBRARY=/usr/lib64/openmpi/lib/libmpi.so;/usr/lib64/libdl.so
-- MPI_EXTRA_LIBRARY_WORK=/usr/lib64/openmpi/lib/libmpi.so;/usr/lib64/libdl.so
-- MPI_FOUND=TRUE
-- MPI_HEADER_PATH=MPI_HEADER_PATH-NOTFOUND
-- MPI_INCLUDE_PATH=/usr/include/openmpi-x86_64
-- MPI_LIB=MPI_LIB-NOTFOUND
--
MPI_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so;/usr/lib64/openmpi/lib/libmpi.so;/usr/lib64/libdl.so
-- MPI_LIBRARY=/usr/lib64/openmpi/lib/libmpi_cxx.so
-- MPI_LIBRARY_WORK=/usr/lib64/openmpi/lib/libmpi_cxx.so
-- MPI_NUMLIBS=3
-- MpiPackageDir=

which shows empty MPI_C_LINK_FLAGS and MPI_C_COMPILE_FLAGS and the same for the
equivalent CXX variables. As a result, even though my project has this:

set_target_properties(myexec PROPERTIES
  COMPILE_FLAGS ${MPI_C_COMPILE_FLAGS}
  COMPILE_DEFINITIONS BUILD_WITH_MPI
  LINK_FLAGS ${MPI_C_LINK_FLAGS}
)

it fails to link against mpi (-lmpi is missing, for a start).

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2013-01-10 07:01 jguNew 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


[cmake-developers] [CMake 0013844]: PurifyPlus 7.0.1-003 cannot properly interpret SAVETEXTDATA command line switch due to quotation marks

2013-01-10 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=13844 
== 
Reported By:Ingmar Voigt
Assigned To:
== 
Project:CMake
Issue ID:   13844
Category:   CTest
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2013-01-10 07:29 EST
Last Modified:  2013-01-10 07:29 EST
== 
Summary:PurifyPlus 7.0.1-003 cannot properly interpret
SAVETEXTDATA command line switch due to quotation marks
Description: 
PROBLEM:


This started with PurifyPlus 7.0.1-003 - PurifyPlus 7.0.0 did not show such
behaviour. The solution should however work for both

CTest 2.8.3 memchecker produces on Windows the following command line to execute
Purify (extracted from my logs):

C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinDir/Testing/Temporary/MemoryChecker.log
D:/MyBinDir/bin/Debug/MyTest.exe

When executing this Purify 7.0.1-003 complains the following way:

Unable to find file
/SAVETEXTDATA=D:/MyBinDir/Testing/Temporary/MemoryChecker.log.


The reason is the command line /SAVETEXTDATA=... is wrapped in quotation marks

/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log 

the problem does not occur when changing the command line by shift the quotation
mark after the equal sign:

/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log 

SOLUTION:

use 

/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log 

instead of 

/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log 

i.e. 

C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log
D:/MyBinFolder/bin/Debug/MyTest.exe

Steps to Reproduce: 
Execute PurifyPlus 7.0.1-003 

C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log
D:/MyBinFolder/bin/Debug/MyTest.exe

and try again with 

C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinFolder/Testing/Temporary/MemoryChecker.log
D:/MyBinFolder/bin/Debug/MyTest.exe

Additional Information: 
From the CTest logs:


Memory check command: C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinDir/Testing/Temporary/MemoryChecker.log

149: MemCheck command: C:\Progra~1\IBM\RationalPurifyPlus\purify.exe
/SAVETEXTDATA=D:/MyBinDir/Testing/Temporary/MemoryChecker.log
D:/MyBinDir/bin/Debug/MyTest.exe

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2013-01-10 07:29 Ingmar Voigt   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


[cmake-developers] CPACK_RESOURCE_FILE_LICENSE character encoding

2013-01-10 Thread Nils Gladitz
Is a license text file pointed to by CPACK_RESOURCE_FILE_LICENSE 
expected to have a specific encoding (ASCII, Latin1, UTF-8, ...)?


Nils

--
Nils Gladitz, B.Sc.
DICOM, Konnektivität und Entwicklung

Scivis wissenschaftliche Bildverarbeitung GmbH
Bertha-von-Suttner-Str. 5
D-37085 Göttingen
GERMANY
Handelsregister Nr. / Trade Register No. B3100 Göttingen
Geschäftsführer / Managing Directors Dr. Gernot Ebel, Dr. Uwe Engeland

Tel: 0049 (0)551 634181-28
E-Mail: glad...@scivis.de
Web: www.scivis.de

--

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] CPACK_RESOURCE_FILE_LICENSE character encoding

2013-01-10 Thread Eric Noulard
2013/1/10 Nils Gladitz glad...@sci-vis.de:
 Is a license text file pointed to by CPACK_RESOURCE_FILE_LICENSE expected to
 have a specific encoding (ASCII, Latin1, UTF-8, ...)?

I don't know but I bet that some encoding may be accepted by some
CPack generator
and poorly handled by others.

CPACK_RESOURCE_FILE_LICENSE is used by:

STGZ
WIX
DragNDrop
PackageMaker
NSIS

WIX has documentation about that:
see cpack --help-variable CPACK_WIX_LICENSE_RTF

For the other generators I bet ASCII should work other encoding may work.

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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] CPACK_RESOURCE_FILE_LICENSE character encoding

2013-01-10 Thread Nils Gladitz
I wrote the WiX part and am pondering how to support extended character 
sets without having to provide an extra RTF file.


We've got an english license text file but our company address still 
contains a german umlaut.

I could provide an RTF but I'd prefer not to have two license files.

Nils

On 01/10/2013 03:41 PM, Eric Noulard wrote:

2013/1/10 Nils Gladitz glad...@sci-vis.de:

Is a license text file pointed to by CPACK_RESOURCE_FILE_LICENSE expected to
have a specific encoding (ASCII, Latin1, UTF-8, ...)?

I don't know but I bet that some encoding may be accepted by some
CPack generator
and poorly handled by others.

CPACK_RESOURCE_FILE_LICENSE is used by:

STGZ
WIX
DragNDrop
PackageMaker
NSIS

WIX has documentation about that:
see cpack --help-variable CPACK_WIX_LICENSE_RTF

For the other generators I bet ASCII should work other encoding may work.




--
Nils Gladitz, B.Sc.
DICOM, Konnektivität und Entwicklung

Scivis wissenschaftliche Bildverarbeitung GmbH
Bertha-von-Suttner-Str. 5
D-37085 Göttingen
GERMANY
Handelsregister Nr. / Trade Register No. B3100 Göttingen
Geschäftsführer / Managing Directors Dr. Gernot Ebel, Dr. Uwe Engeland

Tel: 0049 (0)551 634181-28
E-Mail: glad...@scivis.de
Web: www.scivis.de

--

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] LINK_INTERFACE_LIBRARIES-genex topic review

2013-01-10 Thread Brad King
Steve,

While reviewing this topic I ran the ExportImport test to look for
generator expressions in a link interface property.  I do not see
any.  The test C++ code appears to verify that libraries are linked
but it is compiled into a static library as added by this commit:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=894f52f3#patch7

Therefore it never really links.  If I change add_library to
add_executable then the test fails with

 /usr/bin/ld: cannot find -ltestLibsDepends

If I fix the typo (s/Libs/Lib/) then it fails with

 deps_iface.cpp:(.text+0x11): undefined reference to `testLibDepends()'
 deps_iface.cpp:(.text+0x1f): undefined reference to 
`TestLibLibraryRequired::foo()'

because the library is not actually linked.

Please take a look.

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] [CMake 0013842]: No Support for C++11

2013-01-10 Thread Brad King
Eike,

On 01/09/2013 11:02 AM, Dave Abrahams wrote:
 http://www.cmake.org/Bug/view.php?id=13842 
 == 
 We could use C++11 feature detection per http://pageant.ghulbus.eu/?p=664

This picks up from the C++0x patch you posted here:

 http://www.cmake.org/pipermail/cmake/2011-March/043575.html

but renames it to C++11 now that it is out.  If you have time please take
a look at integrating the feature checks upstream.

IMO the test C++ source files should be named Modules/Cxx11/test-*.cpp
instead of files with '+' in their name directly in Modules/.

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] [CMake 0013842]: No Support for C++11

2013-01-10 Thread Rolf Eike Beer

Am 10.01.2013 16:40, schrieb Brad King:

Eike,

On 01/09/2013 11:02 AM, Dave Abrahams wrote:

http://www.cmake.org/Bug/view.php?id=13842

==
We could use C++11 feature detection per 
http://pageant.ghulbus.eu/?p=664


This picks up from the C++0x patch you posted here:

 http://www.cmake.org/pipermail/cmake/2011-March/043575.html

but renames it to C++11 now that it is out.  If you have time please 
take

a look at integrating the feature checks upstream.

IMO the test C++ source files should be named 
Modules/Cxx11/test-*.cpp

instead of files with '+' in their name directly in Modules/.


As I already wrote in a comment on that blog I have the current version 
of my code here:


git clone git://anongit.kde.org/scratch/dakon/cmake-cxx11

Everyone interested please look there and send me 
patches/suggestions/bugreports/pizza/alcohol...


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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] CPACK_RESOURCE_FILE_LICENSE character encoding

2013-01-10 Thread Eric Noulard
2013/1/10 Nils Gladitz glad...@sci-vis.de:
 I wrote the WiX part and am pondering how to support extended character sets
 without having to provide an extra RTF file.

Sorry I did not connect the dots.

 We've got an english license text file but our company address still
 contains a german umlaut.

Yes I'm french and we do have a bunch of non-ascii characters as well
(including french trema which is just like umlaut)
but we currently avoid those since none of them appear in our address :-]

 I could provide an RTF but I'd prefer not to have two license files.

I think the best way to go would be to try to go for utf-8 encoding which
is relatively widespread nowadays and goes into testing for each CPack
generator which currently use CPACK_RESOURCE_FILE_LICENSE.

Reading/writing utf-8 seems doable in plain C++ without
an example (untested) here: http://utfcpp.sourceforge.net/


-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

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] LINK_INTERFACE_LIBRARIES-genex topic review

2013-01-10 Thread Stephen Kelly
Brad King wrote:

 Steve,
 
 While reviewing this topic I ran the ExportImport test to look for
 generator expressions in a link interface property.  I do not see
 any.  The test C++ code appears to verify that libraries are linked
 but it is compiled into a static library as added by this commit:
 
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=894f52f3#patch7
 
 Therefore it never really links.  If I change add_library to
 add_executable then the test fails with
 
  /usr/bin/ld: cannot find -ltestLibsDepends
 
 If I fix the typo (s/Libs/Lib/) then it fails with
 
  deps_iface.cpp:(.text+0x11): undefined reference to `testLibDepends()'
  deps_iface.cpp:(.text+0x1f): undefined reference to
  `TestLibLibraryRequired::foo()'
 
 because the library is not actually linked.
 
 Please take a look.
 

Thanks for trying it.

I get the same linking error after applying the typo fix and the change to 
add_executable on master. 

After cd Import/A in the build dir, and make VERBOSE=1, I get this:

/usr/lib/icecc/bin/c++   -gCMakeFiles/deps_iface.dir/deps_iface.cpp.o  -
o deps_iface -rdynamic 
/home/stephen/dev/src/cmake/Tests/ExportImport/build/Root/lib/libtestLibDepends.a
 
/home/stephen/dev/src/cmake/Tests/ExportImport/build/Root/lib/libtestLibRequired.a

so it seems that the libraries are being passed to the linker, but the 
symbols are not being resolved? I haven't yet seen why that is. Any ideas?

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] LINK_INTERFACE_LIBRARIES-genex topic review

2013-01-10 Thread Stephen Kelly
Stephen Kelly wrote:

 so it seems that the libraries are being passed to the linker, but the
 symbols are not being resolved? I haven't yet seen why that is. Any ideas?
 

The problem was that I was creating a CXX executable without using extern 
C. I've pushed a branch to fix it, but haven't merged it to next yet. Will 
I do so?

I'll add another proper test for the shared library with 
IMPORTED_LINK_INTERFACE_LIBRARIES generator expressions case.

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] LINK_INTERFACE_LIBRARIES-genex topic review

2013-01-10 Thread Brad King
On 01/10/2013 11:17 AM, Stephen Kelly wrote:
 The problem was that I was creating a CXX executable without using extern 
 C. I've pushed a branch to fix it, but haven't merged it to next yet. Will 
 I do so?

Yes, please.  Then rebase the link interface topic on it so the test covers
what we expect.

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] LINK_INTERFACE_LIBRARIES-genex topic review

2013-01-10 Thread Stephen Kelly
Brad King wrote:

 On 01/10/2013 11:17 AM, Stephen Kelly wrote:
 The problem was that I was creating a CXX executable without using extern
 C. I've pushed a branch to fix it, but haven't merged it to next yet.
 Will I do so?
 
 Yes, please.  Then rebase the link interface topic on it so the test
 covers what we expect.
 

Done now.

Thanks,

Steve.


--

Powered by www.kitware.com

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

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

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


Re: [cmake-developers] [CMake 0013842]: No Support for C++11

2013-01-10 Thread Robert Maynard
I would prefer a more compicated variadic template test that exercises
variadic code such as:


templatetypename G = void, typename H = void
struct foo
{};

templatetypename... G
struct bar : fooG...
{};

int main() {
  barint, float f;
}

So that we detect compilers like gcc 4.6 that supported the initial
variadic specification, and not the updated specification.



On Thu, Jan 10, 2013 at 10:49 AM, Rolf Eike Beer e...@sf-mail.de wrote:

 git://anongit.kde.org/scratch/**dakon/cmake-cxx11http://anongit.kde.org/scratch/dakon/cmake-cxx11





-- 
Robert Maynard
--

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] Compatible INTERFACE user properties and string properties

2013-01-10 Thread Stephen Kelly

Now that the INTERFACE_PIC branch is in, the next topic I have in that line 
is the compatible-INTERFACE-user-properties topic I've just pushed to 
gitorious.

Because I'll be automatically linking the Qt4::qtmain library into 
executables which are WIN32_EXECUTABLEs, and because QtActiveX requires that 
Qt4::qtmain is not linked in to executables, I need some way to enforce 
that.

My solution is to check the QT4_NO_LINK_QTMAIN in the generator expression 
which links in Qt4::qtmain, and to set INTERFACE_QT4_NO_LINK_QTMAIN to OFF 
in the QtActiveX library. On its own, that has no effect, but the 
compatible-INTERFACE-user-properties topic allows us to use the same logic 
as is used for the PIC feature to implement that, if the user code populates 
the COMPATIBLE_INTERFACE_BOOL property:

 set_property(TARGET Qt4::QAxServer APPEND PROPERTY
  COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)

I think that I can add some API to cmPropertyDefinitionMap via the cmake 
instance to ensure that built-in properties can not be used in that 
property. 

The topic is also missing documentation currently. I wanted to get feedback 
on the approach first.



Secondly, I've pushed the INTERFACE_PROPERTIES branch again. This topic is 
not something that I'd like to get into master soon, but something I thought 
I'd bring up. It generalizes the logic introduced in the INTERFACE_PIC topic 
to also be able to require 'equal strings', not only 'truthiness equal 
booleans'.

The reason for that is that I was thinking of C++11 support and how clang 
can be used with different stdlib implementations, -stdlib=libc++ or -
stdlib=libstdc++. The two are obviously not compatible, and a library using 
one should not be linked with a library using the other. Additionally, an 
executable using a library build with -stdlib=libc++ should also use libc++ 
itself.

This is very similar to the PIC situation, and is something we could 
implement support in CMake for. For example, setting the CXX_STDLIB property 
on a target to libc++ would pass -stdlib=libc++ if using clang. What it does 
for other compilers is up for debate. Linking a target to a library with 
INTERFACE_CXX_STDLIB=libc++ would set the CXX_STDLIB property on the target 
libc++ too etc, and un-equal strings in that property would be a generate-
time error.

If built into CMake as a feature, we would probably need to also handle 
other stl implementations like libstdc++-v2 libstdc++-v3, eastl, ustl, 
stlport etc and treat other strings as errors.

Similar to my first point above, this string equality requirement could also 
be extended to users with a COMPATIBLE_INTERFACE_STRING property. That would 
allow for example to set QT_SOVERSION to 4 on Qt4::QtCore and to 5 on 
Qt5::Core, so that a generate-time error is hit if they are accidentally 
used together.

What do you think?

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] Compatible INTERFACE user properties and string properties

2013-01-10 Thread Brad King
On 01/10/2013 01:04 PM, Stephen Kelly wrote:
 the COMPATIBLE_INTERFACE_BOOL property:
 
  set_property(TARGET Qt4::QAxServer APPEND PROPERTY
   COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)

A better name may be INTERFACE_COMPATIBLE_BOOL since the compatibility
requirement is actually part of the interface.

Actually, since you made generator expressions use lazy evaluation, can't
we introduce a $FATAL_ERROR:msg expression that could be used inside some
condition checker to report failure?

 implement support in CMake for. For example, setting the CXX_STDLIB property 
 on a target to libc++ would pass -stdlib=libc++ if using clang. What it does 
 for other compilers is up for debate. Linking a target to a library with 
 INTERFACE_CXX_STDLIB=libc++ would set the CXX_STDLIB property on the target 
 libc++ too etc, and un-equal strings in that property would be a generate-
 time error.
[snip]
 Similar to my first point above, this string equality requirement could also 
 be extended to users with a COMPATIBLE_INTERFACE_STRING property.

Yes, this sounds promising for solving problems like that.

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] CPACK_RESOURCE_FILE_LICENSE character encoding

2013-01-10 Thread Nils Gladitz

Yes, I think I'd prefer UTF-8 as well.
Unless most of the other generators use something else or there is a 
contradicting convention or preference for CMake/CPack?


I guess I'll try running some license files through some of the 
generators that you listed and see what comes out.


Thank you for your input!

Nils

On 01/10/2013 04:55 PM, Eric Noulard wrote:

2013/1/10 Nils Gladitz glad...@sci-vis.de:

I wrote the WiX part and am pondering how to support extended character sets
without having to provide an extra RTF file.

Sorry I did not connect the dots.


We've got an english license text file but our company address still
contains a german umlaut.

Yes I'm french and we do have a bunch of non-ascii characters as well
(including french trema which is just like umlaut)
but we currently avoid those since none of them appear in our address :-]


I could provide an RTF but I'd prefer not to have two license files.

I think the best way to go would be to try to go for utf-8 encoding which
is relatively widespread nowadays and goes into testing for each CPack
generator which currently use CPACK_RESOURCE_FILE_LICENSE.

Reading/writing utf-8 seems doable in plain C++ without
an example (untested) here: http://utfcpp.sourceforge.net/




--

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 0013845]: CMake segfault if extra newline in link.txt

2013-01-10 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=13845 
== 
Reported By:rbmj
Assigned To:
== 
Project:CMake
Issue ID:   13845
Category:   (No Category)
Reproducibility:always
Severity:   crash
Priority:   normal
Status: new
== 
Date Submitted: 2013-01-10 15:12 EST
Last Modified:  2013-01-10 15:12 EST
== 
Summary:CMake segfault if extra newline in link.txt
Description: 
The origin of this problem was that I was writing/testing a cross toolchain file
which made complicated custom link rules.  One of the variables in the link rule
came from an execute_process command that had a trailing newline and that,
because of its positioning, ended up adding a blank line in the link.txt.  This
causes cmake to segfault.

This may be rare enough that it's not an issue.  Also, I don't have the latest
and greatest CMake, so it may already be fixed...

Reproducing is easy though:

Steps to Reproduce: 
Make hello.c:

#include stdio.h
int main() {
   printf(Hello, World!\n);
   return 0;
}

and CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)
project(hello)
add_executable(hello hello.c)

Go to build directory and run cmake.  Then, add a blank line to the beginning of
 CMakeFiles/hello.dir/link.txt

Run make:

...
Linking C executable hello
Error running link command: Segmentation fault
make[2]: *** [hello] Error 1
make[1]: *** [CMakeFiles/hello.dir/all] Error 2
make: *** [all] Error 2
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2013-01-10 15:12 rbmj   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] Compatible INTERFACE user properties and string properties

2013-01-10 Thread Stephen Kelly
Brad King wrote:

 On 01/10/2013 01:04 PM, Stephen Kelly wrote:
 the COMPATIBLE_INTERFACE_BOOL property:
 
  set_property(TARGET Qt4::QAxServer APPEND PROPERTY
   COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
 
 A better name may be INTERFACE_COMPATIBLE_BOOL since the compatibility
 requirement is actually part of the interface.

Perhaps. 

I chose COMPATIBLE_INTERFACE_BOOL because it is not INTERFACE_*, which would 
imply a different convention.

If you have no better compromise, I'm happy with either.

 
 Actually, since you made generator expressions use lazy evaluation, can't
 we introduce a $FATAL_ERROR:msg expression that could be used inside
 some condition checker to report failure?

Yes, that sounds like a good idea.

 implement support in CMake for. For example, setting the CXX_STDLIB
 property on a target to libc++ would pass -stdlib=libc++ if using clang.
 What it does for other compilers is up for debate. Linking a target to a
 library with INTERFACE_CXX_STDLIB=libc++ would set the CXX_STDLIB
 property on the target libc++ too etc, and un-equal strings in that
 property would be a generate- time error.
 [snip]
 Similar to my first point above, this string equality requirement could
 also be extended to users with a COMPATIBLE_INTERFACE_STRING property.
 
 Yes, this sounds promising for solving problems like that.

Great.

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] Cmake absolute paths with gcc, __FILE__ , and logging

2013-01-10 Thread Willy Lambert
2013/1/7 Willy Lambert lambert.wi...@gmail.com:
 really sorry, last mail was sent too early X-(

 2013/1/7 Willy Lambert lambert.wi...@gmail.com:
 2013/1/4 Andreas Mohr a...@lisas.de:
 Hi,

 On Fri, Jan 04, 2013 at 11:47:40AM -0500, cmake-requ...@cmake.org wrote:
 Date: Fri, 4 Jan 2013 16:58:05 +0100
 From: Willy Lambert lambert.wi...@gmail.com

 Hi all,

 Short Story :

 I am trying to convert an existing project from Manual Makefiles to
 Cmake for building it.
 We have a logger that rely on the __FILE__ define to say which file is
 writing into the log but this is broken by the CMake default
 behavior using absolute paths.
 So I wonder if there is any way to have the file name in the code to
 be able to log Error : line XXX in file.cpp.




 Long Story :



 So I have for instance a source /home/me/src/main.cpp, compiled with
 relative paths gcc -o main.cpp.
 So the logger say  Error : line XXX in main.cpp.

 I'm afraid given the discussion at
 Short form of __FILE__ 
 http://bytes.com/topic/c/answers/453661-short-form-__file__

 the onus is on your project since it seems to be relying on
 seemingly rather volatile (non-standardized) behaviour of the __FILE__ macro
 (compilers seem to be free to pass on either a file's basename only
 or a relative path or even a FQPN).

 Depends what you listen under standard. In my case it's standrd with
 GNU tools. If you know how I could log filename + line number in a
 standardized way let me know (or point links), I'll be very happy for
 that. For now, I'm only expected my project working with GNU, and only
 it (which is rather by necessity than by choice).

 And now that one is using a CMake build which needs to do builds from
 an entirely separate binary tree referencing source files in a
 foreign source tree (thus having a justified reason for needing to
 specify paths in full),

 Yes and no. Yes, CMake has to manage a source root dir and a binary
 output dir (and maybe a relative path from source to build ?), but
 I'm not sure that you *need* it to build (see the
 CMAKE_USE_RELATIVE_PATHS option that is already working on simple
 cases). In my case, it's a classical CMake tructure :
 myproject/
 build
 src

 so I understand that cmake has to know about internal src/build
 structure (and I wouldn't mind cmake using src/XXX path without being
 able to prevent the src particule which is not a problem). What I
 don't want is having information in my binaries about my myproject
 folder location.



 So it's a strong reason in current implementation, not sure it is
 justified. Nevertheless I'm aware that as all free project it has
 limitation, lack of contributions, etc, ... what I mean is that I'm
 not sure that the onus of this is *only* my project.

 I have 3 solutions (in this order of priority) :
 _ extending Cmake
 _ finding a hack
 _ changing log system (for an obvious reason you can't switch easily
 an existing project regarding log because there are lot of work to do)


 these improper assumptions in your project
 seem to fall flat on their face, since gcc chooses to prefer to pass on
 as much information to the __FILE__ macro as it can get
 about the file location (i.e., full path).

 It's not really improper since I choosed GNU gcc, so everything is
 behaving as expected. What is not behaving as expected (on my point of
 view, with is relative), the improper assumption is that Cmake doesn't
 hide
  the path to the project



 Since the problem is thus firmly located on the source code side
 (i.e. its assumptions about __FILE__),
 I'd suggest treating the problem right there,
 using e.g. the discussion's strrchr() solution
 (workaround?) to achieve a slightly improved guarantee of gaining
 sufficiently constant output format (but note that Keith Thompson noted
 that the C language itself does not have any business dealing with path
 separator definitions).

 Thanks for pointing this link, very interesting.
 The strrchr() solution is demanding computation at run time, which is
 quite a pity (not to see a problem as it is an embedded project).
 But at least it's a solution.




 I tried to use the suggested trigger set_source_files_properties to
 define my own __FILE__ but it doesn't works with included files (it
 shows main.cpp instead oh dummy.hpp)
 http://www.cmake.org/pipermail/cmake/2011-December/048281.html

 So this way is a dead end because the compilator (and the one that
 creates its command line)  is the only one to be aware of this
 information.

 Beside that, as I would really like to simplify the VERBOSE=2 make
 output to be able to debug what CMake generates I currently have
 plenty of path with 20 or more folder level including many ../.., I
 am looking on making CMake giving relatives paths to gcc.

 I guess the problem is that CMake is operating from a separate binary
 tree as its base,
 thus it obviously needs to pass full paths to the source files to the 
 compiler,
 to get to the other source dir over there.
 The alternative would be to 

Re: [CMake] Problems with ctest output using clang compiler on Mac

2013-01-10 Thread Ananda Tallur

Hi,

We have the same problem here with ctest and clang on Mac OS X.
Versions used are :
- clang 4.2, from XCode 4.6DP4 on Mac OS X 10.7
- cmake 2.8.10.2

In our ctest script, compilation is launched with 4 jobs (make -j4).
In our dashboard (and same thing when directly looking at the text output of 
the ctest process), we notice that some compilations outputs get mixed.
In this case we can see the beginning of one compilation process output 
starting in the middle of a previous compilation output.
This leads to some mixed outputs of two different compilation processes, that 
cannot be properly interpreted by ctest as warning, and are therefore displayed 
as errors.

At the end of this mail, an example of the kind of mixes we have.

Is anybody facing the same problem and is there a workaround available ?

Kind regards

Ananda

-
12:
In file included from 
O/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/functional/hash/hash.hppIn
 file included from 
/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/date_time/gregorian/gregorian.hppO:S15:
T:_I34/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/functional/hash/detail/hash_float.hpp:T71E:R:
25In file included from AT:O Rwarning: 
_/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/date_time/gregorian/parsers.hppFcAa:s13tC
 :
In file included from 
AD/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/date_time/date_parsing.hpp:fEr_oP15:
mL US'In file included from 'c
har/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/tokenizer.hpp:20
 *:
In file included from ' 
/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/token_iterator.hpp:24t
  return tmp += n;  \o ':

s 
^t/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/token_functions.hpp

:312:d:33: :swarning: 
uiznuse_e/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/gil/image_view.hpp:d125
 t: p68a:* 'note:  ir(n aiansmetaktae n'tuianrt iso'n igonefd  lofnugb' * [')n- 
Wicutninocnr etaesmpeulass rteed-peaq rsameupiteercri]al

eidz aatliiognn m'ebnoto sftr:o:mo p1e rtaot o8static void assign(Iterator b, 
Iterator e, Token t) { }
^
r 
[+-Wbcoa/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/token_functions.hpposstt:-:a312l:i:gg45inl]
[ 58%] Building CXX object 
libProcessing/tests/CMakeFiles/jitterestimationfilter_test.dir/jitterestimationfilter_test.cpp.o
:::iterator warning: _frunom_2dusbedoos parat:me:gteilr ::'eme' 
mo[r-Wuy_basnued_se2d_lod-capatorbrametooerst]
::gil:seed = *(std::size_t*) ptr;
:m^~
emory_bstatic void assign(Iterator b, Iterator e, Token t) { }
^
ased/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/token_functions.hpp:312_st:55ep:
 _iwarning: utenurasetod rconparstamete ur ns'tig' [-Wneund usshedor-parat 
met/usr/local/mkt-dev/install/boost-1.52.0_patch_range_search_n-macosx10.7-x86_64-gnu++11_libc++-20121226/build-x86_64/include/boost/functional/hash/detail/hash_float.hpp*:er76
 :]



Andreas Fetzer strom...@gmx.de wrote


Hi there,

On our dashboard some warnings are treated as errors and hence the build fails 
(only for Mac OS X systems):

http://cdash.mitk.org/viewBuildError.php?buildid=132336  
http://cdash.mitk.org/viewBuildError.php?buildid=132336

Apparently not the hole output line of the clang compiler was considered. This 
happens especially when we are using the apple clang compiler.

Is this a issue of ctest?


Regards
Andreas
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro!https://freundschaftswerbung.gmx.de


--

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 set the cmake variable on windows

2013-01-10 Thread Parchet Michaël
Hello,

 

When I try to execute cmake on the terminal on windows, I get an error. (See
attachment).

 

It seems that some variables aren’t set.

 

Are there environmental variables or variables set in a specific file.

 

Thanks a lot your support

 

Happy new year.

 

Best regards

 

mparchet

CMake Warning at CMakeLists.txt:1 (project):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:1 (project)


CMake Error: your RC compiler: CMAKE_RC_COMPILER-NOTFOUND was not found.   
Please set CMAKE_RC_COMPILER to a valid compiler path or name.
-- Check for CL compiler version
-- Check for CL compiler version - failed
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - yes
-- Using FREE VC TOOLS, NO DEBUG available
-- Check for working C compiler: cl
CMake Warning at CMakeLists.txt:2 (PROJECT):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


CMake Warning at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 
(GET_FILENAME_COMPONENT):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE)
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
CMake Error: your C compiler: cl was not found.   Please set CMAKE_C_COMPILER 
to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: cl -- broken
CMake Error at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 
(MESSAGE):
  The C compiler cl is not able to compile a simple test program.

  It fails with the following output:

   

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:1 (project)


CMake Error: your C compiler: cl was not found.   Please set CMAKE_C_COMPILER 
to a valid compiler path or name.
CMake Error: your CXX compiler: cl was not found.   Please set 
CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring incomplete, errors occurred!
--

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] TR: How to set the cmake variable on windows

2013-01-10 Thread Parchet Michaël
My compilretr is minGW.

 

De : Parchet Michaël [mailto:mparc...@sunrise.ch] 
Envoyé : jeudi 10 janvier 2013 21:36
À : cmake@cmake.org; 'KDE on Windows'
Objet : How to set the cmake variable on windows

 

Hello,

 

When I try to execute cmake on the terminal on windows, I get an error. (See
attachment).

 

It seems that some variables aren’t set.

 

Are there environmental variables or variables set in a specific file.

 

Thanks a lot your support

 

Happy new year.

 

Best regards

 

mparchet

CMake Warning at CMakeLists.txt:1 (project):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:1 (project)


CMake Error: your RC compiler: CMAKE_RC_COMPILER-NOTFOUND was not found.   
Please set CMAKE_RC_COMPILER to a valid compiler path or name.
-- Check for CL compiler version
-- Check for CL compiler version - failed
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - yes
-- Using FREE VC TOOLS, NO DEBUG available
-- Check for working C compiler: cl
CMake Warning at CMakeLists.txt:2 (PROJECT):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


CMake Warning at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 
(GET_FILENAME_COMPONENT):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 
(ENABLE_LANGUAGE)
  c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 
(INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
CMake Error: your C compiler: cl was not found.   Please set CMAKE_C_COMPILER 
to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: cl -- broken
CMake Error at 
c:/kdeRoot/dev-utils/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 
(MESSAGE):
  The C compiler cl is not able to compile a simple test program.

  It fails with the following output:

   

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:1 (project)


CMake Error: your C compiler: cl was not found.   Please set CMAKE_C_COMPILER 
to a valid compiler path or name.
CMake Error: your CXX compiler: cl was not found.   Please set 
CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring incomplete, errors occurred!
--

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] Blog on parallel builds with CMake

2013-01-10 Thread Bill Hoffman
I just put up a blog about parallel builds with CMake, that might be of 
interest to folks on the list:


http://www.kitware.com/blog/home/post/434

-Bill
--

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] Blog on parallel builds with CMake

2013-01-10 Thread Tim Gallagher
Good read.

The only suggestion I would make is for Unix Makefiles, rather than running 
'make -jN' is to run 'make -j -lN' which tells make to use as many cores until 
the load is greater than N.

This is nice because if I have a 12 core system, I can do 'make -j -l12' and it 
will build using 12 if I'm not doing anything else. But if I'm, say, looking at 
data in Paraview and that's using up a core, then make will only take 11 cores 
and not bog my system down. It makes it much nicer if you are doing multiple 
things on the same machine doing the compilation.

Tim

- Original Message -
From: Bill Hoffman bill.hoff...@kitware.com
To: cmake cmake@cmake.org
Sent: Thursday, January 10, 2013 4:28:46 PM
Subject: [CMake] Blog on parallel builds with CMake

I just put up a blog about parallel builds with CMake, that might be of 
interest to folks on the list:

http://www.kitware.com/blog/home/post/434

-Bill
--

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] How to set the cmake variable on windows

2013-01-10 Thread Parchet Michaël

Hello,

How can I set minGW as default cmake compiler on windows ?
Tanks for your answer.

Regards

mparchet
Le 10 janv. 2013 à 22:47, Patrick von Reth patrick.vonr...@gmail.com a écrit :

 Hi you have to use cmake -GMinGW Makefiles ...
 
 On 10/01/2013, Parchet Michaël mparc...@sunrise.ch wrote:
 My compilretr is minGW.
 
 
 
 De : Parchet Michaël [mailto:mparc...@sunrise.ch]
 Envoyé : jeudi 10 janvier 2013 21:36
 À : cmake@cmake.org; 'KDE on Windows'
 Objet : How to set the cmake variable on windows
 
 
 
 Hello,
 
 
 
 When I try to execute cmake on the terminal on windows, I get an error.
 (See
 attachment).
 
 
 
 It seems that some variables aren’t set.
 
 
 
 Are there environmental variables or variables set in a specific file.
 
 
 
 Thanks a lot your support
 
 
 
 Happy new year.
 
 
 
 Best regards
 
 
 
 mparchet
 ___
 Kde-windows mailing list
 kde-wind...@kde.org
 https://mail.kde.org/mailman/listinfo/kde-windows
--

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] SWIG and dependency scanning

2013-01-10 Thread Hugh Sorby


I am using SWIG with #include directives in the interface file. When I 
compile the project for the  first time everything works fine, but when 
I make modifications to the header file included by the interface file 
the generated cxx wrapper file is not re-generated.  But the generated 
cxx wrapper file is re-compiled, it has the same #include directive as 
the interface file, but it hasn't changed.


So my question is how can I get the interface file to have a dependency 
on the #include'd header file?


Thanks,
Hugh.

--

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 2.8.10 with Xcode 4.4.1

2013-01-10 Thread Asmodehn Shade
Hello,

I just had this happening with CMake 2.8.10 ( from a recent macports ) and
with XCode 4.5.2.
I built the step1 tutorial in its source dir :

bash-3.2$ cmake -G XCode .^M
-- The C compiler identification is Clang 4.1.0^M
-- The CXX compiler identification is Clang 4.1.0^M
-- Check for working C compiler using: Xcode^M
-- Check for working C compiler using: Xcode -- works^M
-- Detecting C compiler ABI info^M
-- Detecting C compiler ABI info - done^M
-- Check for working CXX compiler using: Xcode^M
-- Check for working CXX compiler using: Xcode -- works^M
-- Detecting CXX compiler ABI info^M
-- Detecting CXX compiler ABI info - done^M
-- Configuring done^M
-- Generating done^M
-- Build files have been written to:
/Users/alexandre.vincent/Projects/cmake-2.8.10.2/Tests/Tutorial/Step1^M
bash-3.2$ xcodebuild Tuto^Grial.xcodeproj/^M
=== BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT Tutorial WITH THE DEFAULT
CONFIGURATION (Debug) ===^M
Check dependencies^M
unsupported build action 'Tutorial.xcodeproj'^M
^M
^M
** BUILD FAILED **^M
^M
^M
The following build commands failed:^M
Check dependencies^M
(1 failure)^M
bash-3.2$ exit^M

Script done on Fri Jan 11 16:09:08 2013

Let me know if you need any more information.

Cheers,
--
AlexV

2012/11/29 David Cole david.c...@kitware.com

 I can't for the life of me reproduce this. I've tried on my own Mac with
 Xcode 4.2, and on a colleague's Mac with Xcode 4.5.2. I can't seem to find
 a 4.4.1 machine to try this out on...

 Is this a problem for anybody else using CMake 2.8.10 on a Mac with the
 Xcode generator?

 Can you send the full output of the configure step (in a clean build
 directory)?

 Also, the output of running find CMakeFiles after the configure is done?
 (What files exist in CMakeFiles after a fresh configure...?) The file
 that's missing should be generated during the first configure.

   cd /Users/nicholas/temp/xcode
   find CMakeFiles


 Very mysterious.



 On Thu, Nov 22, 2012 at 1:08 AM, Nicholas Yue yue.nicho...@gmail.comwrote:

 On 19/11/12 10:31 PM, David Cole wrote:

 In the CMake source tree, can you try to build Tests/Tutorial/Step1
 with the Xcode generator and report the results?

 $ xcodebuild Tutorial.xcodeproj
 === BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT Tutorial WITH THE
 DEFAULT CONFIGURATION (Debug) ===
 Check dependencies
 unsupported build action 'Tutorial.xcodeproj'



 ** BUILD FAILED **


 The following build commands failed:
 Check dependencies
 (1 failure)



 Can you send your simple CMakeLists.txt file and its single source here?

 Files are attached


 What does your machine report when you run xcode-select -print-path?

 $ xcode-select -print-path
 /Applications/Xcode.app/**Contents/Developer

 Cheers


 --
 Nicholas Yue
 Graphics - RenderMan, Visualization, OpenGL, HDF5
 Custom Dev - C++ porting, OSX, Linux, Windows
 http://au.linkedin.com/in/**nicholasyuehttp://au.linkedin.com/in/nicholasyue
 https://vimeo.com/channels/**naiadtoolshttps://vimeo.com/channels/naiadtools



 --

 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

[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1516-gd890530

2013-01-10 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  d890530f055f6ff8a407f86d80ff302c1c93263d (commit)
   via  c8ee07d0adade6b838c0ee8e7c2549285a3b6b85 (commit)
  from  fba9a5a6a2243583fa9477bd61177c226eea1fdd (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=d890530f055f6ff8a407f86d80ff302c1c93263d
commit d890530f055f6ff8a407f86d80ff302c1c93263d
Merge: fba9a5a c8ee07d
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 09:45:44 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 09:45:44 2013 -0500

Merge topic 'qt4-target-depends' into next

c8ee07d FindQt4: Add INTERFACE includes and defines to Qt4 targets


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c8ee07d0adade6b838c0ee8e7c2549285a3b6b85
commit c8ee07d0adade6b838c0ee8e7c2549285a3b6b85
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon Dec 31 00:55:38 2012 +0100
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Jan 10 09:44:50 2013 -0500

FindQt4: Add INTERFACE includes and defines to Qt4 targets

diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 381141c..a9e9d82 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -418,6 +418,15 @@ macro (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
   set_property(TARGET Qt4::${_camelCaseBasename}PROPERTY 
IMPORTED_LOCATION_DEBUG ${QT_${basename}_LIBRARY_DEBUG} )
 endif()
   endif ()
+  set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
+INTERFACE_INCLUDE_DIRECTORIES
+  ${QT_${basename}_INCLUDE_DIR}
+  )
+  string(REGEX REPLACE ^QT  _stemname ${basename})
+  set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY
+INTERFACE_COMPILE_DEFINITIONS
+  QT_${_stemname}_LIB
+  )
 endif()
 
 # If QT_USE_IMPORTED_TARGETS is enabled, the QT_QTFOO_LIBRARY variables 
are set to point at these
@@ -952,6 +961,14 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   ${_PROPERTY}
   Qt4::Qt${_DEPEND}
 )
+set_property(TARGET Qt4::${_QT_MODULE} APPEND PROPERTY
+  INTERFACE_INCLUDE_DIRECTORIES
+
$TARGET_PROPERTY:Qt4::Qt${_DEPEND},INTERFACE_INCLUDE_DIRECTORIES
+)
+set_property(TARGET Qt4::${_QT_MODULE} APPEND PROPERTY
+  INTERFACE_COMPILE_DEFINITIONS
+
$TARGET_PROPERTY:Qt4::Qt${_DEPEND},INTERFACE_COMPILE_DEFINITIONS
+)
   endforeach()
 endif()
   endmacro()
@@ -968,6 +985,11 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   # Set QT_xyz_LIBRARY variable and add
   # library include path to QT_INCLUDES
   _QT4_ADJUST_LIB_VARS(QtCore)
+  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+INTERFACE_INCLUDE_DIRECTORIES
+  ${QT_MKSPECS_DIR}/default
+  ${QT_INCLUDE_DIR}
+  )
 
   foreach(QT_MODULE ${QT_MODULES})
 _QT4_ADJUST_LIB_VARS(${QT_MODULE})
@@ -992,6 +1014,10 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
   # headers.
   # Everything depends on QtCore, but that is covered above already
   _qt4_add_target_depends(Qt3Support Sql Gui Network)
+  if (TARGET Qt4::Qt3Support)
+# An additional define is required for QT3_SUPPORT
+set_property(TARGET Qt4::Qt3Support APPEND PROPERTY 
INTERFACE_COMPILE_DEFINITIONS QT3_SUPPORT)
+  endif()
   _qt4_add_target_depends(QtDeclarative Script Gui)
   _qt4_add_target_depends(QtDesigner Gui)
   _qt4_add_target_depends(QtHelp Gui)
diff --git a/Tests/Qt4Targets/CMakeLists.txt b/Tests/Qt4Targets/CMakeLists.txt
index 3adff48..9bd7a64 100644
--- a/Tests/Qt4Targets/CMakeLists.txt
+++ b/Tests/Qt4Targets/CMakeLists.txt
@@ -4,11 +4,18 @@ project(Qt4Targets)
 
 find_package(Qt4 REQUIRED)
 
-include_directories(${QT_INCLUDES})
-
 add_executable(Qt4Targets WIN32 main.cpp)
 target_link_libraries(Qt4Targets Qt4::QtGui)
 
 if (WIN32)
   target_link_libraries(Qt4Targets Qt4::qtmain)
 endif()
+
+set_property(TARGET Qt4Targets APPEND PROPERTY
+  INCLUDE_DIRECTORIES
+$TARGET_PROPERTY:Qt4::QtGui,INTERFACE_INCLUDE_DIRECTORIES
+)
+set_property(TARGET Qt4Targets APPEND PROPERTY
+  COMPILE_DEFINITIONS
+$TARGET_PROPERTY:Qt4::QtGui,INTERFACE_COMPILE_DEFINITIONS
+)
diff --git a/Tests/Qt4Targets/main.cpp b/Tests/Qt4Targets/main.cpp
index f4890fa..3c98c99 100644
--- a/Tests/Qt4Targets/main.cpp
+++ b/Tests/Qt4Targets/main.cpp
@@ -4,6 +4,14 @@
 
 #include QString
 
+#ifndef QT_CORE_LIB
+#error Expected QT_CORE_LIB
+#endif
+
+#ifndef QT_GUI_LIB
+#error Expected QT_GUI_LIB
+#endif
+
 int main(int argc, char **argv)
 {
   QApplication app(argc, argv);

---


[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1519-g6d87665

2013-01-10 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  6d87665bdd2e759b41baf140b4417fe7dfd2237c (commit)
   via  fc61a7a746c3c899d42ccff3014686365c36ee11 (commit)
   via  8a37ebec784cefe4f04cb8897c23a014c3930052 (commit)
  from  d890530f055f6ff8a407f86d80ff302c1c93263d (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=6d87665bdd2e759b41baf140b4417fe7dfd2237c
commit 6d87665bdd2e759b41baf140b4417fe7dfd2237c
Merge: d890530 fc61a7a
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 09:49:55 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 09:49:55 2013 -0500

Merge topic 'target-includes-defines-commands' into next

fc61a7a Add the target_compile_definitions command.
8a37ebe Add the target_include_directories command.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fc61a7a746c3c899d42ccff3014686365c36ee11
commit fc61a7a746c3c899d42ccff3014686365c36ee11
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Tue Jan 8 00:34:41 2013 +0100
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Jan 10 09:46:58 2013 -0500

Add the target_compile_definitions command.

This is a convenience API to populate the corresponding properties.

diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx
index 6b315ea..227b226 100644
--- a/Source/cmCommands.cxx
+++ b/Source/cmCommands.cxx
@@ -28,6 +28,7 @@
 #include cmRemoveDefinitionsCommand.cxx
 #include cmSourceGroupCommand.cxx
 #include cmSubdirDependsCommand.cxx
+#include cmTargetCompileDefinitionsCommand.cxx
 #include cmTargetIncludeDirectoriesCommand.cxx
 #include cmTargetPropCommandBase.cxx
 #include cmUseMangledMesaCommand.cxx
@@ -69,6 +70,7 @@ void GetPredefinedCommands(std::listcmCommand*
   commands.push_back(new cmSourceGroupCommand);
   commands.push_back(new cmSubdirDependsCommand);
   commands.push_back(new cmTargetIncludeDirectoriesCommand);
+  commands.push_back(new cmTargetCompileDefinitionsCommand);
   commands.push_back(new cmUseMangledMesaCommand);
   commands.push_back(new cmUtilitySourceCommand);
   commands.push_back(new cmVariableRequiresCommand);
diff --git a/Source/cmTargetCompileDefinitionsCommand.cxx 
b/Source/cmTargetCompileDefinitionsCommand.cxx
new file mode 100644
index 000..492a1b7
--- /dev/null
+++ b/Source/cmTargetCompileDefinitionsCommand.cxx
@@ -0,0 +1,57 @@
+/*
+  CMake - Cross Platform Makefile Generator
+  Copyright 2013 Stephen Kelly steve...@gmail.com
+
+  Distributed under the OSI-approved BSD License (the License);
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+*/
+#include cmTargetCompileDefinitionsCommand.h
+
+#include cmMakefileIncludeDirectoriesEntry.h
+
+bool cmTargetCompileDefinitionsCommand
+::InitialPass(std::vectorstd::string const args, cmExecutionStatus )
+{
+  return this-HandleArguments(args, COMPILE_DEFINITIONS);
+}
+
+void cmTargetCompileDefinitionsCommand
+::HandleImportedTargetInvalidScope(const std::string scope,
+   const std::string tgt)
+{
+  cmOStringStream e;
+  e  Cannot specify   scope   compile definitions for imported 
+   target \  tgt  \.  Compile definitions can only be 
+   specified for an imported target in the INTERFACE mode.;
+  this-Makefile-IssueMessage(cmake::FATAL_ERROR, e.str());
+}
+
+void cmTargetCompileDefinitionsCommand
+::HandleMissingTarget(const std::string name)
+{
+  cmOStringStream e;
+  e  Cannot specify compile definitions for target \  name  \ 
+   which is not built by this project.;
+  this-Makefile-IssueMessage(cmake::FATAL_ERROR, e.str());
+}
+
+bool cmTargetCompileDefinitionsCommand
+::HandleNonTargetArg(std::string content,
+   const std::string sep,
+   const std::string entry,
+   const std::string )
+{
+  content += sep + entry;
+  return true;
+}
+
+void cmTargetCompileDefinitionsCommand
+::HandleDirectContent(cmTarget *tgt, const std::string content,
+   bool)
+{
+  tgt-AppendProperty(COMPILE_DEFINITIONS, content.c_str());
+}
diff --git a/Source/cmTargetCompileDefinitionsCommand.h 
b/Source/cmTargetCompileDefinitionsCommand.h
new file mode 100644
index 000..707610e
--- /dev/null
+++ 

[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1521-gd1e5720

2013-01-10 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  d1e5720991480016ae2ff0aaff14e2653199fbd7 (commit)
   via  3581b96caa1d7bd6c02e85baf72ce28b5128e5e7 (commit)
  from  6d87665bdd2e759b41baf140b4417fe7dfd2237c (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=d1e5720991480016ae2ff0aaff14e2653199fbd7
commit d1e5720991480016ae2ff0aaff14e2653199fbd7
Merge: 6d87665 3581b96
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 09:56:16 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 09:56:16 2013 -0500

Merge topic 'INTERFACE_POSITION_INDEPENDENT_CODE' into next

3581b96 Process the INTERFACE_PIC property from linked dependencies


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3581b96caa1d7bd6c02e85baf72ce28b5128e5e7
commit 3581b96caa1d7bd6c02e85baf72ce28b5128e5e7
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Mon Nov 5 12:46:26 2012 +0100
Commit: Brad King brad.k...@kitware.com
CommitDate: Thu Jan 10 09:54:52 2013 -0500

Process the INTERFACE_PIC property from linked dependencies

This allows a dependee to inform a target that it should have its
POSITION_INDEPENDENT_CODE property set to ON, or OFF. The value of
the POSITION_INDEPENDENT_CODE property, if set, must be consistent
with any INTERFACE_POSITION_INDEPENDENT_CODE properties on dependees.

Add a test covering the consistency checks on platforms where they run.

diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 4c26b82..2cfe4da 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1639,14 +1639,16 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget target,
 if(strcmp(lang, CXX) == 0)
   {
   this-CurrentLocalGenerator-AddLanguageFlags(cflags, C, configName);
-  this-CurrentLocalGenerator-AddCMP0018Flags(cflags, target, C);
+  this-CurrentLocalGenerator-AddCMP0018Flags(cflags, target,
+   C, configName);
   }
 
 // Add language-specific flags.
 this-CurrentLocalGenerator-AddLanguageFlags(flags, lang, configName);
 
 // Add shared-library flags if needed.
-this-CurrentLocalGenerator-AddCMP0018Flags(flags, target, lang);
+this-CurrentLocalGenerator-AddCMP0018Flags(flags, target,
+ lang, configName);
 }
   else if(binary)
   {
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index b557ca1..ecf6b41 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1984,7 +1984,8 @@ void cmLocalGenerator::AddSharedFlags(std::string flags,
 
 //
 void cmLocalGenerator::AddCMP0018Flags(std::string flags, cmTarget* target,
-   std::string const lang)
+   std::string const lang,
+   const char *config)
 {
   int targetType = target-GetType();
 
@@ -1997,8 +1998,18 @@ void cmLocalGenerator::AddCMP0018Flags(std::string 
flags, cmTarget* target,
 }
   else
 {
-// Add position independendent flags, if needed.
-if (target-GetPropertyAsBool(POSITION_INDEPENDENT_CODE))
+if (target-GetType() == cmTarget::OBJECT_LIBRARY)
+{
+  if (target-GetPropertyAsBool(POSITION_INDEPENDENT_CODE))
+{
+this-AddPositionIndependentFlags(flags, lang, targetType);
+}
+  return;
+}
+
+if (target-GetLinkInterfaceDependentBoolProperty(
+POSITION_INDEPENDENT_CODE,
+config))
   {
   this-AddPositionIndependentFlags(flags, lang, targetType);
   }
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 63559d7..b2ff0c4 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -142,7 +142,7 @@ public:
   void AddLanguageFlags(std::string flags, const char* lang,
 const char* config);
   void AddCMP0018Flags(std::string flags, cmTarget* target,
-   std::string const lang);
+   std::string const lang, const char *config);
   void AddConfigVariableFlags(std::string flags, const char* var,
   const char* config);
   ///! Append flags to a string.
diff --git a/Source/cmMakefileTargetGenerator.cxx 
b/Source/cmMakefileTargetGenerator.cxx
index 9bf6b7d..64fcfce 100644

[Cmake-commits] CMake branch, master, updated. v2.8.10.2-414-g8a7a4c0

2013-01-10 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, master has been updated
   via  8a7a4c043c2fede043ce8bf8676a95e1b779fe5e (commit)
   via  32fb667a0c9622999d7054e809863a8e70010059 (commit)
   via  9fdfe07411d8846f2adf0e46cf9046238c149d2b (commit)
  from  96c1a1b787155f98265bcac2338b25ad579faca0 (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=8a7a4c043c2fede043ce8bf8676a95e1b779fe5e
commit 8a7a4c043c2fede043ce8bf8676a95e1b779fe5e
Merge: 96c1a1b 32fb667
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 10:22:09 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 10:22:09 2013 -0500

Merge topic 'update-KWIML'

32fb667 Merge branch 'upstream-kwiml' into update-KWIML
9fdfe07 KWIML: Teach ABI about 'long long' on older GNU


---

Summary of changes:
 Utilities/KWIML/ABI.h.in |4 +++-
 1 files changed, 3 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


[Cmake-commits] CMake branch, master, updated. v2.8.10.2-421-g42d9df9

2013-01-10 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, master has been updated
   via  42d9df9f4f5b06de0f75859cc40750c9b8eec9a1 (commit)
   via  0380f36cd8dbdf7a89f8fac91d99235e75075bde (commit)
   via  8e9630c719f59f69f813e3eb4a4f91ba2396b4ef (commit)
   via  50bfedf391a078e628bf1259f819da42dea1cde0 (commit)
   via  3d2e6a06874603ebe6152045c34de9147a0c11dc (commit)
   via  7a1b961de8b79416d168355e71f5af80fa4dbd02 (commit)
   via  ed96d9a605471694465dd7142dd25748dfdf3a90 (commit)
  from  8a7a4c043c2fede043ce8bf8676a95e1b779fe5e (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=42d9df9f4f5b06de0f75859cc40750c9b8eec9a1
commit 42d9df9f4f5b06de0f75859cc40750c9b8eec9a1
Merge: 8a7a4c0 0380f36
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 10:22:14 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 10:22:14 2013 -0500

Merge topic 'Haiku'

0380f36 FindOpenGL: add Haiku paths
8e9630c FindGLUT: BeOS does not have libXi and libXmu
50bfedf FindLua51: do not try to link libm on BeOS
3d2e6a0 check for Haiku only with __HAIKU__
7a1b961 Haiku no longer defines __BEOS__
ed96d9a bootstrap: use better defaults for Haiku


---

Summary of changes:
 Modules/CMakeFortranCompilerId.F.in  |6 +-
 Modules/CMakePlatformId.h.in |5 +
 Modules/CheckForPthreads.c   |2 +-
 Modules/FindGLUT.cmake   |   28 +---
 Modules/FindLua51.cmake  |2 +-
 Modules/FindOpenGL.cmake |   30 +-
 Source/CPack/cmCPackGeneratorFactory.cxx |4 ++--
 Source/cmCTest.cxx   |2 +-
 bootstrap|4 +++-
 9 files changed, 52 insertions(+), 31 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.10.2-427-gfeb9ffb

2013-01-10 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, master has been updated
   via  feb9ffb6815b4367634a1543f42f50ae2f3c4c98 (commit)
   via  c8ee07d0adade6b838c0ee8e7c2549285a3b6b85 (commit)
  from  281f3d9579ac3b2559e8e2028cbcfd33d83e8dac (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=feb9ffb6815b4367634a1543f42f50ae2f3c4c98
commit feb9ffb6815b4367634a1543f42f50ae2f3c4c98
Merge: 281f3d9 c8ee07d
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 10:22:40 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 10:22:40 2013 -0500

Merge topic 'qt4-target-depends'

c8ee07d FindQt4: Add INTERFACE includes and defines to Qt4 targets


---

Summary of changes:
 Modules/FindQt4.cmake   |   26 ++
 Tests/Qt4Targets/CMakeLists.txt |   11 +--
 Tests/Qt4Targets/main.cpp   |8 
 3 files changed, 43 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, master, updated. v2.8.10.2-430-g325e92f

2013-01-10 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, master has been updated
   via  325e92fa22cb20a3d4bccbf1f663c28b34f8b04c (commit)
   via  fc61a7a746c3c899d42ccff3014686365c36ee11 (commit)
   via  8a37ebec784cefe4f04cb8897c23a014c3930052 (commit)
  from  feb9ffb6815b4367634a1543f42f50ae2f3c4c98 (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=325e92fa22cb20a3d4bccbf1f663c28b34f8b04c
commit 325e92fa22cb20a3d4bccbf1f663c28b34f8b04c
Merge: feb9ffb fc61a7a
Author: Brad King brad.k...@kitware.com
AuthorDate: Thu Jan 10 10:22:46 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 10:22:46 2013 -0500

Merge topic 'target-includes-defines-commands'

fc61a7a Add the target_compile_definitions command.
8a37ebe Add the target_include_directories command.


---

Summary of changes:
 Source/cmCommands.cxx  |5 +
 Source/cmTargetCompileDefinitionsCommand.cxx   |   57 
 Source/cmTargetCompileDefinitionsCommand.h |   91 
 Source/cmTargetIncludeDirectoriesCommand.cxx   |   74 ++
 Source/cmTargetIncludeDirectoriesCommand.h |   95 +
 Source/cmTargetPropCommandBase.cxx |  144 
 Source/cmTargetPropCommandBase.h   |   57 
 .../target_compile_definitions/CMakeLists.txt  |   26 
 .../target_compile_definitions/consumer.cpp|   18 +++
 .../target_compile_definitions/main.cpp|   14 ++
 .../target_include_directories/CMakeLists.txt  |   50 +++
 .../target_include_directories/consumer.cpp|   27 
 .../target_include_directories/main.cpp|   22 +++
 Tests/CMakeLists.txt   |2 +
 14 files changed, 682 insertions(+), 0 deletions(-)
 create mode 100644 Source/cmTargetCompileDefinitionsCommand.cxx
 create mode 100644 Source/cmTargetCompileDefinitionsCommand.h
 create mode 100644 Source/cmTargetIncludeDirectoriesCommand.cxx
 create mode 100644 Source/cmTargetIncludeDirectoriesCommand.h
 create mode 100644 Source/cmTargetPropCommandBase.cxx
 create mode 100644 Source/cmTargetPropCommandBase.h
 create mode 100644 
Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
 create mode 100644 Tests/CMakeCommands/target_compile_definitions/consumer.cpp
 create mode 100644 Tests/CMakeCommands/target_compile_definitions/main.cpp
 create mode 100644 
Tests/CMakeCommands/target_include_directories/CMakeLists.txt
 create mode 100644 Tests/CMakeCommands/target_include_directories/consumer.cpp
 create mode 100644 Tests/CMakeCommands/target_include_directories/main.cpp


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.10.2-1533-g66f05a4

2013-01-10 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  66f05a4a4b061058ecd41bff01950b168b997e3a (commit)
   via  93034a8350102e308fa5bca8d89bf3f6fae12771 (commit)
  from  809f8312515e9dd7aef4c93d87d243532b255dbd (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=66f05a4a4b061058ecd41bff01950b168b997e3a
commit 66f05a4a4b061058ecd41bff01950b168b997e3a
Merge: 809f831 93034a8
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu Jan 10 12:04:54 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 12:04:54 2013 -0500

Merge topic 'fix-imported-lib-linking-test' into next

93034a8 Fix linking to imported libraries test.

diff --cc Tests/ExportImport/Import/A/deps_iface.c
index c0d9735,e73ca26..91c42fe
--- a/Tests/ExportImport/Import/A/deps_iface.c
+++ b/Tests/ExportImport/Import/A/deps_iface.c
@@@ -20,9 -18,7 +20,9 @@@
  extern int testLibDepends(void);
  
  
- int main(int,char **)
+ int main()
  {
 -  return testLibDepends();
 +  TestLibLibraryRequired ifaceDep;
 +
 +  return testLibDepends() + ifaceDep.foo();
  }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=93034a8350102e308fa5bca8d89bf3f6fae12771
commit 93034a8350102e308fa5bca8d89bf3f6fae12771
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu Jan 10 17:11:12 2013 +0100
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Thu Jan 10 17:13:19 2013 +0100

Fix linking to imported libraries test.

Make a C executable instead of attempting to make a C++ static
library (and not really succeeding). This was introduced in
commit 894f52f3 (Handle INTERFACE properties transitively for
includes and defines., 2012-09-23).

diff --git a/Tests/ExportImport/Import/A/CMakeLists.txt 
b/Tests/ExportImport/Import/A/CMakeLists.txt
index b77562e..56cfea0 100644
--- a/Tests/ExportImport/Import/A/CMakeLists.txt
+++ b/Tests/ExportImport/Import/A/CMakeLists.txt
@@ -157,8 +157,8 @@ endif()
 # Test that dependent imported targets have usable
 # INTERFACE_COMPILE_DEFINITIONS and INTERFACE_INCLUDE_DIRECTORIES
 
-add_library(deps_iface deps_iface.cpp)
-target_link_libraries(deps_iface testLibsDepends)
+add_executable(deps_iface deps_iface.c)
+target_link_libraries(deps_iface testLibDepends)
 set_property(TARGET deps_iface APPEND PROPERTY
   COMPILE_DEFINITIONS
 $TARGET_PROPERTY:testLibDepends,INTERFACE_COMPILE_DEFINITIONS
diff --git a/Tests/ExportImport/Import/A/deps_iface.cpp 
b/Tests/ExportImport/Import/A/deps_iface.c
similarity index 94%
rename from Tests/ExportImport/Import/A/deps_iface.cpp
rename to Tests/ExportImport/Import/A/deps_iface.c
index 7190b92..e73ca26 100644
--- a/Tests/ExportImport/Import/A/deps_iface.cpp
+++ b/Tests/ExportImport/Import/A/deps_iface.c
@@ -18,7 +18,7 @@
 extern int testLibDepends(void);
 
 
-int main(int,char **)
+int main()
 {
   return testLibDepends();
 }

---

Summary of changes:
 Tests/ExportImport/Import/A/CMakeLists.txt |4 ++--
 .../Import/A/{deps_iface.cpp = deps_iface.c}  |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
 rename Tests/ExportImport/Import/A/{deps_iface.cpp = deps_iface.c} (95%)


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.10.2-1536-g3741269

2013-01-10 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  3741269ac53dfa42b5106a506504fae1d2887679 (commit)
   via  7e9411eac0faaa0201bc2a607d8de7f436e12d6a (commit)
   via  4d6b6633a8ce78f6810a16ced55fc4190a2b42b8 (commit)
  from  66f05a4a4b061058ecd41bff01950b168b997e3a (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=3741269ac53dfa42b5106a506504fae1d2887679
commit 3741269ac53dfa42b5106a506504fae1d2887679
Merge: 66f05a4 7e9411e
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu Jan 10 12:05:38 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 12:05:38 2013 -0500

Merge topic 'LINK_INTERFACE_LIBRARIES-genex' into next

7e9411e Add test using shared libraries and INTERFACE genex
4d6b663 Fix typo in genex test invokation.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e9411eac0faaa0201bc2a607d8de7f436e12d6a
commit 7e9411eac0faaa0201bc2a607d8de7f436e12d6a
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu Jan 10 18:01:46 2013 +0100
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Thu Jan 10 18:02:42 2013 +0100

Add test using shared libraries and INTERFACE genex

diff --git a/Tests/ExportImport/Export/CMakeLists.txt 
b/Tests/ExportImport/Export/CMakeLists.txt
index fb17791..3e8b912 100644
--- a/Tests/ExportImport/Export/CMakeLists.txt
+++ b/Tests/ExportImport/Export/CMakeLists.txt
@@ -170,9 +170,29 @@ set_property(TARGET testLibLibraryRequired APPEND PROPERTY
 ${CMAKE_CURRENT_SOURCE_DIR}
 )
 
-set_property(TARGET testLibRequired APPEND PROPERTY
+add_library(testSharedLibRequired SHARED testSharedLibRequired.cpp)
+generate_export_header(testSharedLibRequired)
+set_property(TARGET testSharedLibRequired APPEND PROPERTY
+  INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}
+)
+set_property(TARGET testSharedLibRequired APPEND PROPERTY
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}
+${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+add_library(testSharedLibDepends SHARED testSharedLibDepends.cpp)
+set_property(TARGET testSharedLibDepends APPEND PROPERTY
+  INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}
+)
+generate_export_header(testSharedLibDepends)
+
+set_property(TARGET testSharedLibDepends APPEND PROPERTY
+  INTERFACE_INCLUDE_DIRECTORIES
+$TARGET_PROPERTY:testSharedLibRequired,INTERFACE_INCLUDE_DIRECTORIES
+)
+set_property(TARGET testSharedLibDepends APPEND PROPERTY
   LINK_INTERFACE_LIBRARIES
-$1:testLibLibraryRequired
+$1:$TARGET_NAME:testSharedLibRequired
 )
 
 install(TARGETS testLibRequired
@@ -183,10 +203,11 @@ install(TARGETS testLibRequired
 testLibIncludeRequired5
 testLibIncludeRequired6
 testLibLibraryRequired
+testSharedLibRequired
 EXPORT RequiredExp DESTINATION lib )
 install(EXPORT RequiredExp NAMESPACE Req:: FILE testLibRequiredConfig.cmake 
DESTINATION lib/cmake/testLibRequired)
 
-install(TARGETS testLibDepends EXPORT DependsExp DESTINATION lib )
+install(TARGETS testLibDepends testSharedLibDepends EXPORT DependsExp 
DESTINATION lib )
 install(EXPORT DependsExp FILE testLibDependsConfig.cmake DESTINATION 
lib/cmake/testLibDepends)
 
 
diff --git a/Tests/ExportImport/Export/testSharedLibDepends.cpp 
b/Tests/ExportImport/Export/testSharedLibDepends.cpp
new file mode 100644
index 000..e279207
--- /dev/null
+++ b/Tests/ExportImport/Export/testSharedLibDepends.cpp
@@ -0,0 +1,8 @@
+
+#include testSharedLibDepends.h
+
+int TestSharedLibDepends::foo()
+{
+  TestSharedLibRequired req;
+  return req.foo();
+}
diff --git a/Tests/ExportImport/Export/testSharedLibDepends.h 
b/Tests/ExportImport/Export/testSharedLibDepends.h
new file mode 100644
index 000..b93143a
--- /dev/null
+++ b/Tests/ExportImport/Export/testSharedLibDepends.h
@@ -0,0 +1,14 @@
+
+#ifndef TESTSHAREDLIBDEPENDS_H
+#define TESTSHAREDLIBDEPENDS_H
+
+#include testsharedlibdepends_export.h
+
+#include testSharedLibRequired.h
+
+struct TESTSHAREDLIBDEPENDS_EXPORT TestSharedLibDepends
+{
+  int foo();
+};
+
+#endif
diff --git a/Tests/ExportImport/Export/testSharedLibRequired.cpp 
b/Tests/ExportImport/Export/testSharedLibRequired.cpp
new file mode 100644
index 000..1ac34aa
--- /dev/null
+++ b/Tests/ExportImport/Export/testSharedLibRequired.cpp
@@ -0,0 +1,7 @@
+
+#include testSharedLibRequired.h
+
+int TestSharedLibRequired::foo()
+{
+  return 0;
+}
diff --git a/Tests/ExportImport/Export/testSharedLibRequired.h 
b/Tests/ExportImport/Export/testSharedLibRequired.h
new file mode 100644
index 000..edaddd4

[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1543-g5dcfc38

2013-01-10 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  5dcfc38994547a5cee5d8c699a73c6aecb79877b (commit)
   via  89e0a3a6802de97c096331196ae27b7fd4c35bea (commit)
   via  94aeaf72c714eb184ec61bf6e7bc573bd1bc15c9 (commit)
   via  a3aedb8152ad6fcdb42fd04e45307eea6ce0043e (commit)
   via  b6036d104a95156e8524dbfeb5533d3a579d8837 (commit)
   via  cb1afbf466d126f233e93b2cdfa3f5c5dfe5b8f7 (commit)
   via  f99196dc0cde6e5868cc74c603a78b10f1ba324a (commit)
  from  3741269ac53dfa42b5106a506504fae1d2887679 (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=5dcfc38994547a5cee5d8c699a73c6aecb79877b
commit 5dcfc38994547a5cee5d8c699a73c6aecb79877b
Merge: 3741269 89e0a3a
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Thu Jan 10 12:07:53 2013 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Thu Jan 10 12:07:53 2013 -0500

Merge topic 'LINK_INTERFACE_LIBRARIES-genex' into next

89e0a3a Allow generator expressions in LINK_INTERFACE_LIBRARIES.
94aeaf7 Split LINK_INTERFACE_LIBRARIES export handling into dedicated 
method.
a3aedb8 Split the generator expression before extracting targets.
b6036d1 Extract the AddTargetNamespace method.
cb1afbf Don't pass a position when determining if a target name is a 
literal.
f99196d Add cmGeneratorExpression::Split() API.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=89e0a3a6802de97c096331196ae27b7fd4c35bea
commit 89e0a3a6802de97c096331196ae27b7fd4c35bea
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Fri Jan 4 13:36:18 2013 +0100
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Thu Jan 10 18:06:57 2013 +0100

Allow generator expressions in LINK_INTERFACE_LIBRARIES.

The Config and IMPORTED_ variants may also contain generator
expressions.

If 'the implementation is the interface', then the result of
evaluating the expressions at generate time is used to populate
the IMPORTED_LINK_INTERFACE_LIBRARIES property.

1) In the case of non-static libraries, this is fine because the
  user still has the option to populate the LINK_INTERFACE_LIBRARIES
  with generator expressions if that is what is wanted.

2) In the case of static libraries, this prevents a footgun,
  enforcing that the interface and the implementation are really
  the same.

  Otherwise, the LINK_LIBRARIES could contain a generator
  expression which is evaluated with a different context at build
  time, and when used as an imported target. That would mean that the
  result of evaluating the INTERFACE_LINK_LIBRARIES property for
  a static library would not necessarily be the 'link implementation'.

  For example:

add_library(libone STATIC libone.cpp)
add_library(libtwo STATIC libtwo.cpp)
add_library(libthree STATIC libthree.cpp)

target_link_libraries(libtwo
  $$STREQUAL:$TARGET_PROPERTY:TYPE,STATIC_LIBRARY:libone)
target_link_libraries(libthree libtwo)

  If the LINK_LIBRARIES content was simply copied to the
  IMPORTED_LINK_INTERFACE_LIBRARIES, then libthree links to libone, but
  executables linking to libthree will not link to libone.

3) As the 'implementation is the interface' concept is to be
  deprecated in the future anyway, this should be fine.

diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 5e5f455..94e24c7 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -359,9 +359,47 @@ cmExportFileGenerator
 {
 return;
 }
-  this-SetImportLinkProperty(suffix, target,
-  IMPORTED_LINK_INTERFACE_LIBRARIES,
-  iface-Libraries, properties, missingTargets);
+
+  if (iface-ImplementationIsInterface)
+{
+this-SetImportLinkProperty(suffix, target,
+IMPORTED_LINK_INTERFACE_LIBRARIES,
+iface-Libraries, properties, missingTargets);
+return;
+}
+
+  const char *propContent;
+
+  if (const char *prop_suffixed = target-GetProperty(
+(LINK_INTERFACE_LIBRARIES + suffix).c_str()))
+{
+propContent = prop_suffixed;
+}
+  else if (const char *prop = target-GetProperty(
+LINK_INTERFACE_LIBRARIES))
+{
+propContent = prop;
+}
+  else
+{
+return;
+}
+
+  if (!*propContent)
+{
+properties[IMPORTED_LINK_INTERFACE_LIBRARIES + suffix] = ;
+return;
+}
+
+  std::string