{"action":"created","issue":{"url":"https://api.github.com/repos/Z3Prover/z3/issues/986","repository_url":"https://api.github.com/repos/Z3Prover/z3","labels_url":"https://api.github.com/repos/Z3Prover/z3/issues/986/labels{/name}","comments_url":"https://api.github.com/repos/Z3Prover/z3/issues/986/comments","events_url":"https://api.github.com/repos/Z3Prover/z3/issues/986/events","html_url":"https://github.com/Z3Prover/z3/issues/986","id":224785396,"number":986,"title":"Making the CMake build system a first class citizen","user":{"login":"delcypher","id":511795,"avatar_url":"https://avatars3.githubusercontent.com/u/511795?v=3","gravatar_id":"","url":"https://api.github.com/users/delcypher","html_url":"https://github.com/delcypher","followers_url":"https://api.github.com/users/delcypher/followers","following_url":"https://api.github.com/users/delcypher/following{/other_user}","gists_url":"https://api.github.com/users/delcypher/gists{/gist_id}","starred_url":"https://api.github.com/users/delcypher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delcypher/subscriptions","organizations_url":"https://api.github.com/users/delcypher/orgs","repos_url":"https://api.github.com/users/delcypher/repos","events_url":"https://api.github.com/users/delcypher/events{/privacy}","received_events_url":"https://api.github.com/users/delcypher/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2017-04-27T13:34:48Z","updated_at":"2017-06-12T09:08:36Z","closed_at":null,"body":"Since the CMake build system in #461 I've been slowly implementing additional feature to make it on par with the original Python/Makefile based build system.\r\n\r\nThe following features are missing (but are being actively worked on)\r\n\r\n- [x] Doxygen support (Implemented in PR #984 )\r\n- [ ] OCaml binding support\r\n- [x] Implement support for \"log sync\" compile time option (see issue #803) (Implemented in PR #1037).\r\n- [x] ~~FOCI2 support. Waiting for response in #1032~~ EDIT: FOCI2 was deprecated and has been removed.\r\n- [ ] Fix re-generation of some `.cpp` source files (#1030)\r\n\r\nSince we are very close to having feature parity and the build system has been in place for over a year (and thus we've had plenty of time for people to try it) I thought it might be a good time to re-evaluate the position of the build system within the project. [I also hear that Visual Studio 2017 is supposed to have substantially better CMake integration](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/cmake-support-in-visual-studio/) which is a nice bonus for Visual Studio users.\r\n\r\nRight now the build system isn't really a \"first class citizen\" because it lives in `contrib/` and is not tested by CI. I'd like to change this so (resources permitting) I'd like to see\r\n\r\n- [ ] Continuous integration testing using the CMake build system added. If the resources for this aren't available I'd be willing to set up testing via third party services like [TravisCI](https://travis-ci.org/) and [AppVeyor](https://www.appveyor.com/).\r\n- [ ] Moving the CMake files out of `contrib/` to where CMake expects them to live. This isn't essential but it would be a nice change because I find myself frequently shooting myself in the foot when I forget to run the `contrib/cmake/boostrap.py` script.\r\n\r\nNote I am not suggesting removing or deprecating the original Python/Makefile. Although that is what I'd like to see happen eventually this is not my decision to make. If this is the route we want to go down a first step would be to set up extensive testing (as I'm suggesting above) so that any problems with the CMake build system can be fixed before deprecating the old build system.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/Z3Prover/z3/issues/comments/307732719","html_url":"https://github.com/Z3Prover/z3/issues/986#issuecomment-307732719","issue_url":"https://api.github.com/repos/Z3Prover/z3/issues/986","id":307732719,"user":{"login":"delcypher","id":511795,"avatar_url":"https://avatars3.githubusercontent.com/u/511795?v=3","gravatar_id":"","url":"https://api.github.com/users/delcypher","html_url":"https://github.com/delcypher","followers_url":"https://api.github.com/users/delcypher/followers","following_url":"https://api.github.com/users/delcypher/following{/other_user}","gists_url":"https://api.github.com/users/delcypher/gists{/gist_id}","starred_url":"https://api.github.com/users/delcypher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delcypher/subscriptions","organizations_url":"https://api.github.com/users/delcypher/orgs","repos_url":"https://api.github.com/users/delcypher/repos","events_url":"https://api.github.com/users/delcypher/events{/privacy}","received_events_url":"https://api.github.com/users/delcypher/received_events","type":"User","site_admin":false},"created_at":"2017-06-12T09:08:36Z","updated_at":"2017-06-12T09:08:36Z","body":"@NikolajBjorner \r\n> It would deprecate a conceptual contribution from @agurfinkel to the master branch (still anticipating in suspense the Spacer pull request).\r\n\r\nSpacer pull request? Could you elaborate on that?"}}
{"actor":{"display_login":"delcypher"}}