Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#257 closed task (wontfix)

Improve build system

Reported by: Jon Latané Owned by:
Priority: Nice to Have Milestone:
Component: Non-game systems Keywords:
Cc: ingmar@… Patch:

Description

It's great to see you guys have open-sourced this project; however, the build system for Linux and OS X seems a little bit insane right now. I'd like to offer some assistance in porting the build system to SCons, a Python-based build system that is much simpler to work with and won't require the use of Premake or workspaces. I think making Makefiles is generally a pretty frightful workaround for the inadequacies of Make, and a more modern build system would simplify development of this project a great deal. Using scons, the Premake and workspace stuff would be replaced by a scons-local installation, allowing Unix developers to simply run 'python scons.py' to compile. In doing this, I'd also like to update the Mac build process to:

1) Build proper .app bundles

2) Make use of all the libraries the developer has available, but link statically against any libraries not included by default in OS X. In this way, for example, the developer can compile with FFMpeg from MacPorts, but not require the user to install MacPorts. The alternative is to include the libraries in the application bundle, but that would just result in a larger, slower application and increase the amount of work required in the build system (especially since this would involve changing install_names so the loader could locate everything). The only requirement I've found so far that's required that doesn't have static libraries by default in MacPorts is wxWidgets

I'm still in the process of checking the project out, but I thought it would be worthwhile to gauge your interest in this. There are other good build systems like CMake available as well, but SCons is the one I'm most familiar with and thus the one I think I could contribute the most with. If you guys think this would be a good idea I should be able to start working on it fairly soon (obviously, I don't want to waste a lot of time on it if not). Just let me know and I can get started on this ASAP.

Change History (5)

comment:1 by sobczyk, 15 years ago

I totally agree that the current build system is hard to use.

Maybe CMake would be a good option? It has a good .deb .rpm ,windows installer, mac package creation support. (CPack) http://www.itk.org/Wiki/CMake:CPackPackageGenerators

comment:2 by Philip Taylor, 15 years ago

I've copied this to the forum, since it seems like a topic that needs discussion, and the forum is a more convenient medium for discussions.

comment:3 by Ingmar Vanhassel, 15 years ago

Cc: ingmar@… added

comment:4 by Philip Taylor, 14 years ago

Resolution: wontfix
Status: newclosed

Would still be great to improve the build system somehow, but it generally seems like the major potential benefits (Xcode support etc) can be most easily achieved by upgrading/patching Premake, and it'll be a lot more work and disruption to switch to something completely new. Premake's far from ideal, and I wouldn't want to stop someone taking the initiative to replace it, but I don't think it's a high priority now. So, marking this as wontfix in an attempt to clean up Trac a tiny bit.

comment:5 by (none), 14 years ago

Milestone: Open Source Release

Milestone Open Source Release deleted

Note: See TracTickets for help on using tickets.