{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3154","repository_url":"https://api.github.com/repos/RobotLocomotion/drake","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3154/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3154/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3154/events","html_url":"https://github.com/RobotLocomotion/drake/pull/3154","id":171435095,"number":3154,"title":"Fix compilation for multi-configuration generators and debug builds","user":{"login":"jamiesnape","id":3630149,"avatar_url":"https://avatars.githubusercontent.com/u/3630149?v=3","gravatar_id":"","url":"https://api.github.com/users/jamiesnape","html_url":"https://github.com/jamiesnape","followers_url":"https://api.github.com/users/jamiesnape/followers","following_url":"https://api.github.com/users/jamiesnape/following{/other_user}","gists_url":"https://api.github.com/users/jamiesnape/gists{/gist_id}","starred_url":"https://api.github.com/users/jamiesnape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamiesnape/subscriptions","organizations_url":"https://api.github.com/users/jamiesnape/orgs","repos_url":"https://api.github.com/users/jamiesnape/repos","events_url":"https://api.github.com/users/jamiesnape/events{/privacy}","received_events_url":"https://api.github.com/users/jamiesnape/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/configuration:%20matlab","name":"configuration: matlab","color":"fbca04"},{"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/team:%20kitware","name":"team: kitware","color":"0052cc"},{"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/type:%20bug","name":"type: bug","color":"0e8a16"}],"state":"open","locked":false,"assignee":{"login":"mwoehlke-kitware","id":6474409,"avatar_url":"https://avatars.githubusercontent.com/u/6474409?v=3","gravatar_id":"","url":"https://api.github.com/users/mwoehlke-kitware","html_url":"https://github.com/mwoehlke-kitware","followers_url":"https://api.github.com/users/mwoehlke-kitware/followers","following_url":"https://api.github.com/users/mwoehlke-kitware/following{/other_user}","gists_url":"https://api.github.com/users/mwoehlke-kitware/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoehlke-kitware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoehlke-kitware/subscriptions","organizations_url":"https://api.github.com/users/mwoehlke-kitware/orgs","repos_url":"https://api.github.com/users/mwoehlke-kitware/repos","events_url":"https://api.github.com/users/mwoehlke-kitware/events{/privacy}","received_events_url":"https://api.github.com/users/mwoehlke-kitware/received_events","type":"User","site_admin":false},"assignees":[{"login":"mwoehlke-kitware","id":6474409,"avatar_url":"https://avatars.githubusercontent.com/u/6474409?v=3","gravatar_id":"","url":"https://api.github.com/users/mwoehlke-kitware","html_url":"https://github.com/mwoehlke-kitware","followers_url":"https://api.github.com/users/mwoehlke-kitware/followers","following_url":"https://api.github.com/users/mwoehlke-kitware/following{/other_user}","gists_url":"https://api.github.com/users/mwoehlke-kitware/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoehlke-kitware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoehlke-kitware/subscriptions","organizations_url":"https://api.github.com/users/mwoehlke-kitware/orgs","repos_url":"https://api.github.com/users/mwoehlke-kitware/repos","events_url":"https://api.github.com/users/mwoehlke-kitware/events{/privacy}","received_events_url":"https://api.github.com/users/mwoehlke-kitware/received_events","type":"User","site_admin":false},{"login":"david-german-tri","id":17437069,"avatar_url":"https://avatars.githubusercontent.com/u/17437069?v=3","gravatar_id":"","url":"https://api.github.com/users/david-german-tri","html_url":"https://github.com/david-german-tri","followers_url":"https://api.github.com/users/david-german-tri/followers","following_url":"https://api.github.com/users/david-german-tri/following{/other_user}","gists_url":"https://api.github.com/users/david-german-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/david-german-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-german-tri/subscriptions","organizations_url":"https://api.github.com/users/david-german-tri/orgs","repos_url":"https://api.github.com/users/david-german-tri/repos","events_url":"https://api.github.com/users/david-german-tri/events{/privacy}","received_events_url":"https://api.github.com/users/david-german-tri/received_events","type":"User","site_admin":false}],"milestone":null,"comments":26,"created_at":"2016-08-16T14:52:37Z","updated_at":"2016-08-23T22:58:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3154","html_url":"https://github.com/RobotLocomotion/drake/pull/3154","diff_url":"https://github.com/RobotLocomotion/drake/pull/3154.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/3154.patch"},"body":"TLDR: Previous approach assumed PODs.\r\n\r\nThe previous approach was assuming a single configuration build using Makefiles per the PODs conventions. This caused issues with multi-configuration builds in particular, but also debug builds, mostly because it did not take into account that CMake would add its own flags to distinguish between Debug, Release, and other build configurations. Those flags would partially conflict with those added using the introspection of the MEX compilation.\r\n\r\nFortunately, using the optimization flags provided by CMake works well with the MEX compiler (see also here and CMake upstream for the function [matlab_add_mex](https://github.com/Kitware/CMake/blob/master/Modules/FindMatlab.cmake#L790-L1044) in [FindMatlab.cmake](https://github.com/Kitware/CMake/blob/master/Modules/FindMatlab.cmake)). The best approach would be to use that function, which also makes `mex_setup` redundant, but, for now, this fixes compilation.\r\n\r\nAlso Drake overwrote a flags in several places and there were some missing POD installs, so it is surprising that any configuration worked.\r\n\r\nNot upstreaming (yet) because, as far as I can tell, any other consumers are using PODs.\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/3154)\r\n<!-- Reviewable:end -->"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/241906650","html_url":"https://github.com/RobotLocomotion/drake/pull/3154#issuecomment-241906650","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3154","id":241906650,"user":{"login":"david-german-tri","id":17437069,"avatar_url":"https://avatars.githubusercontent.com/u/17437069?v=3","gravatar_id":"","url":"https://api.github.com/users/david-german-tri","html_url":"https://github.com/david-german-tri","followers_url":"https://api.github.com/users/david-german-tri/followers","following_url":"https://api.github.com/users/david-german-tri/following{/other_user}","gists_url":"https://api.github.com/users/david-german-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/david-german-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-german-tri/subscriptions","organizations_url":"https://api.github.com/users/david-german-tri/orgs","repos_url":"https://api.github.com/users/david-german-tri/repos","events_url":"https://api.github.com/users/david-german-tri/events{/privacy}","received_events_url":"https://api.github.com/users/david-german-tri/received_events","type":"User","site_admin":false},"created_at":"2016-08-23T22:58:19Z","updated_at":"2016-08-23T22:58:19Z","body":"@drake-jenkins-bot: retest this please\n\nThe linux_matlab failures look real, though.  :-/\n\n---\n\nReview status: all files reviewed at latest revision, all discussions resolved, some commit checks pending.\n\n---\n\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/robotlocomotion/drake/3154#-:-KPtbyUHA8ybxqn3fCET:b6wbq1e)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"david-german-tri"}}