[Cmake-commits] CMake branch, master, updated. v3.14.0-434-g51f3a76

2019-03-19 Thread Kitware Robot via Cmake-commits
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  51f3a76ab23fda217e61f0d2a53272836897717f (commit)
  from  8c0b7aa17dcbe24b38453843544bc61a25e1a851 (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=51f3a76ab23fda217e61f0d2a53272836897717f
commit 51f3a76ab23fda217e61f0d2a53272836897717f
Author: Kitware Robot 
AuthorDate: Wed Mar 20 00:01:06 2019 -0400
Commit: Kitware Robot 
CommitDate: Wed Mar 20 00:01:06 2019 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 5af288f..5daf9f4 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 14)
-set(CMake_VERSION_PATCH 20190319)
+set(CMake_VERSION_PATCH 20190320)
 #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
https://cmake.org/mailman/listinfo/cmake-commits


Re: [CMake] PIE-pie_off and CMP0083-cmp0083_new fail for openSuse Leap 15.0

2019-03-19 Thread Alan W. Irwin

On 2019-03-20 00:01+0100 Christoph Grüninger wrote:


Dear CMake,
while trying to update the RPMs for openSuse with the Open Build
service, I stumbled upon a strange problem. Following the same spec file
for all target plattforms, CMake is first built and then the tests are
executed. The tests pass for different types of openSuse versions
(Factory, Tumbleweed, Leap 42.3, SLE 12 SP3) but fail for a single
version, openSuse Leap 15.0. I attached the output of the failing tests.
The failure is related to CMP0083 and PIE. But I cannot spot any
difference causing different test results.
Could someone advice how to track down the reason for my issue?


Hi Christoph:

Just in case the trouble is simply due to a real CMake bug for some
old version of CMake, what exact versions of CMake are you testing on
each of your various "good" platforms compared to your "bad" platform,
openSuse Leap 15.0?

Alan
__
Alan W. Irwin

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

Linux-powered Science
__
--

Powered by www.kitware.com

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


[CMake] PIE-pie_off and CMP0083-cmp0083_new fail for openSuse Leap 15.0

2019-03-19 Thread Christoph Grüninger
Dear CMake,
while trying to update the RPMs for openSuse with the Open Build
service, I stumbled upon a strange problem. Following the same spec file
for all target plattforms, CMake is first built and then the tests are
executed. The tests pass for different types of openSuse versions
(Factory, Tumbleweed, Leap 42.3, SLE 12 SP3) but fail for a single
version, openSuse Leap 15.0. I attached the output of the failing tests.
The failure is related to CMP0083 and PIE. But I cannot spot any
difference causing different test results.
Could someone advice how to track down the reason for my issue?

Bye,
Christoph



[  683s] 356/495 Test #363: RunCMake.add_executable
..   Passed3.39 sec
[  683s] Start 369: RunCMake.cmake_minimum_required
[  683s] 357/495 Test #354: RunCMake.PositionIndependentCode
.***Failed   25.89 sec
[  683s] -- Conflict1 - PASSED
[  683s] -- Conflict2 - PASSED
[  683s] -- Conflict3 - PASSED
[  683s] -- Conflict4 - PASSED
[  683s] -- Conflict5 - PASSED
[  683s] -- Conflict6 - PASSED
[  683s] -- Debug - PASSED
[  683s] -- Genex1 - PASSED
[  683s] -- Genex2 - PASSED
[  683s] -- CheckPIESupported - PASSED
[  683s] -- PIE - PASSED
[  683s] -- PIE-pie_on - PASSED
[  683s] CMake Error at RunCMake.cmake:168 (message):
[  683s]   PIE-pie_off - FAILED:
[  683s]
[  683s]   Executable is NOT 'no PIE' (PIE).
[  683s]
[  683s]   Command was:
[  683s]
[  683s]command>
"/home/abuild/rpmbuild/BUILD/cmake-3.14.0/bin/cmake" "--build" "."
"--config" "Release" "--target" "pie_off"
[  683s]
[  683s]   Actual stdout:
[  683s]
[  683s]actual-out> Scanning dependencies of target pie_off
[  683s]actual-out> [ 50%] Building CXX object
CMakeFiles/pie_off.dir/main.cpp.o
[  683s]actual-out> [100%] Linking CXX executable pie_off
[  683s]actual-out> [100%] Built target pie_off
[  683s]
[  683s]   Actual stderr:
[  683s]
[  683s]actual-err>
[  683s]
[  683s] Call Stack (most recent call first):
[  683s]   RunCMake.cmake:182 (run_cmake)
[  683s]   PositionIndependentCode/RunCMakeTest.cmake:35 (run_cmake_command)
[  683s]   PositionIndependentCode/RunCMakeTest.cmake:52 (run_cmake_target)
[  683s]
[  683s]
[  683s] -- CMP0083 - PASSED
[  683s] -- CMP0083-cmp0083_ref - PASSED
[  683s] CMake Error at RunCMake.cmake:168 (message):
[  683s]   CMP0083-cmp0083_new - FAILED:
[  683s]
[  683s]   CMP0083(NEW) do not produce expected executable.
[  683s]
[  683s]   Command was:
[  683s]
[  683s]command>
"/home/abuild/rpmbuild/BUILD/cmake-3.14.0/bin/cmake" "--build" "."
"--config" "Release" "--target" "cmp0083_new"
[  683s]
[  683s]   Actual stdout:
[  683s]
[  683s]actual-out> Scanning dependencies of target cmp0083_new_pie
[  683s]actual-out> [ 16%] Building CXX object
CMakeFiles/cmp0083_new_pie.dir/main.cpp.o
[  683s]actual-out> [ 33%] Linking CXX executable cmp0083_new_pie
[  683s]actual-out> [ 33%] Built target cmp0083_new_pie
[  683s]actual-out> [ 66%] Built target cmp0083_ref
[  683s]actual-out> Scanning dependencies of target cmp0083_new_no_pie
[  683s]actual-out> [ 83%] Building CXX object
CMakeFiles/cmp0083_new_no_pie.dir/main.cpp.o
[  683s]actual-out> [100%] Linking CXX executable cmp0083_new_no_pie
[  683s]actual-out> [100%] Built target cmp0083_new_no_pie
[  683s]actual-out> Scanning dependencies of target cmp0083_new
[  683s]actual-out> [100%] Built target cmp0083_new
[  683s]
[  683s]   Actual stderr:
[  683s]
[  683s]actual-err>
[  683s]
[  683s] Call Stack (most recent call first):
[  683s]   RunCMake.cmake:182 (run_cmake)
[  683s]   PositionIndependentCode/RunCMakeTest.cmake:35 (run_cmake_command)
[  683s]   PositionIndependentCode/RunCMakeTest.cmake:65 (run_cmake_target)
[  683s]
[  683s]
[  683s] -- CMP0083-cmp0083_old - PASSED
[  683s]
[  683s] Start 370: RunCMake.cmake_parse_arguments
[  683s] 358/495 Test #369: RunCMake.cmake_minimum_required
..   Passed0.51 sec
-- 

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


[cmake-developers] [CDT] Improving CDT4 generator

2019-03-19 Thread David

Hi,

since Eclipse 9.2 (or 9.1 do not remember), the CMake CDT4 Generator 
does not work as expected for C++ Project.


Eclipse CDT seems to not recognize CMake generated .cproject as a valid 
C++ project (C++ Build options are not available as before).


Is there someone has experienced this behavior ? (I think I have read 
this issue on Eclipse CDT mailing list).


Is there something to do to make it works again in an official way ?

At this time, for your projects, I have managed to create an 
experimental CDT9 generator (based on CDT4 one) which works only for us. 
At every new CMake version I merge my modification in the source to add 
the CDT9 support.


What is the best way to propose an update ?

And is it possible to add third party lib (in Utilities), something like 
C++ template engine ginger, to generate the final xml (this is optional, 
more a prototype to experiment)



Regards,

D.F.



-- 

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


[CMake] Specifying code in one subdirectory depends on a library from another subdirectory

2019-03-19 Thread Rafael Vargas
How is this file subproject1 depends on generated?

I have a project where some file was generated using add_custom_command,
like this:

add_custom_command( OUTPUT ${FILE_NAME} COMMAND ${CMD_LINE} )

So, in order to my lib to depend on this file I created a custom target

add_custom_target( target_name, ALL DEPENDS ${FILE_NAME} )

and then added as a dependency to my lib:

add_dependencies( my_lib_name, target_name ${FILE_NAME} )

See and try adding an explicit dependency on the generated file like this.


Em ter, 19 de mar de 2019 às 14:46, Timothy Wrona 
escreveu:

> Never mind... I spoke too soon. add_dependencies isn't working. It is
> correctly making the other project build first, but the header file is for
> some reason not generated until after it is needed.
>
> On Tue, Mar 19, 2019 at 1:41 PM Timothy Wrona 
> wrote:
>
>> Seems I might be able to answer my own question.
>>
>> It looks like "add_dependencies(subproject1_exe subproject2_lib)" worked.
>>
>> I had to do a clean first though because it didn't work the first time
>> since some old files were left around.
>>
>> Hope this helps anyone else with a similar issue!
>>
>> On Tue, Mar 19, 2019 at 1:13 PM Timothy Wrona 
>> wrote:
>>
>>> I am working on a complex CMake project that is part of a large legacy
>>> system that uses a top level project and "add_subdirectory" to create
>>> subprojects.
>>>
>>> I have run into an issue because now one of the subprojects is dependant
>>> on another subproject, but I can't seem to find a clear way to tell
>>> CMake about this dependency.
>>>
>>> Consider this example:
>>>
>>> my_project/
>>> CMakeLists.txt:
>>>   add_subdirectory('subproject1')
>>>   add_subdirectory('subproject2')
>>>
>>> my_project/subproject1/
>>> CMakeLists.txt:
>>> add_executable(subproject1_exe )
>>> target_link_libraries(subproject1_exe subproject2_lib) # <--
>>> THIS is the problem
>>>
>>> my_project/subproject2/
>>> CMakeLists.txt:
>>> add_library(subproject2_lib )
>>>
>>> The actual code is much more complex than this, but this simple example
>>> illustrates the problem. The actual compilation error I am getting is
>>> caused by subproject1 including a header file that gets generated when
>>> subproject2 is built.
>>>
>>> Does anyone know how to properly tell CMake about the dependency so it
>>> will build correctly?
>>>
>> --

-- 
Rafael Vargas
-- 

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


Re: [CMake] Specifying code in one subdirectory depends on a library from another subdirectory

2019-03-19 Thread Timothy Wrona
Never mind... I spoke too soon. add_dependencies isn't working. It is
correctly making the other project build first, but the header file is for
some reason not generated until after it is needed.

On Tue, Mar 19, 2019 at 1:41 PM Timothy Wrona  wrote:

> Seems I might be able to answer my own question.
>
> It looks like "add_dependencies(subproject1_exe subproject2_lib)" worked.
>
> I had to do a clean first though because it didn't work the first time
> since some old files were left around.
>
> Hope this helps anyone else with a similar issue!
>
> On Tue, Mar 19, 2019 at 1:13 PM Timothy Wrona 
> wrote:
>
>> I am working on a complex CMake project that is part of a large legacy
>> system that uses a top level project and "add_subdirectory" to create
>> subprojects.
>>
>> I have run into an issue because now one of the subprojects is dependant
>> on another subproject, but I can't seem to find a clear way to tell CMake
>> about this dependency.
>>
>> Consider this example:
>>
>> my_project/
>> CMakeLists.txt:
>>   add_subdirectory('subproject1')
>>   add_subdirectory('subproject2')
>>
>> my_project/subproject1/
>> CMakeLists.txt:
>> add_executable(subproject1_exe )
>> target_link_libraries(subproject1_exe subproject2_lib) # <--
>> THIS is the problem
>>
>> my_project/subproject2/
>> CMakeLists.txt:
>> add_library(subproject2_lib )
>>
>> The actual code is much more complex than this, but this simple example
>> illustrates the problem. The actual compilation error I am getting is
>> caused by subproject1 including a header file that gets generated when
>> subproject2 is built.
>>
>> Does anyone know how to properly tell CMake about the dependency so it
>> will build correctly?
>>
>
-- 

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


[Cmake-commits] CMake branch, master, updated. v3.14.0-433-g8c0b7aa

2019-03-19 Thread Kitware Robot via Cmake-commits
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  8c0b7aa17dcbe24b38453843544bc61a25e1a851 (commit)
   via  f1e53266e9ce7e8a9568bde23f865136be958887 (commit)
   via  8634576dcb03087fc507b8012a47f1ecc852f65f (commit)
   via  c7c6a4a2cc06fd22eeb1c545dba030eddf39363a (commit)
   via  7c47fd8cd1e7d9aae60412ce7544fdfa82c9e798 (commit)
   via  73f23d1e0087a3b025ab7ba6b3e6195f19b40e1b (commit)
  from  d2101e944a03056dc2180dd790ba85175e04d653 (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=8c0b7aa17dcbe24b38453843544bc61a25e1a851
commit 8c0b7aa17dcbe24b38453843544bc61a25e1a851
Merge: f1e5326 73f23d1
Author: Kyle Edwards 
AuthorDate: Tue Mar 19 17:39:06 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 13:39:18 2019 -0400

Merge topic 'cmake--install'

73f23d1e00 cmake: add '--install ' option

Acked-by: Kitware Robot 
Acked-by: Alex Turbov 
Acked-by: Bartosz 
Acked-by: Cristian Adam 
Rejected-by: Alex Turbov 
Merge-request: !3069


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f1e53266e9ce7e8a9568bde23f865136be958887
commit f1e53266e9ce7e8a9568bde23f865136be958887
Merge: d2101e9 8634576
Author: Kyle Edwards 
AuthorDate: Tue Mar 19 17:37:48 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 13:37:59 2019 -0400

Merge topic 'improve-tar-command'

8634576dcb cmake: Don't interrupt archive creation if unable to read a file.
c7c6a4a2cc Help: Update 'tar' documentation with supported arguments
7c47fd8cd1 cmake: tar: Display warning when no files provided during 
archive creation

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8634576dcb03087fc507b8012a47f1ecc852f65f
commit 8634576dcb03087fc507b8012a47f1ecc852f65f
Author: Bartosz Kosiorek 
AuthorDate: Fri Mar 8 14:53:35 2019 +0100
Commit: Bartosz Kosiorek 
CommitDate: Mon Mar 18 17:55:35 2019 +0100

cmake: Don't interrupt archive creation if unable to read a file.

Rationale:
Currently during creation of archive by 'tar',
if error appears, it interrupt archive creation.
As a result only part of files are archived

This behaviour is not consistent with 'copy_directory', native 'tar'
and other command behaviour.
With this Merge Request this behaviour is fixed.

diff --git a/Help/release/dev/cmake-e-tar-creating-archive.rst 
b/Help/release/dev/cmake-e-tar-creating-archive.rst
new file mode 100644
index 000..717855c
--- /dev/null
+++ b/Help/release/dev/cmake-e-tar-creating-archive.rst
@@ -0,0 +1,6 @@
+cmake-e-tar-creating-archive
+
+
+* The :manual:`cmake(1)` ``-E tar`` tool now continues adding files to an
+  archive, even if some of the files aren't readable. This behavior is more
+  consistent with the classic ``tar`` tool.
diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx
index 23be603..177ba02 100644
--- a/Source/cmArchiveWrite.cxx
+++ b/Source/cmArchiveWrite.cxx
@@ -179,12 +179,10 @@ cmArchiveWrite::~cmArchiveWrite()
 bool cmArchiveWrite::Add(std::string path, size_t skip, const char* prefix,
  bool recursive)
 {
-  if (this->Okay()) {
-if (!path.empty() && path.back() == '/') {
-  path.erase(path.size() - 1);
-}
-this->AddPath(path.c_str(), skip, prefix, recursive);
+  if (!path.empty() && path.back() == '/') {
+path.erase(path.size() - 1);
   }
+  this->AddPath(path.c_str(), skip, prefix, recursive);
   return this->Okay();
 }
 
@@ -220,6 +218,7 @@ bool cmArchiveWrite::AddPath(const char* path, size_t skip, 
const char* prefix,
 
 bool cmArchiveWrite::AddFile(const char* file, size_t skip, const char* prefix)
 {
+  this->Error = "";
   // Skip the file if we have no name for it.  This may happen on a
   // top-level directory, which does not need to be included anyway.
   if (skip >= strlen(file)) {
@@ -241,7 +240,7 @@ bool cmArchiveWrite::AddFile(const char* file, size_t skip, 
const char* prefix)
   cm_archive_entry_copy_pathname(e, dest);
   if (archive_read_disk_entry_from_file(this->Disk, e, -1, nullptr) !=
   ARCHIVE_OK) {
-this->Error = "archive_read_disk_entry_from_file '";
+this->Error = "Unable to read from file '";
 this->Error += file;
 this->Error += "': ";
 this->Error += cm_archive_error_string(this->Disk);
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index d762106..41f8cf4 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1658,20 +1658,18 @@ bool 

Re: [CMake] Specifying code in one subdirectory depends on a library from another subdirectory

2019-03-19 Thread Timothy Wrona
Seems I might be able to answer my own question.

It looks like "add_dependencies(subproject1_exe subproject2_lib)" worked.

I had to do a clean first though because it didn't work the first time
since some old files were left around.

Hope this helps anyone else with a similar issue!

On Tue, Mar 19, 2019 at 1:13 PM Timothy Wrona  wrote:

> I am working on a complex CMake project that is part of a large legacy
> system that uses a top level project and "add_subdirectory" to create
> subprojects.
>
> I have run into an issue because now one of the subprojects is dependant
> on another subproject, but I can't seem to find a clear way to tell CMake
> about this dependency.
>
> Consider this example:
>
> my_project/
> CMakeLists.txt:
>   add_subdirectory('subproject1')
>   add_subdirectory('subproject2')
>
> my_project/subproject1/
> CMakeLists.txt:
> add_executable(subproject1_exe )
> target_link_libraries(subproject1_exe subproject2_lib) # <--
> THIS is the problem
>
> my_project/subproject2/
> CMakeLists.txt:
> add_library(subproject2_lib )
>
> The actual code is much more complex than this, but this simple example
> illustrates the problem. The actual compilation error I am getting is
> caused by subproject1 including a header file that gets generated when
> subproject2 is built.
>
> Does anyone know how to properly tell CMake about the dependency so it
> will build correctly?
>
-- 

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


[CMake] Specifying code in one subdirectory depends on a library from another subdirectory

2019-03-19 Thread Timothy Wrona
I am working on a complex CMake project that is part of a large legacy
system that uses a top level project and "add_subdirectory" to create
subprojects.

I have run into an issue because now one of the subprojects is dependant on
another subproject, but I can't seem to find a clear way to tell CMake
about this dependency.

Consider this example:

my_project/
CMakeLists.txt:
  add_subdirectory('subproject1')
  add_subdirectory('subproject2')

my_project/subproject1/
CMakeLists.txt:
add_executable(subproject1_exe )
target_link_libraries(subproject1_exe subproject2_lib) # <--
THIS is the problem

my_project/subproject2/
CMakeLists.txt:
add_library(subproject2_lib )

The actual code is much more complex than this, but this simple example
illustrates the problem. The actual compilation error I am getting is
caused by subproject1 including a header file that gets generated when
subproject2 is built.

Does anyone know how to properly tell CMake about the dependency so it will
build correctly?
-- 

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


Re: [cmake-developers] different behavior of cmake_minimum_required(3.0) and 3.1

2019-03-19 Thread Brad King via cmake-developers
On 3/19/19 11:57 AM, Rolf Eike Beer wrote:
> It has nothing to do with either the policies or the order of 
> cmake_minimum_required() and project().

Okay.  My order comment was a side note and should be corrected
either way.

> If I require version 3.0 it works, with 3.1 it fails.

See this code in FindPkgConfig:

  
https://gitlab.kitware.com/cmake/cmake/blob/v3.14.0/Modules/FindPkgConfig.cmake#L128-136

and the documentation note about CMAKE_MINIMUM_REQUIRED_VERSION:

  
https://cmake.org/cmake/help/v3.14/module/FindPkgConfig.html#command:pkg_check_modules

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


[Cmake-commits] CMake branch, master, updated. v3.14.0-427-gd2101e9

2019-03-19 Thread Kitware Robot via Cmake-commits
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  d2101e944a03056dc2180dd790ba85175e04d653 (commit)
   via  3c4f92cf5bd38355b4843dd6e882fea012306a10 (commit)
   via  6bbc82b4b30ff17c5b3c899c482b1a724e15d5fb (commit)
   via  51a1a7e64f1d01a293eb848260925743f0fabf68 (commit)
   via  0587c4b247626cda58e55f3bdc0adc8c09ac8e16 (commit)
   via  146b95949194ccf9aff3cfbe2243bde9727e16d5 (commit)
   via  53184a727d0f3b233988212628fec6ef7803da69 (commit)
   via  0adb0e01784ab114efeb2bf24df9c40be706cf01 (commit)
   via  dfea916d3c1e09d7a008a27029540b5ec77adb5d (commit)
   via  ec3c968de27d0d352dce53e3400a33b1bc576496 (commit)
   via  1de0c827a16e1ef5b4c6c900982c6a76061d2c97 (commit)
   via  5536cec46e9af9af3ee5756e59b57bcb7fa23e44 (commit)
   via  98d48469534f7a491b8c358d513472806c858d22 (commit)
   via  a6d75a1ce0daec9c60ed850163f76416de35edb7 (commit)
   via  216416219ae438ec5e93a1e125298fa0b5fd64d9 (commit)
   via  31602583930b6c517c439ae8c15df26043031345 (commit)
   via  103aa9e46a5a59dc2c41cc1fa1aa6dd406b2924b (commit)
   via  6f24c4e93f6ae897b793f894b67543d86c7de477 (commit)
   via  482d9ef9a8fe640d45eabbf4d6b32cfe5c1d124d (commit)
   via  90b775848913296af976d05dc82b8a45add4c6cf (commit)
  from  a9a4f3b1936c8e9b659b7b59166d1e73dc6d2397 (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=d2101e944a03056dc2180dd790ba85175e04d653
commit d2101e944a03056dc2180dd790ba85175e04d653
Merge: 3c4f92c 482d9ef
Author: Brad King 
AuthorDate: Tue Mar 19 12:58:44 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:59:23 2019 -0400

Merge topic 'xcodegen-use-std-string'

482d9ef9a8 cmGlobalXCodeGenerator: Prefer std::string over char*

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3c4f92cf5bd38355b4843dd6e882fea012306a10
commit 3c4f92cf5bd38355b4843dd6e882fea012306a10
Merge: 6bbc82b 53184a7
Author: Brad King 
AuthorDate: Tue Mar 19 12:58:14 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:58:39 2019 -0400

Merge topic 'is-valid-utf8'

53184a727d cm_utf8: add an is_valid function

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6bbc82b4b30ff17c5b3c899c482b1a724e15d5fb
commit 6bbc82b4b30ff17c5b3c899c482b1a724e15d5fb
Merge: 51a1a7e 0adb0e0
Author: Brad King 
AuthorDate: Tue Mar 19 12:57:44 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:57:51 2019 -0400

Merge topic 'CheckTypeSize-decl-warning'

0adb0e0178 CheckTypeSize: Fix with clang 
'-Werror,-Wmissing-variable-declarations'

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=51a1a7e64f1d01a293eb848260925743f0fabf68
commit 51a1a7e64f1d01a293eb848260925743f0fabf68
Merge: 0587c4b 90b7758
Author: Brad King 
AuthorDate: Tue Mar 19 12:56:30 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:56:37 2019 -0400

Merge topic 'FindBLAS-mklroot'

90b7758489 FindBLAS: respect MKLROOT and MKL_ROOT if available

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0587c4b247626cda58e55f3bdc0adc8c09ac8e16
commit 0587c4b247626cda58e55f3bdc0adc8c09ac8e16
Merge: 146b959 ec3c968
Author: Brad King 
AuthorDate: Tue Mar 19 12:55:09 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:55:18 2019 -0400

Merge topic 'file_time_comparison'

ec3c968de2 cmake: Use scopes to limit temporary object lifetime
1de0c827a1 cmDependsC: Read cache file modification time only once
5536cec46e Rename cmFileTimeCache::FileTimeCompare to 
cmFileTimeCache::Compare
98d4846953 Rename cmFileTimeCache::FileTimesDiffer to 
cmFileTimeCache::DifferS
a6d75a1ce0 Substitute FileComparison in variable names with FileTimeCache
216416219a Rename cmFileTimeComparison to cmFileTimeCache
3160258393 cmFileTimeComparison: Replace anonymous private class with 
std::map
103aa9e46a cmFileTimeComparison: Use cmFileTime internally
...

Acked-by: Kitware Robot 
Acked-by: Brad King 
Merge-request: !3101


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=146b95949194ccf9aff3cfbe2243bde9727e16d5
commit 146b95949194ccf9aff3cfbe2243bde9727e16d5
Merge: a9a4f3b dfea916
Author: Brad King 
AuthorDate: Tue Mar 19 12:53:24 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:53:35 2019 -0400

Merge topic 

[Cmake-commits] CMake branch, master, updated. v3.14.0-407-ga9a4f3b

2019-03-19 Thread Kitware Robot via Cmake-commits
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  a9a4f3b1936c8e9b659b7b59166d1e73dc6d2397 (commit)
   via  c213e34d0cbcd2dcc8b0735103d9f4a1f1346dda (commit)
  from  e67e4dbaadf3583d665fb5409b425e1a238d9748 (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=a9a4f3b1936c8e9b659b7b59166d1e73dc6d2397
commit a9a4f3b1936c8e9b659b7b59166d1e73dc6d2397
Merge: e67e4db c213e34
Author: Brad King 
AuthorDate: Tue Mar 19 12:52:00 2019 +
Commit: Kitware Robot 
CommitDate: Tue Mar 19 08:52:11 2019 -0400

Merge topic 'cray-bad-compiler-option'

c213e34d0c cray: Detect bad options passed on the command line

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c213e34d0cbcd2dcc8b0735103d9f4a1f1346dda
commit c213e34d0cbcd2dcc8b0735103d9f4a1f1346dda
Author: Chuck Atkins 
AuthorDate: Fri Mar 15 11:38:19 2019 -0400
Commit: Chuck Atkins 
CommitDate: Fri Mar 15 11:38:19 2019 -0400

cray: Detect bad options passed on the command line

diff --git a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake 
b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
index e60ffe0..5b9ed34 100644
--- a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+++ b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
@@ -30,5 +30,6 @@ macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
  FAIL_REGEX "Incorrect command line option:"# Borland
  FAIL_REGEX "Warning: illegal option"   # SunStudio 12
  FAIL_REGEX "[Ww]arning: Invalid suboption" # Fujitsu
+ FAIL_REGEX "An invalid option .* appears on the command line" # Cray
)
 endmacro ()

---

Summary of changes:
 Modules/CMakeCheckCompilerFlagCommonPatterns.cmake | 1 +
 1 file changed, 1 insertion(+)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits


Re: [cmake-developers] Pushing to gitlab.kitware.org from behind a ssl proxy

2019-03-19 Thread Brad King via cmake-developers
On 3/19/19 2:21 AM, Stuermer, Michael  SP/HZA-ZSEP wrote:
> remote: HTTP Basic: Access denied
> fatal: Authentication failed for 
> 'https://gitlab.kitware.com//cmake.git/'

Try creating a personal access token to use during auth instead:

* https://gitlab.kitware.com/help/user/profile/personal_access_tokens.md
  "You can also use them to authenticate against Git over HTTP.
   They are the only accepted method of authentication when you
   have Two-Factor Authentication (2FA) enabled."

Otherwise, try using https auth from home without the proxy to make
sure it works and narrow the cause.

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


Re: [CMake] Specifying both native and cross compiler at the same time

2019-03-19 Thread Lassi Niemistö
Hello,

I spent a lot of time figuring out how to support multiple compilers in 
parallel. Here is how I did it:


·Write a toolchain file for each of your compiler setups. Specify any 
toolchain specific compiler flags there. See 
https://cmake.org/cmake/help/v3.14/manual/cmake-toolchains.7.html

·Write one top-level CMakeLists which

o   Calls cmake for your actual CMakeLists with execute_process and each time 
specify different –DCMAKE_TOOLCHAIN_FILE and different build directory

o   Implement a mechanism how the actual cmake tree can publish target names to 
top-level. I wrote them to a file in the root of build directory. Of course you 
can also hardcode the target names on top-level but a dynamic mechanism makes 
it less cluttered.

o   In the top-level cmake, after generating the architecture specific trees, 
read the published targets and add a custom target for each of the published 
targets from the architecture specific trees. Each custom target just calls 
make in the respective architecture specific build directory.

The other point, using the compiled binary as part of the compilation is not 
necessarily very good idea (sounds like chicken-egg to me). Could you instead 
compile the native binary separately and put it as a “released version” 
somewhere and use the last released version in your compilation phase.

The “cmake way” would be to regenerate cmake each time you want to switch 
between the architectures. But if cmake generation and build is heavy, this is 
a major usability issue. Hence the above hack solution.

-Lassi

From: CMake  On Behalf Of Mojca Miklavec
Sent: tiistai 19. maaliskuuta 2019 10.16
To: cmake@cmake.org
Subject: [CMake] Specifying both native and cross compiler at the same time

Hi,

I would like a build setup for a project to work correctly for both native and 
cross compilation, however one part requires native compilation and execution 
of the binary to generate some data tables as part of the build process (the 
temporary native binary is then discarded / not installed).

What I seem to be unable to figure out is how to specify the compiler(s) and 
flags separately for the native and cross compiler. I want them to be specified 
by the user or package manager rather than the author of cmake files.

One particular problem is when cross-compiling on mac with mingw (gcc) while 
using clang as the native compiler (the two compilers have incompatible flags).

How can I specify two sets of compilers and flags at configure time? (The same 
question puzzles me in autoconf world as well. Please don't say that the native 
compiler should be found automatically as I really need to specify which one to 
use, ancient systems don't have support for C++11 with the default compiler 
etc.)

Thank you very much,
Mojca

-- 

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


[CMake] Specifying both native and cross compiler at the same time

2019-03-19 Thread Mojca Miklavec
Hi,

I would like a build setup for a project to work correctly for both native
and cross compilation, however one part requires native compilation and
execution of the binary to generate some data tables as part of the build
process (the temporary native binary is then discarded / not installed).

What I seem to be unable to figure out is how to specify the compiler(s)
and flags separately for the native and cross compiler. I want them to be
specified by the user or package manager rather than the author of cmake
files.

One particular problem is when cross-compiling on mac with mingw (gcc)
while using clang as the native compiler (the two compilers have
incompatible flags).

How can I specify two sets of compilers and flags at configure time? (The
same question puzzles me in autoconf world as well. Please don't say that
the native compiler should be found automatically as I really need to
specify which one to use, ancient systems don't have support for C++11 with
the default compiler etc.)

Thank you very much,
Mojca
-- 

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


[CMake] Trigger rebuild when a system header changes

2019-03-19 Thread Lassi Niemistö
Hello,

It seems CMake has a special handling for system header dependencies. I.e. if 
my .c file includes /usr/include/someheader.h, modifying the someheader.h does 
not cause the .c file to be rebuilt.

How to work around this issue? We have some custom libraries that get installed 
to system paths and they change relatively often. It is error-prone for the 
developers to accidentally keep using the library with old header compiled in.

Things I have tried this far:
* add_dependencies(target /path/to/header.h)  --> no luck
* add_library(include_deplib /path/to/header.h) + target_link_libraries(target 
include_deplib) --> needs additional tweaking to be legal, still does not work
* OBJECT_DEPENDS property pointing to the .h file--> This works but I need to 
do this for each c. file separately

I wonder if this should be this difficult, I am probably missing something? Can 
I just somehow enable tracking system headers also as expected-to-change 
dependencies?

-Lassi
-- 

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


[cmake-developers] Pushing to gitlab.kitware.org from behind a ssl proxy

2019-03-19 Thread Stuermer, Michael SP/HZA-ZSEP
Hello CMake developers,

It's been some time now and I have tried everything that came into my mind (and 
I found on google), but I found no way to push any changes on my CMake fork.

My situation: I am behind a corporate firewall which proxies/breaks all ssl 
connections and ssh is blocked completely.

Using the following git configuration I am able to fetch/pull from kitware:

[http "https://gitlab.kitware.com;]
proxy = http://.com:8080
sslVerify = false

Without the proxy configuration I am not able to connect to the repo, i.e. not 
even fetching is possible. With the proxy enabled I get request for username 
and password. After entering my credentials however I get the following message:

Username for 'https://gitlab.kitware.com': 
Password for 'https://stuer...@gitlab.kitware.com':
remote: HTTP Basic: Access denied
fatal: Authentication failed for 
'https://gitlab.kitware.com//cmake.git/'

Can anyone help me so I can contribute to CMake again? This is really sad ...

/Michael

-- 

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


Re: [cmake-developers] different behavior of cmake_minimum_required(3.0) and 3.1

2019-03-19 Thread Rolf Eike Beer

Am 2019-03-18 14:45, schrieb Brad King:

On 3/15/19 6:10 PM, Rolf Eike Beer wrote:

I suspected it was a policy thing, so I tried this:

foreach(_p RANGE 21 54)
   cmake_policy(SET CMP00${_p} OLD)
endforeach()


Only policies 51-54 were added between 3.0 and 3.1.


The starting point was 2.8.11, I have not bothered to change the loop 
afterwards.



 I suggest
testing with

cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0051 NEW)
cmake_policy(SET CMP0052 NEW)
cmake_policy(SET CMP0053 NEW)
cmake_policy(SET CMP0054 NEW)

and then trying different combinations.  My guess is CMP0054.


Good idea.


-

While looking at the source of that project, I noticed that
both `CMakeLists.txt` and `smtk-import/CMakeLists.txt` call
the `project()` command before `cmake_minimum_required()`.
The other order is preferred:

cmake_minimum_required(VERSION 2.8.11)
project(Subsurface)

because there are policies that affect project()'s behavior.
This order preference is documented by both commands.


This is not the case, I have changed that and it did not help.


I also noticed this code:

```
# don't process generated files - this is new in 3.10
if (POLICY CMP0071)
cmake_policy(SET CMP0071 OLD)
endif()
```

The cmake-policies(7) manual states that a policy should only
be set to OLD to silence warnings in frozen code bases or in
short-term circumstances.

The proper way to deal with CMP0071 is to set it to NEW
and set the `SKIP_AUTO*` properties on the sources that should
not be processed.


I'll look into this. The problem here is that this IIRC breaks with new
CMake and old Qt version where this would process generated files twice.

Eike
--

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