{"action":"created","issue":{"url":"https://api.github.com/repos/andlabs/libui/issues/62","repository_url":"https://api.github.com/repos/andlabs/libui","labels_url":"https://api.github.com/repos/andlabs/libui/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/andlabs/libui/issues/62/comments","events_url":"https://api.github.com/repos/andlabs/libui/issues/62/events","html_url":"https://github.com/andlabs/libui/issues/62","id":156655569,"number":62,"title":"[POLL] Build system change","user":{"login":"andlabs","id":718242,"avatar_url":"https://avatars.githubusercontent.com/u/718242?v=3","gravatar_id":"","url":"https://api.github.com/users/andlabs","html_url":"https://github.com/andlabs","followers_url":"https://api.github.com/users/andlabs/followers","following_url":"https://api.github.com/users/andlabs/following{/other_user}","gists_url":"https://api.github.com/users/andlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/andlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andlabs/subscriptions","organizations_url":"https://api.github.com/users/andlabs/orgs","repos_url":"https://api.github.com/users/andlabs/repos","events_url":"https://api.github.com/users/andlabs/events{/privacy}","received_events_url":"https://api.github.com/users/andlabs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/andlabs/libui/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/andlabs/libui/labels/help%20wanted","name":"help wanted","color":"159818"},{"url":"https://api.github.com/repos/andlabs/libui/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-05-25T03:26:27Z","updated_at":"2016-05-25T05:12:31Z","closed_at":null,"body":"I had four reasons for choosing flat makefiles:\r\n\r\n1. I wanted libui to not have any extra dependencies (GNU make on Windows was already pushing it, but nmake is just way too primitive).\r\n2. I wanted to ensure that every generated file goes somewhere clean that I can predict away from the actual source code, in this case to just `.obj` and `out` directories (obviating the need for #13 in my opinion, at least)\r\n3. I'm not really a fan of other build systems to begin with, either because of their complexity or their mess (see point 2 above)\r\n4. I wanted to know exactly what was going on in the build process\r\n\r\nHowever it seems that this decision is causing problems for lots of people, mostly on Windows where the command-line Visual Studio tools either behave unpredictably or require special handling depending on the configuration. @kainjow in #15 makes [a really good point](https://github.com/andlabs/libui/pull/18#issuecomment-221157921): most Windows users are likely more familiar with an IDE than with the command-line build system, to the point that command-line systems like cmake are more accessible.\r\n\r\nWhile it's true I originally resisted changing, thinking make would be simpler, the number of build issues keeps growing, especially on other platforms. So now I'm willing ot hear arguments for specific build systems.\r\n\r\nI genuinely do not have a preference for any one build system over the other, so please make your case for one you prefer. As part of your case, you should demonstrate what a setup for libui, the test/ folder, and each example would look like, as well as (if possible) a rule to build all examples. Feel free to point out any other advantages or disadvantages.\r\n\r\nI'll make my decision and switch build systems if one appeals to me more than the others.\r\n\r\nThanks for your feedback! I do appreciate it all, and I want to make sure libui works for everyone :)"},"comment":{"url":"https://api.github.com/repos/andlabs/libui/issues/comments/221474804","html_url":"https://github.com/andlabs/libui/issues/62#issuecomment-221474804","issue_url":"https://api.github.com/repos/andlabs/libui/issues/62","id":221474804,"user":{"login":"andlabs","id":718242,"avatar_url":"https://avatars.githubusercontent.com/u/718242?v=3","gravatar_id":"","url":"https://api.github.com/users/andlabs","html_url":"https://github.com/andlabs","followers_url":"https://api.github.com/users/andlabs/followers","following_url":"https://api.github.com/users/andlabs/following{/other_user}","gists_url":"https://api.github.com/users/andlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/andlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andlabs/subscriptions","organizations_url":"https://api.github.com/users/andlabs/orgs","repos_url":"https://api.github.com/users/andlabs/repos","events_url":"https://api.github.com/users/andlabs/events{/privacy}","received_events_url":"https://api.github.com/users/andlabs/received_events","type":"User","site_admin":false},"created_at":"2016-05-25T05:12:31Z","updated_at":"2016-05-25T05:12:31Z","body":"And everything is created in `.`? (So I would do `mkdir build; cd build; cmake ..` to drop build files elsewhere?)"}}
{"actor":{"display_login":"andlabs"}}