Hi James,

On  Mo 12 Mär 2018 14:29:18 CET, James Cowgill wrote:


On 11/03/18 15:40, Mike Gabriel wrote:
On  Mo 05 Mär 2018 12:31:34 CET, James Cowgill wrote:
From cmake-commands(7) - add_custom_command:
"Do not list the output in more than one independent target that may
build in parallel or the two instances of the rule may conflict (instead
use the add_custom_target() command to drive the command and make the
other targets depend on that one)."

There are three independent targets here which use gschemas.compiled
(the three tests).

I found this blog which tries to explain it (number 4):


Thanks for your research on this.

Would this feel like a valid fix?

diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 2c45057..714fa6c 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -32,6 +32,14 @@ add_custom_command (OUTPUT gschemas.compiled
                     COMMAND cp -f ${CMAKE_BINARY_DIR}/data/*gschema.xml

+    test-notify-gschemas ALL DEPENDS gschemas.compiled
+    test-device-gschemas ALL DEPENDS gschemas.compiled

I don't think this will work because these two targets might be built in
parallel and we end up with the same problem as before. I think you want
a single custom target which all the tests depend on.


Hmm, but what you say above would contradict the howto provided under (4.) at this URL [1] (the one you quoted earlier).

I think, I exactly immitated what Sam Thursfield wrote on his blog. Don't you think?


[1] https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/

mike gabriel, herweg 7, 24357 fleckeby
mobile: +49 (1520) 1976 148
landline: +49 (4354) 8390 139

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

Attachment: pgpqMTfTfvGQ8.pgp
Description: Digitale PGP-Signatur

Reply via email to