{"action":"closed","number":132,"pull_request":{"url":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132","id":217440760,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3NDQwNzYw","html_url":"https://github.com/WG21-SG14/SG14/pull/132","diff_url":"https://github.com/WG21-SG14/SG14/pull/132.diff","patch_url":"https://github.com/WG21-SG14/SG14/pull/132.patch","issue_url":"https://api.github.com/repos/WG21-SG14/SG14/issues/132","number":132,"state":"closed","locked":false,"title":"cmake : Update cmake. Apply best-practices.","user":{"login":"p-groarke","id":156883,"node_id":"MDQ6VXNlcjE1Njg4Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/156883?v=4","gravatar_id":"","url":"https://api.github.com/users/p-groarke","html_url":"https://github.com/p-groarke","followers_url":"https://api.github.com/users/p-groarke/followers","following_url":"https://api.github.com/users/p-groarke/following{/other_user}","gists_url":"https://api.github.com/users/p-groarke/gists{/gist_id}","starred_url":"https://api.github.com/users/p-groarke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p-groarke/subscriptions","organizations_url":"https://api.github.com/users/p-groarke/orgs","repos_url":"https://api.github.com/users/p-groarke/repos","events_url":"https://api.github.com/users/p-groarke/events{/privacy}","received_events_url":"https://api.github.com/users/p-groarke/received_events","type":"User","site_admin":false},"body":"There are a few cppcon talks about the new cmake idioms and why they are preferred. I'm happy to share links if you need more convincing ;)\r\n\r\nPotentially controversial : Move CMakeLists.txt to root, as is standard in 99.9% of cmake projects.\r\n\r\nOther changes:\r\n- Update cmake.\r\n- Use an INTERFACE library for SG14 (header-only library). This allows include directories and options to be inherited when linking with the library (see unit test executable for an example).\r\n- Use modern cmake idioms.\r\n- Use modern compiler checks.\r\n- Don't set CXX_FLAGS that are already set by cmake. Don't use generator time DEBUG/RELEASE. This allows generation of IDE solutions that can easily switch between debug/release.\r\n\r\nThe changes force C++17 on MSVC, and enable both the new two-phase lookup and the standard c++ version defines. This does cause a rather banal compile issue in colony, and a few warnings (that should be looked at) in slot_map.\r\n\r\nI've temporarily disabled warnings as errors on MSVC. If this gets merged, I will open up an issue with Microsoft for the colony problem. I believe it is a VS bug.\r\n\r\nNote : I can only test on windows right now. I will be able to test on a mac in the future.","created_at":"2018-09-22T05:43:54Z","updated_at":"2018-09-27T21:38:10Z","closed_at":"2018-09-27T21:38:10Z","merged_at":"2018-09-27T21:38:10Z","merge_commit_sha":"f4b9a7d85af66ea369db4a4f5692184aaba063fd","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132/commits","review_comments_url":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132/comments","review_comment_url":"https://api.github.com/repos/WG21-SG14/SG14/pulls/comments{/number}","comments_url":"https://api.github.com/repos/WG21-SG14/SG14/issues/132/comments","statuses_url":"https://api.github.com/repos/WG21-SG14/SG14/statuses/c8a14d94a5d5ab724772c50746c7bb488662b3f5","head":{"label":"p-groarke:cmake","ref":"cmake","sha":"c8a14d94a5d5ab724772c50746c7bb488662b3f5","user":{"login":"p-groarke","id":156883,"node_id":"MDQ6VXNlcjE1Njg4Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/156883?v=4","gravatar_id":"","url":"https://api.github.com/users/p-groarke","html_url":"https://github.com/p-groarke","followers_url":"https://api.github.com/users/p-groarke/followers","following_url":"https://api.github.com/users/p-groarke/following{/other_user}","gists_url":"https://api.github.com/users/p-groarke/gists{/gist_id}","starred_url":"https://api.github.com/users/p-groarke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p-groarke/subscriptions","organizations_url":"https://api.github.com/users/p-groarke/orgs","repos_url":"https://api.github.com/users/p-groarke/repos","events_url":"https://api.github.com/users/p-groarke/events{/privacy}","received_events_url":"https://api.github.com/users/p-groarke/received_events","type":"User","site_admin":false},"repo":{"id":149846371,"node_id":"MDEwOlJlcG9zaXRvcnkxNDk4NDYzNzE=","name":"SG14","full_name":"p-groarke/SG14","private":false,"owner":{"login":"p-groarke","id":156883,"node_id":"MDQ6VXNlcjE1Njg4Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/156883?v=4","gravatar_id":"","url":"https://api.github.com/users/p-groarke","html_url":"https://github.com/p-groarke","followers_url":"https://api.github.com/users/p-groarke/followers","following_url":"https://api.github.com/users/p-groarke/following{/other_user}","gists_url":"https://api.github.com/users/p-groarke/gists{/gist_id}","starred_url":"https://api.github.com/users/p-groarke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p-groarke/subscriptions","organizations_url":"https://api.github.com/users/p-groarke/orgs","repos_url":"https://api.github.com/users/p-groarke/repos","events_url":"https://api.github.com/users/p-groarke/events{/privacy}","received_events_url":"https://api.github.com/users/p-groarke/received_events","type":"User","site_admin":false},"html_url":"https://github.com/p-groarke/SG14","description":"A library for Study Group 14 of Working Group 21 (C++)","fork":true,"url":"https://api.github.com/repos/p-groarke/SG14","forks_url":"https://api.github.com/repos/p-groarke/SG14/forks","keys_url":"https://api.github.com/repos/p-groarke/SG14/keys{/key_id}","collaborators_url":"https://api.github.com/repos/p-groarke/SG14/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/p-groarke/SG14/teams","hooks_url":"https://api.github.com/repos/p-groarke/SG14/hooks","issue_events_url":"https://api.github.com/repos/p-groarke/SG14/issues/events{/number}","events_url":"https://api.github.com/repos/p-groarke/SG14/events","assignees_url":"https://api.github.com/repos/p-groarke/SG14/assignees{/user}","branches_url":"https://api.github.com/repos/p-groarke/SG14/branches{/branch}","tags_url":"https://api.github.com/repos/p-groarke/SG14/tags","blobs_url":"https://api.github.com/repos/p-groarke/SG14/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/p-groarke/SG14/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/p-groarke/SG14/git/refs{/sha}","trees_url":"https://api.github.com/repos/p-groarke/SG14/git/trees{/sha}","statuses_url":"https://api.github.com/repos/p-groarke/SG14/statuses/{sha}","languages_url":"https://api.github.com/repos/p-groarke/SG14/languages","stargazers_url":"https://api.github.com/repos/p-groarke/SG14/stargazers","contributors_url":"https://api.github.com/repos/p-groarke/SG14/contributors","subscribers_url":"https://api.github.com/repos/p-groarke/SG14/subscribers","subscription_url":"https://api.github.com/repos/p-groarke/SG14/subscription","commits_url":"https://api.github.com/repos/p-groarke/SG14/commits{/sha}","git_commits_url":"https://api.github.com/repos/p-groarke/SG14/git/commits{/sha}","comments_url":"https://api.github.com/repos/p-groarke/SG14/comments{/number}","issue_comment_url":"https://api.github.com/repos/p-groarke/SG14/issues/comments{/number}","contents_url":"https://api.github.com/repos/p-groarke/SG14/contents/{+path}","compare_url":"https://api.github.com/repos/p-groarke/SG14/compare/{base}...{head}","merges_url":"https://api.github.com/repos/p-groarke/SG14/merges","archive_url":"https://api.github.com/repos/p-groarke/SG14/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/p-groarke/SG14/downloads","issues_url":"https://api.github.com/repos/p-groarke/SG14/issues{/number}","pulls_url":"https://api.github.com/repos/p-groarke/SG14/pulls{/number}","milestones_url":"https://api.github.com/repos/p-groarke/SG14/milestones{/number}","notifications_url":"https://api.github.com/repos/p-groarke/SG14/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/p-groarke/SG14/labels{/name}","releases_url":"https://api.github.com/repos/p-groarke/SG14/releases{/id}","deployments_url":"https://api.github.com/repos/p-groarke/SG14/deployments","created_at":"2018-09-22T04:49:38Z","updated_at":"2018-09-22T04:49:41Z","pushed_at":"2018-09-27T02:12:23Z","git_url":"git://github.com/p-groarke/SG14.git","ssh_url":"git@github.com:p-groarke/SG14.git","clone_url":"https://github.com/p-groarke/SG14.git","svn_url":"https://github.com/p-groarke/SG14","homepage":null,"size":51156,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"WG21-SG14:master","ref":"master","sha":"495a74046d9012f9bfe6551ee48aedf3a79d3ddb","user":{"login":"WG21-SG14","id":12787654,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzg3NjU0","avatar_url":"https://avatars3.githubusercontent.com/u/12787654?v=4","gravatar_id":"","url":"https://api.github.com/users/WG21-SG14","html_url":"https://github.com/WG21-SG14","followers_url":"https://api.github.com/users/WG21-SG14/followers","following_url":"https://api.github.com/users/WG21-SG14/following{/other_user}","gists_url":"https://api.github.com/users/WG21-SG14/gists{/gist_id}","starred_url":"https://api.github.com/users/WG21-SG14/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WG21-SG14/subscriptions","organizations_url":"https://api.github.com/users/WG21-SG14/orgs","repos_url":"https://api.github.com/users/WG21-SG14/repos","events_url":"https://api.github.com/users/WG21-SG14/events{/privacy}","received_events_url":"https://api.github.com/users/WG21-SG14/received_events","type":"Organization","site_admin":false},"repo":{"id":37029466,"node_id":"MDEwOlJlcG9zaXRvcnkzNzAyOTQ2Ng==","name":"SG14","full_name":"WG21-SG14/SG14","private":false,"owner":{"login":"WG21-SG14","id":12787654,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzg3NjU0","avatar_url":"https://avatars3.githubusercontent.com/u/12787654?v=4","gravatar_id":"","url":"https://api.github.com/users/WG21-SG14","html_url":"https://github.com/WG21-SG14","followers_url":"https://api.github.com/users/WG21-SG14/followers","following_url":"https://api.github.com/users/WG21-SG14/following{/other_user}","gists_url":"https://api.github.com/users/WG21-SG14/gists{/gist_id}","starred_url":"https://api.github.com/users/WG21-SG14/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WG21-SG14/subscriptions","organizations_url":"https://api.github.com/users/WG21-SG14/orgs","repos_url":"https://api.github.com/users/WG21-SG14/repos","events_url":"https://api.github.com/users/WG21-SG14/events{/privacy}","received_events_url":"https://api.github.com/users/WG21-SG14/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/WG21-SG14/SG14","description":"A library for Study Group 14 of Working Group 21 (C++)","fork":false,"url":"https://api.github.com/repos/WG21-SG14/SG14","forks_url":"https://api.github.com/repos/WG21-SG14/SG14/forks","keys_url":"https://api.github.com/repos/WG21-SG14/SG14/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WG21-SG14/SG14/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WG21-SG14/SG14/teams","hooks_url":"https://api.github.com/repos/WG21-SG14/SG14/hooks","issue_events_url":"https://api.github.com/repos/WG21-SG14/SG14/issues/events{/number}","events_url":"https://api.github.com/repos/WG21-SG14/SG14/events","assignees_url":"https://api.github.com/repos/WG21-SG14/SG14/assignees{/user}","branches_url":"https://api.github.com/repos/WG21-SG14/SG14/branches{/branch}","tags_url":"https://api.github.com/repos/WG21-SG14/SG14/tags","blobs_url":"https://api.github.com/repos/WG21-SG14/SG14/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WG21-SG14/SG14/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WG21-SG14/SG14/git/refs{/sha}","trees_url":"https://api.github.com/repos/WG21-SG14/SG14/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WG21-SG14/SG14/statuses/{sha}","languages_url":"https://api.github.com/repos/WG21-SG14/SG14/languages","stargazers_url":"https://api.github.com/repos/WG21-SG14/SG14/stargazers","contributors_url":"https://api.github.com/repos/WG21-SG14/SG14/contributors","subscribers_url":"https://api.github.com/repos/WG21-SG14/SG14/subscribers","subscription_url":"https://api.github.com/repos/WG21-SG14/SG14/subscription","commits_url":"https://api.github.com/repos/WG21-SG14/SG14/commits{/sha}","git_commits_url":"https://api.github.com/repos/WG21-SG14/SG14/git/commits{/sha}","comments_url":"https://api.github.com/repos/WG21-SG14/SG14/comments{/number}","issue_comment_url":"https://api.github.com/repos/WG21-SG14/SG14/issues/comments{/number}","contents_url":"https://api.github.com/repos/WG21-SG14/SG14/contents/{+path}","compare_url":"https://api.github.com/repos/WG21-SG14/SG14/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WG21-SG14/SG14/merges","archive_url":"https://api.github.com/repos/WG21-SG14/SG14/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WG21-SG14/SG14/downloads","issues_url":"https://api.github.com/repos/WG21-SG14/SG14/issues{/number}","pulls_url":"https://api.github.com/repos/WG21-SG14/SG14/pulls{/number}","milestones_url":"https://api.github.com/repos/WG21-SG14/SG14/milestones{/number}","notifications_url":"https://api.github.com/repos/WG21-SG14/SG14/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WG21-SG14/SG14/labels{/name}","releases_url":"https://api.github.com/repos/WG21-SG14/SG14/releases{/id}","deployments_url":"https://api.github.com/repos/WG21-SG14/SG14/deployments","created_at":"2015-06-07T19:37:00Z","updated_at":"2018-09-26T04:03:55Z","pushed_at":"2018-09-27T21:38:10Z","git_url":"git://github.com/WG21-SG14/SG14.git","ssh_url":"git@github.com:WG21-SG14/SG14.git","clone_url":"https://github.com/WG21-SG14/SG14.git","svn_url":"https://github.com/WG21-SG14/SG14","homepage":null,"size":51120,"stargazers_count":246,"watchers_count":246,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":34,"mirror_url":null,"archived":false,"open_issues_count":18,"license":null,"forks":34,"open_issues":18,"watchers":246,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132"},"html":{"href":"https://github.com/WG21-SG14/SG14/pull/132"},"issue":{"href":"https://api.github.com/repos/WG21-SG14/SG14/issues/132"},"comments":{"href":"https://api.github.com/repos/WG21-SG14/SG14/issues/132/comments"},"review_comments":{"href":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132/comments"},"review_comment":{"href":"https://api.github.com/repos/WG21-SG14/SG14/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/WG21-SG14/SG14/pulls/132/commits"},"statuses":{"href":"https://api.github.com/repos/WG21-SG14/SG14/statuses/c8a14d94a5d5ab724772c50746c7bb488662b3f5"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"Quuxplusone","id":702021,"node_id":"MDQ6VXNlcjcwMjAyMQ==","avatar_url":"https://avatars0.githubusercontent.com/u/702021?v=4","gravatar_id":"","url":"https://api.github.com/users/Quuxplusone","html_url":"https://github.com/Quuxplusone","followers_url":"https://api.github.com/users/Quuxplusone/followers","following_url":"https://api.github.com/users/Quuxplusone/following{/other_user}","gists_url":"https://api.github.com/users/Quuxplusone/gists{/gist_id}","starred_url":"https://api.github.com/users/Quuxplusone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Quuxplusone/subscriptions","organizations_url":"https://api.github.com/users/Quuxplusone/orgs","repos_url":"https://api.github.com/users/Quuxplusone/repos","events_url":"https://api.github.com/users/Quuxplusone/events{/privacy}","received_events_url":"https://api.github.com/users/Quuxplusone/received_events","type":"User","site_admin":false},"comments":12,"review_comments":21,"maintainer_can_modify":false,"commits":4,"additions":100,"deletions":62,"changed_files":6}}
{"actor":{"display_login":"Quuxplusone"}}