{"action":"created","issue":{"url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/193","repository_url":"https://api.github.com/repos/cucumber/cucumber-cpp","labels_url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/193/comments","events_url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/193/events","html_url":"https://github.com/cucumber/cucumber-cpp/issues/193","id":328733676,"node_id":"MDU6SXNzdWUzMjg3MzM2NzY=","number":193,"title":"CMake fails on \"json_spirit.header\" that is not in the export set.","user":{"login":"konserw","id":3592272,"node_id":"MDQ6VXNlcjM1OTIyNzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3592272?v=4","gravatar_id":"","url":"https://api.github.com/users/konserw","html_url":"https://github.com/konserw","followers_url":"https://api.github.com/users/konserw/followers","following_url":"https://api.github.com/users/konserw/following{/other_user}","gists_url":"https://api.github.com/users/konserw/gists{/gist_id}","starred_url":"https://api.github.com/users/konserw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/konserw/subscriptions","organizations_url":"https://api.github.com/users/konserw/orgs","repos_url":"https://api.github.com/users/konserw/repos","events_url":"https://api.github.com/users/konserw/events{/privacy}","received_events_url":"https://api.github.com/users/konserw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-06-02T10:39:29Z","updated_at":"2018-06-02T15:54:09Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"<!-- These sections are meant as guidance for you, to help you give the kind of information we'll need to help with your issue. If a section  doesn't seem to fit, just skip it.\r\n\r\nThis is not a support or discussion forum. If you have a question, please ask it on [The Cukes Google Group](http://groups.google.com/group/cukes) or on [Gitter](https://gitter.im/cucumber/).\r\n\r\nIn general: Please provide as much information as you can to help us solving your problem -->\r\n\r\n## Summary\r\n\r\n<!--- Provide a general summary description of the issue -->\r\nCMake fails with following error:\r\n```\r\nCMake Error: install(EXPORT \"CucumberCpp\" ...) includes target \"cucumber-cpp-nomain\" which requires target \"json_spirit.header\" that is not in the export set.\r\nCMake Error: install(EXPORT \"CucumberCpp\" ...) includes target \"cucumber-cpp\" which requires target \"json_spirit.header\" that is not in the export set.\r\n```\r\n## Expected Behavior\r\n\r\n<!--- If you're describing a bug, tell us what should happen -->\r\n<!--- If you're suggesting a change/improvement, tell us how it should work -->\r\n<!--- Feel free to use Given / When / Then if that helps, but please add some plain-language context too -->\r\nCMake pass without errors\r\n\r\n## Current Behavior\r\n\r\n<!--- If describing a bug, tell us what happens instead of the expected behavior -->\r\n<!--- If suggesting a change/improvement, explain the difference from current behavior -->\r\n\r\n<!--- If you have got some output place it in the code block below. Otherwise remove it. -->\r\n\r\n\r\nCMake fails with following error:\r\n~~~\r\nCMake Error: install(EXPORT \"CucumberCpp\" ...) includes target \"cucumber-cpp-nomain\" which requires target \"json_spirit.header\" that is not in the export set.\r\nCMake Error: install(EXPORT \"CucumberCpp\" ...) includes target \"cucumber-cpp\" which requires target \"json_spirit.header\" that is not in the export set.\r\n~~~\r\n\r\n## Possible Solution\r\n\r\n<!--- Not obligatory, but suggest a fix/reason for the bug, -->\r\n<!--- or ideas how to implement the addition or change -->\r\nAdding json_spirit.header to the export list? I don't have any experience on the topic.\r\n\r\n## Steps to Reproduce (for bugs)\r\n\r\n<!--- Provide a link to a live example, or an unambiguous set of steps to -->\r\n<!--- reproduce this bug. Include code to reproduce, if relevant -->\r\n1. Clone cucumber-cpp master branch\r\n2. Run:\r\n```\r\n#!/bin/sh\r\nrm -rf build\r\nset -e #break script on non-zero exitcode from any command\r\nset -x #display command being executed\r\nexport GMOCK_VER=1.8.0\r\nexport CXX=clang++\r\nexport C=clang\r\nCTEST_OUTPUT_ON_FAILURE=ON\r\nexport CTEST_OUTPUT_ON_FAILURE\r\ncmake -E make_directory build\r\ncmake -E chdir build cmake \\\r\n    -G Ninja \\\r\n    -DCUKE_DISABLE_GTEST=off \\\r\n    -DCUKE_DISABLE_E2E_TESTS=on \\\r\n    ${GMOCK_PATH:-\"-DGMOCK_VER=${GMOCK_VER}\"} \\\r\n    ${VALGRIND_TESTS:+\"-DVALGRIND_TESTS=${VALGRIND_TESTS}\"} \\\r\n    ..\r\n```\r\nResults are the same with clang and gcc as compilers, so export C/CXX lines are not necessary \r\n\r\n## Context & Motivation\r\n\r\n<!--- How has this issue affected you? What are you trying to accomplish? -->\r\n<!--- Providing context helps us come up with a solution that is most useful in the real world -->\r\ncucumber-cpp is just broken for me at the moment\r\n\r\n## Your Environment\r\n\r\n<!--- If you're reporting a bug, include as many relevant details about the environment you experienced the bug in -->\r\nI'm reproducing this bug on my personal PC:\r\n* Version used: current master: 4f74e19c578a20727ac7f501ba62ff95062685a3\r\n* Operating System and version: Arch linux, current:\r\n```\r\n[konserw@antegros cucumber-cpp]$ clang --version\r\nclang version 6.0.0 (tags/RELEASE_600/final)\r\nTarget: x86_64-pc-linux-gnu\r\nThread model: posix\r\nInstalledDir: /usr/bin\r\n[konserw@antegros cucumber-cpp]$ gcc --version\r\ngcc (GCC) 8.1.0\r\nCopyright (C) 2018 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions.  There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n[konserw@antegros cucumber-cpp]$ cmake --version\r\ncmake version 3.11.2\r\n\r\nCMake suite maintained and supported by Kitware (kitware.com/cmake).\r\n```\r\n* Link to your project: no relevant project\r\n\r\nI'm also reproducing this issue with semaphore-ci I'm experimenting with right now. It may be better for debugging as It is also based on Ubuntu Trusty like travis and is publicly available. But I'm using there my branch with some modifications: https://github.com/konserw/cucumber-cpp/tree/rebase-devel\r\nExample of failed build on semaphore: https://semaphoreci.com/konserw/cucumber-cpp/branches/rebase-devel/builds/1\r\nVersions used on semaphore:\r\n```\r\ncmake --version\r\ncmake version 3.5.1\r\n\r\nCMake suite maintained and supported by Kitware (kitware.com/cmake).\r\n\r\ngcc --version\r\ngcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4\r\nCopyright (C) 2013 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions.  There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\n```\r\n\r\n\r\n\r\nP.S. I'm not sure if this is related, but my with semaphore branch that didn't include install target CMake wasn't failing, but test that relied on json was failing:\r\nhttps://semaphoreci.com/konserw/cucumber-cpp/branches/devel/builds/11\r\n```\r\n\r\n(::) failed steps (::)\r\n\r\nNo such file or directory @ rb_sysopen - /home/runner/cucumber-cpp/build/tmp/data_table.log (Errno::ENOENT)\r\n/home/runner/cucumber-cpp/features/step_definitions/cucumber_cpp_mappings.rb:199:in `read'\r\n/home/runner/cucumber-cpp/features/step_definitions/cucumber_cpp_mappings.rb:199:in `assert_data_table_equals_json'\r\n/home/runner/cucumber-cpp/features/cucumber-tck/step_definitions/cucumber_stepdefs.rb:278:in `/^the data table is converted to the following:$/'\r\n/home/runner/cucumber-cpp/features/cucumber-tck/data_tables.feature:29:in `Then the data table is converted to the following:'\r\n\r\nFailing Scenarios:\r\ncucumber /home/runner/cucumber-cpp/features/cucumber-tck/data_tables.feature:21 # Scenario: a data table can be read as an array of hashes\r\n\r\n67 scenarios (1 failed, 9 pending, 57 passed)\r\n286 steps (1 failed, 24 skipped, 9 pending, 252 passed)\r\n1m45.966s\r\nninja: build stopped: subcommand failed.\r\n```\r\nMaybe we have some problem with those json headers itself, not the cmake file?"},"comment":{"url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/comments/394096964","html_url":"https://github.com/cucumber/cucumber-cpp/issues/193#issuecomment-394096964","issue_url":"https://api.github.com/repos/cucumber/cucumber-cpp/issues/193","id":394096964,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDA5Njk2NA==","user":{"login":"konserw","id":3592272,"node_id":"MDQ6VXNlcjM1OTIyNzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3592272?v=4","gravatar_id":"","url":"https://api.github.com/users/konserw","html_url":"https://github.com/konserw","followers_url":"https://api.github.com/users/konserw/followers","following_url":"https://api.github.com/users/konserw/following{/other_user}","gists_url":"https://api.github.com/users/konserw/gists{/gist_id}","starred_url":"https://api.github.com/users/konserw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/konserw/subscriptions","organizations_url":"https://api.github.com/users/konserw/orgs","repos_url":"https://api.github.com/users/konserw/repos","events_url":"https://api.github.com/users/konserw/events{/privacy}","received_events_url":"https://api.github.com/users/konserw/received_events","type":"User","site_admin":false},"created_at":"2018-06-02T15:54:09Z","updated_at":"2018-06-02T15:54:09Z","author_association":"CONTRIBUTOR","body":"Yes it helps! \r\nSo I think we need to add static build to our CI to be safe for such regressions. Would you agree? "}}
{"actor":{"display_login":"konserw"}}