{"id":2430,"date":"2012-03-23T19:10:25","date_gmt":"2012-03-23T09:10:25","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=2430"},"modified":"2012-03-23T23:45:34","modified_gmt":"2012-03-23T13:45:34","slug":"progress-on-cmake","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2012\/03\/23\/progress-on-cmake\/","title":{"rendered":"Progress on CMake"},"content":{"rendered":"

\"\"<\/a>Okay, I’ll admit that this is a really boring screenshot.\u00a0 But the fireworks are appropriate.<\/p>\n

This is a screenshot of my very first fully successful CMake-based build of the VectorStorm testbeds on OS X.<\/p>\n

This particular executable was built without XCode at all — compiled by gcc, managed by makefiles,\u00a0 debugged via gdb, and then finally assembled into a normal application bundle by CMake.\u00a0 All of which makes me feel nicely retro, since it’s all command-line tools.\u00a0 Of course, with CMake owning the build process, it could just as easily have spit out a native XCode project file instead of the makefiles, and I could have had all the modern GUI conveniences.\u00a0 But it makes me feel better to know that makefiles do work as well.<\/p>\n

There’s still some work to be done, even on the Mac build shown here.\u00a0 For one thing,\u00a0 it’s not correctly noticing that this is a debug build (it is), and so the timing bars aren’t being drawn.\u00a0 That’s probably a missing #define or using the wrong prefix file for something.\u00a0 For another thing, when working under CMake, it really wants to build Unix-style programs, rather than Mac-style bundles;\u00a0 the bundle itself gets built inside the optional “install” build step.\u00a0 And since the VectorStorm library on Mac assumes that it’s always living inside an application bundle, that causes to problems if it’s not.<\/p>\n

There’s also some minor work to be done to make sure that this build system works under Win32 as well.\u00a0 Oddly enough, this is one of those unusual cases where deploying software is far easier under Windows than on the Mac.<\/p>\n

And then once Windows is sorted out, I’ll want to test that it all works under Linux as well.\u00a0 Or maybe I’ll leave that to someone else to verify for me.\u00a0 All this will eventually be put into a public git repository, after all, and so maybe an interested party will raise their hand to help out.<\/p>\n","protected":false},"excerpt":{"rendered":"

Okay, I’ll admit that this is a really boring screenshot.\u00a0 But the fireworks are appropriate. This is a screenshot of my very first fully successful CMake-based build of the VectorStorm testbeds on OS X. This particular executable was built without XCode at all — compiled by gcc, managed by makefiles,\u00a0 debugged via gdb, and then…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[4,3],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-Dc","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2430"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=2430"}],"version-history":[{"count":0,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2430\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=2430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=2430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=2430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}