Re: [cmake-developers] [Feature Request] Fortran standards compliance for various compilers

2017-04-21 Thread C Bergström
On Thu, Apr 20, 2017 at 4:12 AM, Alan W. Irwin
 wrote:
> On 2017-04-19 07:27+0200 Rolf Eike Beer wrote:
>
>>>  What would really be useful is a list containing
>>> what Fortran features from the Fortran 2003 and 2008 standards that the
>>> given Fortran compiler supports.  That information is already
>>
>>
>> To name the kid: this is about adding CMAKE_Fortran_KNOWN_FEATURES and
>> friends, no?
>
>
> I wasn't aware of CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES,
> but now that I have looked them up, I agree adding
> CMAKE_Fortran_KNOWN_FEATURES is the right way to go rather than the
> generic list I proposed above.
>
>> This exactly sounds like the whole compile_features things
>> already done for C and C++, so yet another language shouldn't be too hard
>> I
>> guess.
>
>
> Especially since that Fortran information is already collected in
> well-organized form in on one place, namely
> .

With my Fortran compiler vendor hat on - Please do be aware that this
list of supported features may not be 100% accurate.

#1 Vendors can add support that hasn't been reflected in that document

#2 Not all claimed support is created equal. There's quite a few F2K3
OO features that someone can claim to support, but when you start
digging into real code they just flat out fail. (maybe less of the
case now than it was before)

#3 F2K8 aka CAF features could be supported, but may require
additional runtime libraries or 3rd party software to actually work.
For example our implementation ties to specific hardware and may not
be 100% portable. Other implementations may depend on OpenMPI and not
work with MPICH.

I guess I'm saying that auto-detecting this stuff is cool, but do
ensure that someone can easily override it. If as a vendor I say we
support F2K8 and I'd like that enabled by default for supported
versions of the compiler I really don't want to fight against some
auto-test which might think otherwise.


Thanks
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[Cmake-commits] CMake branch, master, updated. v3.8.0-857-ge9d1ca7

2017-04-21 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  e9d1ca782ec8668681e2e88a6112af40409e5b50 (commit)
  from  294cf948dc37799e1980685afbf1fa585ad5b0fb (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e9d1ca782ec8668681e2e88a6112af40409e5b50
commit e9d1ca782ec8668681e2e88a6112af40409e5b50
Author: Kitware Robot <kwro...@kitware.com>
AuthorDate: Sat Apr 22 00:01:05 2017 -0400
Commit: Kitware Robot <kwro...@kitware.com>
CommitDate: Sat Apr 22 00:01:05 2017 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index ea6e0e2..06e58ca 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 8)
-set(CMake_VERSION_PATCH 20170421)
+set(CMake_VERSION_PATCH 20170422)
 #set(CMake_VERSION_RC 1)

---

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


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


[CMake] Trouble with FindPNG module

2017-04-21 Thread Robert Dailey
I'm running CMake 3.8.0 on Ubuntu 14. I invoke the following:

find_package(PNG REQUIRED)

Which gives me the output in CMake:

Could NOT find PNG (missing: PNG_LIBRARY) (found version "1.2.50")

The CMakeCache.txt file has these variables set:

PNG_LIBRARY_DEBUG:FILEPATH=PNG_LIBRARY_DEBUG-NOTFOUND
PNG_LIBRARY_RELEASE:FILEPATH=PNG_LIBRARY_RELEASE-NOTFOUND
PNG_PNG_INCLUDE_DIR:PATH=/usr/include

So it found the headers, but not the libs. Why did it not find the
libs? Note that my version of Ubuntu is 64-bit, and I've installed the
32-bit libs like so:

$ sudo apt-get install libpng12-dev:i386

Would the find module be confused because it is trying to find the
64-bit library? What's the issue?
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] Adding Microsoft MPI Fortran support in FindMPI

2017-04-21 Thread Christian P .
Hi folks,

I’d like to implement support for MSMPI’s Fortran API in FindMPI so that it 
could be used to build ScaLAPACK and others. However, I’m looking for a bit of 
guidance on how to do this.

The Fortran 90 interfaces are contained in a file called mpi.f90 in the MSMPI 
include folder. This file has to be built with the Fortran compiler employed by 
the user and will generate the mpi module used by MPI code (there’s no mpi_f08 
module provided). However, I don’t know how to handle this: If I add it to 
MPI::MPI_Fortran via INTERFACE_SOURCES, then it would break parallel builds as 
soon as two targets with the same module path were built, since the file could 
be overwritten at any time causing consuming build processes to read a 
partially written file.

In a way, FindMPI would need to compile the file itself as a static library and 
link the output and add the folder with the module to its includes. Yet, this 
can become a problem because of target visibility. My idea is therefore to add 
a static library in the FindMPI module containing just the mpi.f90 module and 
creating an imported target pointing to it in order to wrap up visibility.

Is this a good/bad idea or is there any way to do this in a proper fashion? The 
idea of adding an actual target to a Find module seems wrong to me, but I’m not 
seeing any way of doing it otherwise.


For reference, I’ve added the full list of steps that one needs to do for 
linking Fortran code with MSMPI below:

  1.  Add the x86/x64 include folder in the MSMPI folder containing mpifptr.h 
(not a problem at all)
  2.  Link one of msmpifec/es/mc/ms.lib – The difference between these 
libraries is that the ‘c’/’s’ versions are for Fortran implementations using 
the ‘cdecl’ and ‘stdcall’ calling conventions, respectively. The ’m’ versions 
are for Fortran implementations putting the size of a CHARACTER* argument 
immediately after the pointer in a call’s parameter list, and the ‘e’ ones for 
those that put them at the end of the parameter list.

For virtually all Fortran compilers (including PGI and Intel), the msmpifec is 
the right library and the msmpifms one is only needed for Compaq Visual Fortran 
(Intel Fortran predecessor) or when changing the default in ifort, see also 
https://software.intel.com/en-us/node/528352 for MKL’s handling of the matter.

I believe jus using the ‘ec’ version in all cases is therefore okay for CMake, 
and I wouldn’t know of a good way to otherwise detect a correct value.

  1.  (Only if the Fortran 90 mpi module is to be used. Not necessary for the 
F77 interfaces) Compile mpi.f90, link the output and include the folder 
containing the emitted Fortran module.

- Chris
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib and libcurl

2017-04-21 Thread Michael Ellery
after find_package is invoked, several variables will be set. You use these to 
augment your compiler and linker information, e.g.:

target_include_directories(mytarget $ZLIB_INCLUDE_DIRS)
target_link_libraries(mytarget $ZLIB_LIBRARIES)

…and so on for other modules you find (OpenSSL, for example).  You can also 
choose to add the include paths “globally” using include_directories(), but 
it’s usually considered best practice to modify individual target properties 
where possible.

-Mike
..
> On Apr 21, 2017, at 10:58 AM, Alex Chen  wrote:
> 
> Although cmake uses the path I supplied for OpenSSL and Zlib, I do not see 
> the –I flag being used in compiling the code. (I set VERBOSE=1 to make to see 
> what it does.)
> When I run ‘ldd’ against the resulting .so files, reference to libssl.so or 
> libcrypto.so is empty, i.e ‘libssl.so => not found’, but libz.so still links 
> to /lib64/libz.so. (It seems to ignore the fact it does find a new path of 
> zlib.)
>  
> How to I set the linker flag, i.e. –L and –Wl,-rpath=$myLibPath ?
>  
> Alex Chen
>  
> From: CMake  on behalf of Alex Chen 
> 
> Date: Friday, April 21, 2017 at 10:28 AM
> To: CMake 
> Subject: Re: [CMake] Overriding the include path, library path of OpenSSL, 
> Zlib and libcurl
>  
> Thanks for the help.  I will try that. 
>  
> Alex Chen
>  
> From: Michael Ellery 
> Date: Thursday, April 20, 2017 at 8:13 PM
> To: Alex Chen 
> Cc: CMake 
> Subject: Re: [CMake] Overriding the include path, library path of OpenSSL, 
> Zlib and libcurl
>  
> It doesn’t look like that find module directly supports HINTS or PATHS, so 
> you can try setting CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH  
> (https://cmake.org/cmake/help/v3.7/variable/CMAKE_LIBRARY_PATH.html) before 
> calling the curl finder. I think you can add to those variables whatever 
> paths are appropriate to search for CURL on your systems.
>  
> -Mike
>  
>> On Apr 20, 2017, at 6:06 PM, Alex Chen  wrote:
>> The source code I want to compile on Linux uses ‘FindOpenSSL’, ‘FindZLIB’, 
>> and ‘FindCURL’ to resolve the paths of these libraries.
>> However, I have newer version of these libraries in different locations.  
>> How to I override these to use my paths?
>> I am able to use OPENSSL_ROOT_DIR, from FindOpenSSL module, and ZLIB_ROOT, 
>> from FindZLIB module, to override the paths.  
>> But I cannot find anything in FindCURL module to override the path of 
>> libcurl.
>>   
>>   
>> Alex Chen
>> -- 
>> Powered by www.kitware.com
>> Please keep messages on-topic and check the CMake FAQ at: 
>> http://www.cmake.org/Wiki/CMake_FAQ
>> Kitware offers various services to support the CMake community. For more 
>> information on each offering, please visit:
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>> Visit other Kitware open-source projects at 
>> http://www.kitware.com/opensource/opensource.html
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>  
>  
> -- Powered by www.kitware.com Please keep messages on-topic and check the 
> CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQKitware offers various 
> services to support the CMake community. For more information on each 
> offering, please visit: CMake Support: 
> http://cmake.org/cmake/help/support.html CMake Consulting: 
> http://cmake.org/cmake/help/consulting.html CMake Training Courses: 
> http://cmake.org/cmake/help/training.html Visit other Kitware open-source 
> projects at http://www.kitware.com/opensource/opensource.html Follow this 
> link to subscribe/unsubscribe: 
> http://public.kitware.com/mailman/listinfo/cmake
> -- 
> 
> Powered by www.kitware.com
> 
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
> 
> Kitware offers various services to support the CMake community. For more 
> information on each offering, please visit:
> 
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
> 
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: 

Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib and libcurl

2017-04-21 Thread Alex Chen
Although cmake uses the path I supplied for OpenSSL and Zlib, I do not see the 
–I flag being used in compiling the code. (I set VERBOSE=1 to make to see what 
it does.)

When I run ‘ldd’ against the resulting .so files, reference to libssl.so or 
libcrypto.so is empty, i.e ‘libssl.so => not found’, but libz.so still links to 
/lib64/libz.so. (It seems to ignore the fact it does find a new path of zlib.)

 

How to I set the linker flag, i.e. –L and –Wl,-rpath=$myLibPath ?

 

Alex Chen

 

From: CMake  on behalf of Alex Chen 

Date: Friday, April 21, 2017 at 10:28 AM
To: CMake 
Subject: Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib 
and libcurl

 

Thanks for the help.  I will try that. 

 

Alex Chen

 

From: Michael Ellery 
Date: Thursday, April 20, 2017 at 8:13 PM
To: Alex Chen 
Cc: CMake 
Subject: Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib 
and libcurl

 

It doesn’t look like that find module directly supports HINTS or PATHS, so you 
can try setting CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH  
(https://cmake.org/cmake/help/v3.7/variable/CMAKE_LIBRARY_PATH.html) before 
calling the curl finder. I think you can add to those variables whatever paths 
are appropriate to search for CURL on your systems.

 

-Mike

 

On Apr 20, 2017, at 6:06 PM, Alex Chen  wrote:

The source code I want to compile on Linux uses ‘FindOpenSSL’, ‘FindZLIB’, and 
‘FindCURL’ to resolve the paths of these libraries.

However, I have newer version of these libraries in different locations.  How 
to I override these to use my paths?

I am able to use OPENSSL_ROOT_DIR, from FindOpenSSL module, and ZLIB_ROOT, from 
FindZLIB module, to override the paths.  

But I cannot find anything in FindCURL module to override the path of libcurl.

  

  

Alex Chen

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html

CMake Consulting: http://cmake.org/cmake/help/consulting.html

CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:

http://public.kitware.com/mailman/listinfo/cmake

 

 

-- Powered by www.kitware.com Please keep messages on-topic and check the CMake 
FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to 
support the CMake community. For more information on each offering, please 
visit: CMake Support: http://cmake.org/cmake/help/support.html CMake 
Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: 
http://cmake.org/cmake/help/training.html Visit other Kitware open-source 
projects at http://www.kitware.com/opensource/opensource.html Follow this link 
to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake 

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

[CMake] add_custom_command on test input files

2017-04-21 Thread Olaf Peter

Hello,

for my project I have a sub dir with test case which feeds the tests 
'*.input' and allows to check to output '*.expected'. For documentation 
purpose, I have a python script which generates a TestMatrix.rst file. 
Using CMake I have:


dir structure:

$root/{src,include,utils,test}

test/CMakeLists.txt

project(test LANGUAGES CXX)
...

set(TEST_MATRIX_GENERATOR 
${CMAKE_CURRENT_SOURCE_DIR}/../utils/gen_test_matrix.py)
set(TEST_MATRIX_GENERATOR_TARGET 
${CMAKE_CURRENT_SOURCE_DIR}/test_matrix.rst)

file(GLOB_RECURSE TEST_CASE_FILES
LIST_DIRECTORIES true
"${CMAKE_CURRENT_SOURCE_DIR}/test_case/" "*.expected"
)
add_custom_command(
TARGET  ${PROJECT_NAME} POST_BUILD
COMMAND ${TEST_MATRIX_GENERATOR} ${CMAKE_CURRENT_SOURCE_DIR} > 
${TEST_MATRIX_GENERATOR_TARGET}

DEPENDS ${TEST_MATRIX_GENERATOR} ${TEST_CASE_FILES}
BYPRODUCT ${TEST_MATRIX_GENERATOR_TARGET}
COMMENT "Generate TestCase Matrix (RST)"
)

set_source_files_properties(
${TEST_MATRIX_GENERATOR_TARGET}
PROPERTIES GENERATED TRUE
)

but I assume, this isn't clever since it doesn't depend on the test_case 
dirs/files as I've seen so far. Changes in these file doesn't trigger 
the generation process, removing the ${TEST_MATRIX_GENERATOR_TARGET} 
doesn't recreate it. How to get it working/generating on each changes 
(additions) of the files/dirs in test_case?



Thanks,

Olaf

--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib and libcurl

2017-04-21 Thread Alex Chen
Thanks for the help.  I will try that. 

 

Alex Chen

 

From: Michael Ellery 
Date: Thursday, April 20, 2017 at 8:13 PM
To: Alex Chen 
Cc: CMake 
Subject: Re: [CMake] Overriding the include path, library path of OpenSSL, Zlib 
and libcurl

 

It doesn’t look like that find module directly supports HINTS or PATHS, so you 
can try setting CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH  
(https://cmake.org/cmake/help/v3.7/variable/CMAKE_LIBRARY_PATH.html) before 
calling the curl finder. I think you can add to those variables whatever paths 
are appropriate to search for CURL on your systems.

 

-Mike

 

On Apr 20, 2017, at 6:06 PM, Alex Chen  wrote:

The source code I want to compile on Linux uses ‘FindOpenSSL’, ‘FindZLIB’, and 
‘FindCURL’ to resolve the paths of these libraries.

However, I have newer version of these libraries in different locations.  How 
to I override these to use my paths?

I am able to use OPENSSL_ROOT_DIR, from FindOpenSSL module, and ZLIB_ROOT, from 
FindZLIB module, to override the paths.  

But I cannot find anything in FindCURL module to override the path of libcurl.

  

  

Alex Chen

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html

CMake Consulting: http://cmake.org/cmake/help/consulting.html

CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:

http://public.kitware.com/mailman/listinfo/cmake

 

 

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

[Cmake-commits] CMake branch, master, updated. v3.8.0-856-g294cf94

2017-04-21 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  294cf948dc37799e1980685afbf1fa585ad5b0fb (commit)
   via  08c99c92532aaa54cf716ce07bc241ae1d2e997b (commit)
   via  59224c39895dac08f73bd4e94df026b6cc1ad793 (commit)
  from  1d8f0f918178c50e8ef66b01546f34cd2a126a6d (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=294cf948dc37799e1980685afbf1fa585ad5b0fb
commit 294cf948dc37799e1980685afbf1fa585ad5b0fb
Merge: 1d8f0f9 08c99c9
Author: Brad King 
AuthorDate: Fri Apr 21 10:19:40 2017 -0400
Commit: Brad King 
CommitDate: Fri Apr 21 10:19:40 2017 -0400

Merge branch 'release'


---

Summary of changes:


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


[Cmake-commits] CMake branch, release, updated. v3.8.0-8-g08c99c9

2017-04-21 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, release has been updated
   via  08c99c92532aaa54cf716ce07bc241ae1d2e997b (commit)
   via  8b3693e466a99a1408d700af56e74a3a85cca351 (commit)
   via  59224c39895dac08f73bd4e94df026b6cc1ad793 (commit)
   via  fd7e8f339a766b1bd4b4eca3fc96e4aac8cfb218 (commit)
  from  b99fbf3b16449a6027e90ed7f01f240761157332 (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 -
---

Summary of changes:
 Modules/CPackRPM.cmake |   13 +
 Source/cmVisualStudio10TargetGenerator.cxx |9 ++---
 2 files changed, 15 insertions(+), 7 deletions(-)


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


Re: [cmake-developers] Proposal to disable link depends inference.

2017-04-21 Thread Brad King
On 04/20/2017 05:16 PM, Matthew Hanna (BLOOMBERG/ 731 LEX) wrote:
> avoid adding the external to external edges
> https://gitlab.kitware.com/mhanna21/cmake/commit/2c7d2e33b6218e58f88957fb793ce0a781ec76aa

That sounds good.  From the patch:

> +  if (this->EntryList[depender_index].Target ||
> +  this->EntryList[(int)*edge].Target) {
> +edges.push_back(*edge);
> +  }

I think only the second condition is needed.  To check, try adding:

  assert(!this->EntryList[depender_index].Target);

there.  I don't think internal targets can get an InferredDependSets
entry, according to logic in `cmComputeLinkDepends::AddLinkEntry`.

-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [CMake] Need code review of my android toolchain file

2017-04-21 Thread Volker Enderlein

Hi Robert,

I would use

file(TO_NATIVE_PATH "${_dir}" _dir) and file(TO_CMAKE_PATH "${_dir}" _dir)

hope that helps,

Cheers, Volker

Am 21/04/2017 um 15:45 schrieb Robert Dailey:

I guess the only feedback I really would like is if the path
normalization I'm doing for CMAKE_ANDROID_NDK is necessary (converting
backslashes to forward slashes). Will CMake translate the backslashes
properly?

Sometimes I use CMAKE_ANDROID_NDK in custom commands and custom
targets to build absolute paths to items in the NDK.

On Tue, Apr 18, 2017 at 9:45 PM, Robert Dailey  wrote:

I'm trying to follow best practices where I can, but the trouble is
I'm not aware of any. So I want to post my android.toolchain.cmake
file here, with the hope that I can get some pointers.

The main thing I want to understand is when it is appropriate to
require cache variables be set via command line argument (-D) or via
the toolchain file itself. Here is what is in my toolchain right now:


set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 15) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE_ANDROID_STL_TYPE c++_static)
set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang)

string(REGEX REPLACE "" "/" ndk_path "$ENV{ANDROID_NDK}")
set(CMAKE_ANDROID_NDK ${ndk_path})

unset(ndk_path)



My idea here is to provide a different toolchain file per specific NDK
configuration. For example, I need to build my native libraries for
both x86 and ARM platforms, so I would use 2 CMAKE_BINARY_DIR, each
configured using a different toolchain:

x86 would use "android.toolchain.x86.cmake"
ARM would use "android.toolchain.arm.cmake"

Something like that. Is this best practice? What other advice would you offer?

Thanks in advance.



--
Volker Enderlein Institut für Mechatronik e.V.
Phone: +49 (0)371 531 19651  Reichenhainer Strasse 88
Fax:   +49 (0)371 531 19699  D-09126 Chemnitz
Mail: volker.enderl...@ifm-chemnitz.de   www.ifm-chemnitz.de

Vorstand:
Prof. Dr.-Ing. Welf-Guntram Drossel (Vorsitz)
Dipl.-Ing. Heiko Freudenberg (Geschäftsführer)

Amtsgericht Chemnitz VR 713
Ust.-IdNr. DE 159285348

--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [CMake] fftw library in cmake

2017-04-21 Thread aishwarya selvaraj
Thanks Nils for the input .

On Fri, Apr 21, 2017 at 7:19 PM, Nils Gladitz  wrote:

> On 04/21/2017 03:40 PM, aishwarya selvaraj wrote:
>
> add_library(fftw STATIC IMPORTED)
>
> [...]
>
> TARGET_LINK_LIBRARIES(prose fftw  )
>
> [...]
>
> make[2]: *** No rule to make target `fftw-NOTFOUND', needed by `prose'.
> Stop.
>
>
> You are creating an IMPORTED target "fftw" but you aren't populating its
> IMPORTED_LOCATION [1] (or IMPORTED_LOCATION_ [2]) target property.
> Without it CMake does not know what on disk library file to link to.
>
> You can set target properties with set_property() or
> set_target_properties().
>
> Nils
>
> [1] https://cmake.org/cmake/help/latest/prop_tgt/IMPORTED_LOCATION.html
> [2] https://cmake.org/cmake/help/latest/prop_tgt/IMPORTED_
> LOCATION_CONFIG.html
>



-- 
Regards,
Aishwarya Selvaraj
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [CMake] fftw library in cmake

2017-04-21 Thread Nils Gladitz

On 04/21/2017 03:40 PM, aishwarya selvaraj wrote:


add_library(fftw STATIC IMPORTED)

[...]

TARGET_LINK_LIBRARIES(prose fftw  )

[...]
make[2]: *** No rule to make target `fftw-NOTFOUND', needed by 
`prose'. Stop.


You are creating an IMPORTED target "fftw" but you aren't populating its 
IMPORTED_LOCATION [1] (or IMPORTED_LOCATION_ [2]) target property.

Without it CMake does not know what on disk library file to link to.

You can set target properties with set_property() or 
set_target_properties().


Nils

[1] https://cmake.org/cmake/help/latest/prop_tgt/IMPORTED_LOCATION.html
[2] 
https://cmake.org/cmake/help/latest/prop_tgt/IMPORTED_LOCATION_CONFIG.html
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [CMake] Need code review of my android toolchain file

2017-04-21 Thread Robert Dailey
I guess the only feedback I really would like is if the path
normalization I'm doing for CMAKE_ANDROID_NDK is necessary (converting
backslashes to forward slashes). Will CMake translate the backslashes
properly?

Sometimes I use CMAKE_ANDROID_NDK in custom commands and custom
targets to build absolute paths to items in the NDK.

On Tue, Apr 18, 2017 at 9:45 PM, Robert Dailey  wrote:
> I'm trying to follow best practices where I can, but the trouble is
> I'm not aware of any. So I want to post my android.toolchain.cmake
> file here, with the hope that I can get some pointers.
>
> The main thing I want to understand is when it is appropriate to
> require cache variables be set via command line argument (-D) or via
> the toolchain file itself. Here is what is in my toolchain right now:
>
>
> set(CMAKE_SYSTEM_NAME Android)
> set(CMAKE_SYSTEM_VERSION 15) # API level
> set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
> set(CMAKE_ANDROID_STL_TYPE c++_static)
> set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang)
>
> string(REGEX REPLACE "" "/" ndk_path "$ENV{ANDROID_NDK}")
> set(CMAKE_ANDROID_NDK ${ndk_path})
>
> unset(ndk_path)
>
>
>
> My idea here is to provide a different toolchain file per specific NDK
> configuration. For example, I need to build my native libraries for
> both x86 and ARM platforms, so I would use 2 CMAKE_BINARY_DIR, each
> configured using a different toolchain:
>
> x86 would use "android.toolchain.x86.cmake"
> ARM would use "android.toolchain.arm.cmake"
>
> Something like that. Is this best practice? What other advice would you offer?
>
> Thanks in advance.
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[CMake] fftw library in cmake

2017-04-21 Thread aishwarya selvaraj
Hi all ,
Below is my CMakelist.txt. I'm getting an error as mentioned below .
I'm not to rectify it .
Could anyone help me out here please ?

​CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(PROSE)
​
ExternalProject_Add(project_fftw
  #GIT_REPOSITORY  https://github.com/FFTW/fftw3
  URL "http://www.fftw.org/fftw-3.3.2.tar.gz;
  PREFIX ${CMAKE_CURRENT_BINARY_DIR}/fftw
  CONFIGURE_COMMAND ""
#--Build step-
  BUILD_COMMAND ""
#--Install step---
  UPDATE_COMMAND "" # Skip annoying updates for every build
  INSTALL_COMMAND ""
 )

​include_directories(${CMAKE_CURRENT_BINARY_DIR}/fftw/src/project_fftw/api)
ExternalProject_Get_Property(project_fftw install_dir)
add_library(fftw STATIC IMPORTED)
add_dependencies(fftw project_fftw)

​ADD_EXECUTABLE(prose ${PROJECT_SOURCE_DIR}/src/prose.cpp)
TARGET_LINK_LIBRARIES(prose fftw  )

ERROR:
Scanning dependencies of target prose
[100%] Building CXX object CMakeFiles/prose.dir/src/prose.cpp.o
make[2]: *** No rule to make target `fftw-NOTFOUND', needed by `prose'.
Stop.
make[1]: *** [CMakeFiles/prose.dir/all] Error 2
make: *** [all] Error 2

Where Am I going wrong ?



-- 
Regards,
Aishwarya Selvaraj
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Support for unified headers in Android NDK

2017-04-21 Thread Robert Dailey
Thanks Florent!

Let me know if you need any help, especially testing. I have a real
world use case for this at $DAYJOB.

On Thu, Apr 20, 2017 at 4:14 PM, Florent Castelli
 wrote:
> I just came back from some holidays now, I'll try to update the MR with the
> latest changes soon next week!
>
> /Florent
>
> On Apr 20, 2017 10:10 PM, "Robert Dailey"  wrote:
>>
>> I may pick this up, because right now it's impossible to use libc++
>> (LLVM) with an API less than 21 since that's when clang was
>> introduced. libc is missing too many symbols that are required by
>> libc++ below API 21.
>>
>> On Thu, Apr 20, 2017 at 2:52 PM, Ben Boeckel 
>> wrote:
>> > On Thu, Apr 20, 2017 at 14:31:58 -0500, Robert Dailey wrote:
>> >> Google is supporting unified headers for sysroot as of NDK r14:
>> >>
>> >>
>> >> https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md
>> >>
>> >> Is there a plan to add support for this natively into CMake?
>> >
>> > There is a merge request that is in-progress, but was closed due to
>> > inactivity (lack of time on Florent's side it seems). I'd recommend
>> > coordinating with Florent to resurrect the MR.
>> >
>> > https://gitlab.kitware.com/cmake/cmake/merge_requests/492
>> >
>> > --Ben
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake-developers
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[Cmake-commits] CMake branch, master, updated. v3.8.0-853-g1d8f0f9

2017-04-21 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  1d8f0f918178c50e8ef66b01546f34cd2a126a6d (commit)
   via  0ad8e4ea658ed992841c81dca2c5eb31abc40983 (commit)
   via  ecf94cbc51629eca98ea602e03f5a3e2e6ff36ce (commit)
   via  744f80976553503ba9b480996a1b290596b74bd4 (commit)
   via  8b3693e466a99a1408d700af56e74a3a85cca351 (commit)
   via  93219c40031bbac73c160500f63134e71ff4f455 (commit)
   via  22729eae17d316e709de555d2692c9c8c33918bd (commit)
   via  d88a511da345d25cbb905add9ceb258ecc9cf2ba (commit)
   via  a139b81a52d6bfb33ea660dff2f89fdb8a2e8ace (commit)
   via  23691d789e198c228e5c2bb7016b3b1194fd0635 (commit)
   via  e832c32ca821b04c8bfca80c5c07adca470ef000 (commit)
   via  40814a7ce9859d6ad9e6cda3d541cf302c75b164 (commit)
  from  59f07efd592330be3018fcaa253498475055a4af (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d8f0f918178c50e8ef66b01546f34cd2a126a6d
commit 1d8f0f918178c50e8ef66b01546f34cd2a126a6d
Merge: 0ad8e4e 23691d7
Author: Brad King 
AuthorDate: Fri Apr 21 12:57:55 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:57:59 2017 -0400

Merge topic 'enable_ptx_compilation'

23691d78 CUDA: Allow sources to be compiled to .ptx files

Acked-by: Kitware Robot 
Merge-request: !725


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ad8e4ea658ed992841c81dca2c5eb31abc40983
commit 0ad8e4ea658ed992841c81dca2c5eb31abc40983
Merge: ecf94cb 8b3693e
Author: Brad King 
AuthorDate: Fri Apr 21 12:56:29 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:56:33 2017 -0400

Merge topic 'cpack-rpm-buildrequires-docs'

8b3693e4 CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs

Acked-by: Kitware Robot 
Merge-request: !730


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ecf94cbc51629eca98ea602e03f5a3e2e6ff36ce
commit ecf94cbc51629eca98ea602e03f5a3e2e6ff36ce
Merge: 744f809 93219c4
Author: Brad King 
AuthorDate: Fri Apr 21 12:56:03 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:56:08 2017 -0400

Merge topic 'kwsys-import-cleanup'

93219c40 Merge branch 'upstream-KWSys' into kwsys-import-cleanup
22729eae KWSys 2017-04-20 (8785f84f)
d88a511d kwsys: match upstream changes
a139b81a update-kwsys: apply changes made in CMake to the import
e832c32c kwsys: remove extra attribute

Acked-by: Kitware Robot 
Reviewed-by: Brad King 
Merge-request: !728


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=744f80976553503ba9b480996a1b290596b74bd4
commit 744f80976553503ba9b480996a1b290596b74bd4
Merge: 59f07ef 40814a7
Author: Brad King 
AuthorDate: Fri Apr 21 12:55:27 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:55:31 2017 -0400

Merge topic 'GNUInstallDirs-add-RUNSTATEDIR'

40814a7c GNUInstallDirs: Add RUNSTATEDIR variable

Acked-by: Kitware Robot 
Merge-request: !706


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b3693e466a99a1408d700af56e74a3a85cca351
commit 8b3693e466a99a1408d700af56e74a3a85cca351
Author: Domen Vrankar 
AuthorDate: Thu Apr 20 21:31:01 2017 +0200
Commit: Brad King 
CommitDate: Thu Apr 20 16:19:20 2017 -0400

CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs

Missing documentation for an already existing
CPackRPM source rpm packages feature.

Fixes #16814

diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index e905bc6..866c61e 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -887,6 +887,19 @@
 #
 #  * Mandatory : YES
 #  * Default   : "/"
+#
+# .. VARIABLE:: CPACK_RPM_BUILDREQUIRES
+#
+#  List of source rpm build dependencies.
+#
+#  * Mandatory : NO
+#  * Default   : -
+#
+#  May be used to set source RPM build dependencies (BuildRequires). Note that
+#  you must enclose the complete build requirements string between quotes, for
+#  example::
+#
+#   set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
 
 # Author: Eric Noulard with the help of Alexander Neundorf.
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=93219c40031bbac73c160500f63134e71ff4f455
commit 93219c40031bbac73c160500f63134e71ff4f455
Merge: d88a511 22729ea
Author: Ben Boeckel 

[Cmake-commits] CMake branch, master, updated. v3.8.0-841-g59f07ef

2017-04-21 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  59f07efd592330be3018fcaa253498475055a4af (commit)
   via  5b241d0ae86569399275e1fc57b403cfb13f7c35 (commit)
   via  718daeb4e6b93527ea8fa0b87091008737b0a897 (commit)
   via  b5a5b227f9a3d88e1c493427e3983aee28c284eb (commit)
   via  bcf066435ca30a685002bcfbc6677eaaa74a6190 (commit)
   via  fd7e8f339a766b1bd4b4eca3fc96e4aac8cfb218 (commit)
   via  cf320f7cd74eeb87437f737e6e977f2231e109a1 (commit)
   via  e8b77084dfaaa211913acaec871e8f9fc0cedd88 (commit)
   via  ffdde4a9aeb7a93f1f608d92e15540a7ca43a1e6 (commit)
   via  bbb5c3efe2a17d046506b7c27008c77ea244f0bc (commit)
  from  2b7aecba1663f86148b8c2f1033cfcbd87453ad3 (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59f07efd592330be3018fcaa253498475055a4af
commit 59f07efd592330be3018fcaa253498475055a4af
Merge: 5b241d0 fd7e8f3
Author: Brad King 
AuthorDate: Fri Apr 21 12:54:34 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:54:38 2017 -0400

Merge topic 'fix-vs2017-guid-braces'

fd7e8f33 VS: Fix project reference inspection in VS IDE

Acked-by: Kitware Robot 
Merge-request: !727


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b241d0ae86569399275e1fc57b403cfb13f7c35
commit 5b241d0ae86569399275e1fc57b403cfb13f7c35
Merge: 718daeb cf320f7
Author: Brad King 
AuthorDate: Fri Apr 21 12:53:11 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:53:16 2017 -0400

Merge topic '16760-refactor-get-mac-content-directory'

cf320f7c Replace boolean `implib` parameters with enum

Acked-by: Kitware Robot 
Merge-request: !662


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=718daeb4e6b93527ea8fa0b87091008737b0a897
commit 718daeb4e6b93527ea8fa0b87091008737b0a897
Merge: b5a5b22 bbb5c3e
Author: Brad King 
AuthorDate: Fri Apr 21 12:51:42 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:51:49 2017 -0400

Merge topic 'unified-commandline-length'

bbb5c3ef Ninja,Makefile: Unify command line limit logic

Acked-by: Kitware Robot 
Merge-request: !705


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b5a5b227f9a3d88e1c493427e3983aee28c284eb
commit b5a5b227f9a3d88e1c493427e3983aee28c284eb
Merge: bcf0664 e8b7708
Author: Brad King 
AuthorDate: Fri Apr 21 12:51:03 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:51:21 2017 -0400

Merge topic 'FindwxWidgets-verify-wx-config'

e8b77084 FindwxWidgets: Verify existence of libraries reported by wx-config

Acked-by: Kitware Robot 
Merge-request: !704


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bcf066435ca30a685002bcfbc6677eaaa74a6190
commit bcf066435ca30a685002bcfbc6677eaaa74a6190
Merge: 2b7aecb ffdde4a
Author: Brad King 
AuthorDate: Fri Apr 21 12:50:17 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:50:35 2017 -0400

Merge topic '16795-xcode-system-header-search-paths'

ffdde4a9 Xcode: Use SYSTEM_HEADER_SEARCH_PATHS attribute for system includes

Acked-by: Kitware Robot 
Merge-request: !726


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fd7e8f339a766b1bd4b4eca3fc96e4aac8cfb218
commit fd7e8f339a766b1bd4b4eca3fc96e4aac8cfb218
Author: Richard Walters 
AuthorDate: Wed Apr 19 14:55:56 2017 -0700
Commit: Brad King 
CommitDate: Thu Apr 20 10:30:21 2017 -0400

VS: Fix project reference inspection in VS IDE

The braces around project reference GUIDs for vcxproj projects were
apparently optional in the past, but Visual Studio 2017 is more strict,
displaying a warning, and not displaying project reference properties
unless the braces are present.

Fixes: #16820

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index 902fe03..cb6afe1 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -3194,13 +3194,8 @@ void 
cmVisualStudio10TargetGenerator::WriteProjectReferences()
 this->ConvertToWindowsSlash(path);
 (*this->BuildFileStream) << cmVS10EscapeXML(path) << "\">\n";
 this->WriteString("", 3);
-if (csproj 

[Cmake-commits] CMake branch, master, updated. v3.8.0-831-g2b7aecb

2017-04-21 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  2b7aecba1663f86148b8c2f1033cfcbd87453ad3 (commit)
   via  0903531964cffdd1cbf2a9c82ac6bb9a522f (commit)
  from  1b0c7bca5ede6eb3965cb23471c6530a08d0d2d5 (commit)

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

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b7aecba1663f86148b8c2f1033cfcbd87453ad3
commit 2b7aecba1663f86148b8c2f1033cfcbd87453ad3
Merge: 1b0c7bc 0903531
Author: Brad King 
AuthorDate: Fri Apr 21 12:42:38 2017 +
Commit: Kitware Robot 
CommitDate: Fri Apr 21 08:43:43 2017 -0400

Merge topic 'autogen-fixes'

09035319 Autogen: Pass explicit predefines header to moc if possible

Acked-by: Kitware Robot 
Merge-request: !671


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0903531964cffdd1cbf2a9c82ac6bb9a522f
commit 0903531964cffdd1cbf2a9c82ac6bb9a522f
Author: Aleix Pol 
AuthorDate: Thu Apr 6 04:14:35 2017 +0200
Commit: Brad King 
CommitDate: Thu Apr 20 08:59:07 2017 -0400

Autogen: Pass explicit predefines header to moc if possible

Qt is relying on whoever calls moc to include a file with the predefined
values that will be used by the compiler, otherwise moc takes wrong
paths and weird things happen.
Instead, generate an include file and feed it to all mocs to make sure
it's generating correct code.

Co-Author: Sebastian Holtermann 
Fixes: #16640

diff --git a/Modules/AutogenInfo.cmake.in b/Modules/AutogenInfo.cmake.in
index fcecb6c..5e945bc 100644
--- a/Modules/AutogenInfo.cmake.in
+++ b/Modules/AutogenInfo.cmake.in
@@ -21,6 +21,7 @@ set(AM_MOC_INCLUDES @_moc_incs@)
 set(AM_MOC_OPTIONS @_moc_options@)
 set(AM_MOC_RELAXED_MODE @_moc_relaxed_mode@)
 set(AM_MOC_DEPEND_FILTERS @_moc_depend_filters@)
+set(AM_MOC_PREDEFS_CMD @_moc_predefs_cmd@)
 # UIC settings
 set(AM_UIC_SKIP @_uic_skip@)
 set(AM_UIC_TARGET_OPTIONS @_uic_target_options@)
diff --git a/Modules/Compiler/Intel.cmake b/Modules/Compiler/Intel.cmake
index 02968b4..06d01f1 100644
--- a/Modules/Compiler/Intel.cmake
+++ b/Modules/Compiler/Intel.cmake
@@ -22,5 +22,7 @@ else()
 string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os")
 string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3")
 string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
+
+set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" 
"-QdM" "-P" "-Za" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
   endmacro()
 endif()
diff --git a/Modules/Platform/Linux-GNU.cmake b/Modules/Platform/Linux-GNU.cmake
index 6878254..ce30a26 100644
--- a/Modules/Platform/Linux-GNU.cmake
+++ b/Modules/Platform/Linux-GNU.cmake
@@ -12,4 +12,5 @@ macro(__linux_compiler_gnu lang)
   # We pass this for historical reasons.  Projects may have
   # executables that use dlopen but do not set ENABLE_EXPORTS.
   set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
+  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" 
"-dM" "-E" "-c" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
 endmacro()
diff --git a/Source/cmQtAutoGeneratorInitializer.cxx 
b/Source/cmQtAutoGeneratorInitializer.cxx
index d69794c..c7e02e6 100644
--- a/Source/cmQtAutoGeneratorInitializer.cxx
+++ b/Source/cmQtAutoGeneratorInitializer.cxx
@@ -96,6 +96,41 @@ static std::string GetQtMajorVersion(cmGeneratorTarget 
const* target)
   return qtMajorVersion;
 }
 
+static std::string GetQtMinorVersion(cmGeneratorTarget const* target,
+ const std::string& qtMajorVersion)
+{
+  cmMakefile* makefile = target->Target->GetMakefile();
+  std::string qtMinorVersion;
+  if (qtMajorVersion == "5") {
+qtMinorVersion = makefile->GetSafeDefinition("Qt5Core_VERSION_MINOR");
+  }
+  if (qtMinorVersion.empty()) {
+qtMinorVersion = makefile->GetSafeDefinition("QT_VERSION_MINOR");
+  }
+
+  const char* targetQtVersion =
+target->GetLinkInterfaceDependentStringProperty("QT_MINOR_VERSION", "");
+  if (targetQtVersion != CM_NULLPTR) {
+qtMinorVersion = targetQtVersion;
+  }
+  return qtMinorVersion;
+}
+
+static bool QtVersionGreaterOrEqual(const std::string& major,
+const std::string& minor,
+unsigned long requestMajor,
+unsigned long requestMinor)
+{
+  unsigned long majorUL(0);
+  unsigned long minorUL(0);
+  if (cmSystemTools::StringToULong(major.c_str(), ) &&
+  cmSystemTools::StringToULong(minor.c_str(), )) 

Re: [CMake] Prevent libraries from linking twice during LLVM build

2017-04-21 Thread Sanjay Srivallabh Singapuram
Thanks a lot for the context Michael !

On Thu, 20 Apr 2017 at 22:03 Michael Kruse 
wrote:

>  The cmake mailing list may not have sufficient context, so let me add
> some details.
>
> Polly is an extension library for LLVM. Both can be configured in
> multiple configurations:
>
> LLVM can be
> - A bunch of libLLVM*.a files
> - A bunch of libLLVM*.so files
> - A single libLLVM.so
>
> Polly can be
> - LLVMPolly.so to be loaded dynamically into the LLVM host application
> using an LD_PRELOAD-like mechanism (e.g. clang or opt)
> - Linked directly into the LLVM host application (target_link_library)
>   - as dynamic library libPolly.so
>   - as static library libPolly.a
>
> and it should work with all combinations of these.
>
> The issue is not all host applications always have all LLVM components
> linked into it. In the example below, there is the Julia compiler
> which does not have the the NVPTX backend in it, but it is required by
> (some configuration of) Polly.
>
> Hence if we have an LLVMPolly.so we don't know whether the host
> program has the LLVMNVPTX* libraries in it. If we do not depend on
> these libraries, the linker will complain about missing symbols if the
> host doesn't have these either. If we do depend on these libraries,
> and the host has them as well, we risk having the same library
> multiple times in the address space (e.g. LLVMNVPTX* is statically
> linked into libLLVM.so, but LLVMPolly.so contains them as well).
>
> This is not really a cmake-specific question, and the solution I
> proposed to Sanjay to require the host application to have all
> required components already linked into it. We can do this for clang,
> opt (and bugpoint), but the Julia compiler guys do not like to depend
> of the NVPTX backend, which they usually do not use.
>
> Michael
>
>
>
> 2017-04-20 17:56 GMT+02:00 Sanjay Srivallabh Singapuram
> :
> > Hello,
> >
> > I'm proposing a patch to the Polly/LLVM project that involves linking
> > libPolly.a or libPolly.so to NVPTX back-end libraries. I'm currently
> using,
> > target_link_libraries(Polly
> >   LLVMNVPTXCodeGen
> >   LLVMNVPTXInfo
> >   LLVMNVPTXDesc
> >   LLVMNVPTXAsmPrinter
> >   )
> >
> > The opt binary links to both Polly and NVPTX back-end libraries,
> therefore
> > including the back-end libraries twice which causes problems. Can linking
> > the libraries as an INTERFACE to Polly solve the problem ?
> >
> > target_link_libraries(Polly INTERFACE
> >   LLVMNVPTXCodeGen
> >   LLVMNVPTXInfo
> >   LLVMNVPTXDesc
> >   LLVMNVPTXAsmPrinter
> >   )
> >
> > Thank You,
> > Sanjay
>
>
>
> --
> Tardyzentrismus verboten!
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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