[cmake-developers] CMake 3.12: transitive OBJECT library failing

2018-07-18 Thread Levi Morrison
I have an issue in CMake 3.12 with using transitive OBJECT
libraries.The basic skeleton is:

cmake_minimum_required(VERSION 3.12)
project(objectlib LANGUAGES CXX)

add_library(box OBJECT box.cc box.hh)
add_library(make_box OBJECT make_box.cc make_box.hh)
target_link_libraries(make_box PUBLIC box)

add_executable(main main.cc)
target_link_libraries(main PUBLIC make_box)

Note that `main` depends on `make_box`, not `box`, which should be
transitive (correct?). The full files can be seen in this gist:
https://gist.github.com/morrisonlevi/b1508531b1464921664ca06c0fd889bb

The issue is that when building`main` it does not include `box.o` in
the link line.

Given how new this feature is, I'm not sure if it's an issue with my
expectations or with CMake. The issue happens in debug builds and goes
away in release mode, presumably because the compiler inlines it.
-- 

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.12.0-257-gcadec7d

2018-07-18 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  cadec7db374a5dd32dd851a6085ec66fa9daa6a1 (commit)
  from  19fac8572a97e20376dea8d81fae594378cf0975 (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=cadec7db374a5dd32dd851a6085ec66fa9daa6a1
commit cadec7db374a5dd32dd851a6085ec66fa9daa6a1
Author: Kitware Robot 
AuthorDate: Thu Jul 19 00:01:07 2018 -0400
Commit: Kitware Robot 
CommitDate: Thu Jul 19 00:01:07 2018 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 65a73ad..d9f5396 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 12)
-set(CMake_VERSION_PATCH 20180718)
+set(CMake_VERSION_PATCH 20180719)
 #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] Querying project dependencies from the UNIX command-line

2018-07-18 Thread Johannes Zarl-Zierl
Hi Ardi,

Am Mittwoch, 18. Juli 2018, 11:31:50 CEST schrieb ardi:
> For example, I'd like to type "somecommand /path/to/someproject" at
> the UNIX command line, and get this output:
> [...]
> Furthermore, if another command could show optional requisites, it
> would be really great: "anothercommand /path/to/someproject"
> 
> Project /path/to/someproject can optionally use the following when being
> built: 
> [...]
> So, can I get this functionality from plain CMake/CPack ? Or would I
> need additional tools (Note: I know about Hunter, but first I'd like
> to know if plain CMake does already offer this feature).

I don't think there's something that gives you exactly what you described, 
especially not for a random CMake project.

If you can add some commands to the CMakeLists.txt, though, then the 
FeatureSummary module may suit your needs.

Basically, you include the module an then add a cmake command like this:
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)

When you run cmake, you'll get a summary of which packages have been found/not 
found, and the required version if you supplied one for the corresponding 
find_package command.

Cheers,
  Johannes



-- 

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] ctest - how to reset default regex error list

2018-07-18 Thread Michal Wozniak
Hi,


My tests are failing since they are detecting the  "ERROR:"  I thought by using 
CTEST_CUSTOM_ERROR_MATCH, I would be able to reset the default list of errors 
and even use my own list.

eg :

set(CTEST_CUSTOM_ERROR_MATCH "")


or

set(CTEST_CUSTOM_ERROR_MATCH

   "error0"

   "error1"

)



It seems that the defaults list is appending the custom_error_match to another 
list "cmCTestErrorMatches" already created.


Cmake default logic if I understand correctly :

  1.   create cmCTestErrorMatches with default values
  2.  Append values from CTEST_CUSTOM_ERROR_MATCH to CustomErrorMatches
  3.  Append values from cmCTestErrorMatches list to CustomErrorMatches list


https://gitlab.kitware.com/cmake/cmake/blob/master/Source/CTest/cmCTestBuildHandler.cxx#L23

Source/CTest/cmCTestBuildHandler.cxx · master · CMake / 
CMake
gitlab.kitware.com
[CMake](https://cmake.org), the cross-platform, open-source build system.

I have asked a much simpler question in the user mailing but since looking at 
the 
"cmCTestBuildHandler.cxx",
 I thought it would be more suitable here.

Is there a way to have a completely new error regex list?


thanks

Michal
-- 

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] Transcriber AG

2018-07-18 Thread Dmitry Mikushin
Prerequisites must be installed or placed appropriately, according with
instructions for specific program.

Regarding the further steps, typically you should locate CMakeListst.txt
file, create subfolder "build" in the same folder, change to "build" folder
and run "cmake .." from it. Upon successful run, a Makefile or other type
of build config will be created, which you then should execute separately.

Kind regards,
- Dmitry.


2018-07-18 21:27 GMT+03:00 moseymoose via CMake :

> Hi. I am a complete beginner at this but here goes. I'm trying to compile
> files to make Transcriber AG. I downloaded the prerequisite files including
> gtk, xerces, etc. Now what do I do? Thank you for your help.
>
>
> Warmly,
> Larry
>
>
>
> Sent with ProtonMail  Secure Email.
>
>
> --
>
> 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
>
>
-- 

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] Transcriber AG

2018-07-18 Thread moseymoose via CMake
Hi. I am a complete beginner at this but here goes. I'm trying to compile files 
to make Transcriber AG. I downloaded the prerequisite files including gtk, 
xerces, etc. Now what do I do? Thank you for your help.

Warmly,
Larry

Sent with [ProtonMail](https://protonmail.com) Secure Email.-- 

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] CTEST_CUSTOM_ERROR_MATCH not working ?

2018-07-18 Thread Michal Wozniak
Hi,


I'm using ctest to build and test my project.  I trying to use 
CTEST_CUSTOM_ERROR_MATCH to find a different type of errors but it is always 
defaulting back to "ERROR:".   I am setting this variable in my 
CTestConfig.cmake.


set(CTEST_CUSTOM_ERROR_MATCH
"error1"
"error2"
"error3"
)

when I print the value, everything seems to be set correctly, but then on my 
CDash, i  getting the default regex "Error regular expression found in output. 
Regex=[( |^)ERROR: ]"

Is this the correct way to change the default error regular expression?

thanks

Michal

-- 

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.12.0-256-g19fac85

2018-07-18 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  19fac8572a97e20376dea8d81fae594378cf0975 (commit)
   via  4b35dab8916b9c88336a776eaaadd8e6746a50b6 (commit)
  from  11d71e6cd0eedae224eca52d4f8bc6cb6baf46d8 (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=19fac8572a97e20376dea8d81fae594378cf0975
commit 19fac8572a97e20376dea8d81fae594378cf0975
Merge: 11d71e6 4b35dab
Author: Brad King 
AuthorDate: Wed Jul 18 15:09:56 2018 +
Commit: Kitware Robot 
CommitDate: Wed Jul 18 11:10:02 2018 -0400

Merge topic 'doc-regex-notes'

4b35dab891 Help: Document how escape sequences work in a regex

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


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4b35dab8916b9c88336a776eaaadd8e6746a50b6
commit 4b35dab8916b9c88336a776eaaadd8e6746a50b6
Author: Brad King 
AuthorDate: Wed Jul 18 10:23:26 2018 -0400
Commit: Brad King 
CommitDate: Wed Jul 18 10:36:00 2018 -0400

Help: Document how escape sequences work in a regex

Our regex engine doesn't interpret `\`-escapes but CMake language escape
sequences may be used to pass literal whitespace characters to it.

diff --git a/Help/command/string.rst b/Help/command/string.rst
index efa923b..29a153a 100644
--- a/Help/command/string.rst
+++ b/Help/command/string.rst
@@ -151,6 +151,20 @@ has lower precedence than concatenation.  This means that 
the regular
 expression ``^ab+d$`` matches ``abbd`` but not ``ababd``, and the regular
 expression ``^(ab|cd)$`` matches ``ab`` but not ``abd``.
 
+Backslash (``\``) characters in regular expressions are interpreted
+literally and do not escape anything or represent placeholders.
+However, CMake language :ref:`Escape Sequences` such as ``\t``,
+``\r``, ``\n``, and ``\\`` may be used to construct literal tabs,
+carriage returns, newlines, and backslashes (respectively) to pass
+in a regex.  For example:
+
+* The quoted argument ``"[ \t\r\n]"`` specifies a regex that matches
+  any single whitespace character.
+* The quoted argument ``"[/\\]"`` specifies a regex that matches
+  a single forward slash ``/`` or backslash ``\``.
+* The quoted argument ``"[A-Za-z0-9_]"`` specifies a regex that matches
+  any single "word" character in the C locale.
+
 Manipulation
 
 

---

Summary of changes:
 Help/command/string.rst | 14 ++
 1 file changed, 14 insertions(+)


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


[CMake] Using Different Computers for cmake and ctest

2018-07-18 Thread Brian S
I currently use cmake/ctest to build and test my software. The software is
C++/CUDA. During the build step I don't need a GPU but in the test step I
do. I would like to build the code with cmake on a cluster with many CPUs
and then run the tests using ctest on a target machine with a GPU. Is this
possible?

I have thought about using nvidia-docker but that only works on one of my
target platforms.
-- 

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] CMake 3.12 rc2 to rc3 Regression

2018-07-18 Thread Craig Scott
On Wed, Jul 18, 2018 at 11:04 PM, Michael Jackson <
mike.jack...@bluequartz.net> wrote:

> Searching the mailing list archives for the RC3 announcement I scrolled to
> the bottom and found:
>
> Brad King (2):
>   Revert "target_link_libraries: Allow use with targets in other
> directories"
>   CMake 3.12.0-rc3
>
> Just curious what caused the issue to revert the change?
>


The original problem report was on the dev mailing list:

https://cmake.org/pipermail/cmake-developers/2018-June/030740.html


The longer history of how the feature evolved and was then reverted can be
found here:

https://gitlab.kitware.com/cmake/cmake/issues/17943


-- 
Craig Scott
Melbourne, Australia
https://crascit.com

New book released: Professional CMake: A Practical Guide

-- 

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] CMake 3.12 rc2 to rc3 Regression

2018-07-18 Thread Michael Jackson
Searching the mailing list archives for the RC3 announcement I scrolled to the 
bottom and found:

Brad King (2):
  Revert "target_link_libraries: Allow use with targets in other
directories"
  CMake 3.12.0-rc3

Just curious what caused the issue to revert the change?

--
Michael Jackson | Owner, President
  BlueQuartz Software
[e] mike.jack...@bluequartz.net
[w] www.bluequartz.net 

On 7/18/18, 8:48 AM, "Michael Jackson"  wrote:

There was a regression between 3.12-rc2 and 3.12-rc3 where we can no longer 
add files to a target unless it was built in the directory that is currently 
being cmaked? Hard to explain, I'll let my error message help out:

In CMake 3.12-rc3 and the 3.12 Official Release I get the following:

-- TransformationPhase [ENABLED] 3 Filters
-- Plugin: Defining UCSBUtilities_SOURCE_DIR to 
/Users/mjackson/DREAM3D-Dev/DREAM3D/ExternalProjects/Plugins/UCSBUtilities
CMake Error at 
ExternalProjects/SIMPL/Wrapping/Python/Pybind11/cmake/WrappingFunctions.cmake:144
 (target_link_libraries):
  Attempt to add link library "UCSBUtilitiesServer" to target "dream3d_py"
  which is not built in this directory.
Call Stack (most recent call first):
  ExternalProjects/Plugins/UCSBUtilities/CMakeLists.txt:242 
(CreatePybind11Module)

In CMake 3.12 rc2 and earlier I don't get the error message. I was trying 
to keep up with the RCs but just got back from travel to test the release. We 
were counting on that new feature for a few aspects of our project. Was the 
feature pulled due to bugs?

--
Michael Jackson | Owner, President
  BlueQuartz Software
[e] mike.jack...@bluequartz.net
[w] www.bluequartz.net 





-- 

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] CMake 3.12 rc2 to rc3 Regression

2018-07-18 Thread Michael Jackson
There was a regression between 3.12-rc2 and 3.12-rc3 where we can no longer add 
files to a target unless it was built in the directory that is currently being 
cmaked? Hard to explain, I'll let my error message help out:

In CMake 3.12-rc3 and the 3.12 Official Release I get the following:

-- TransformationPhase [ENABLED] 3 Filters
-- Plugin: Defining UCSBUtilities_SOURCE_DIR to 
/Users/mjackson/DREAM3D-Dev/DREAM3D/ExternalProjects/Plugins/UCSBUtilities
CMake Error at 
ExternalProjects/SIMPL/Wrapping/Python/Pybind11/cmake/WrappingFunctions.cmake:144
 (target_link_libraries):
  Attempt to add link library "UCSBUtilitiesServer" to target "dream3d_py"
  which is not built in this directory.
Call Stack (most recent call first):
  ExternalProjects/Plugins/UCSBUtilities/CMakeLists.txt:242 
(CreatePybind11Module)

In CMake 3.12 rc2 and earlier I don't get the error message. I was trying to 
keep up with the RCs but just got back from travel to test the release. We were 
counting on that new feature for a few aspects of our project. Was the feature 
pulled due to bugs?

--
Michael Jackson | Owner, President
  BlueQuartz Software
[e] mike.jack...@bluequartz.net
[w] www.bluequartz.net 


-- 

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] Querying project dependencies from the UNIX command-line

2018-07-18 Thread ardi
Hi!

I've never used CMake (well, I'm continuously using it but as a user
only, for building projects, not for maintaining them) . It's quite
possible that I'll adopt CMake for maintaining my projects (I'm in the
process of locating good references for learning "Modern CMake" --I
want to start directly at Modern CMake, and avoiding as much
old-fashioned practices as possible).

However, before learning and adopting CMake, there's a feature that I
need, and I don't know if CMake provides it, or if I'll need to use an
additional tool for it. And that feature is querying dependencies.

For example, I'd like to type "somecommand /path/to/someproject" at
the UNIX command line, and get this output:

Project /path/to/someproject requires the following to be built:
wxWidgets >= 3.0.0
CUDA >= 7.0.0
OpenCV >= 3.3

Furthermore, if another command could show optional requisites, it
would be really great: "anothercommand /path/to/someproject"

Project /path/to/someproject can optionally use the following when being built:
libtiff >= 4.0.0
libzip >= 1.5.0

So, can I get this functionality from plain CMake/CPack ? Or would I
need additional tools (Note: I know about Hunter, but first I'd like
to know if plain CMake does already offer this feature).

Thanks!

ardi
-- 

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