View Poll Results: what build system you prefer (esp. for clanlib) ?

Voters
7. You may not vote on this poll
  • automake

    1 14.29%
  • cmake

    2 28.57%
  • qmake

    1 14.29%
  • another

    3 42.86%
Results 1 to 11 of 11

Thread: Build System ?

  1. #1

    Lightbulb Build System ?

    Hi there, my first posting

    Is it theoretical possible to move to a really crossplattform build system like qmake or cmake ? Well, i prefer cmake - do you know that ?
    Maybe you hear, that KDE will use cmake in future, instead of automake-stuff.

    The building of clanlib is a little bit confusing especially under the aspects of mingw under windows

    So Cmake is a nice alternative - it generates projectfiles for kdevelop, codeblocks, eclipse and devcpp - so think about it

    I can help a bit, I already used cmake for work.

    But maybe the code of Clanlib is not able to compile under windows and mingw (gcc) at the same time, I don't know, but it could be ... when used somehow strange #defines or when you must use mfc under windows, for example ...

    My english is the worst, I know - so what about the Build System ?

  2. #2
    ClanLib Developer
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    554

    Default

    Personally I use the configure application that builds Visual Studio solutions.

    That said, I do not really care which build system ClanLib uses for Linux, Freebsd and OS X. What it really comes down to is who is willing to maintain such build systems, and the current maintainers chose to use automake and that's why it uses automake.

    If someone provided a cmake build system AND if that new build system was continuously maintained, then we would not mind including it in the source distribution.

  3. #3

    Default

    ah jea ... I can try to switch the whole Clanlib directory to CMake - the main "work" on it, is to find out, which external libs are to use.

    So you wants to say: If I do that s**t and it works, it could go up to SVN ? Or is this step more complicated.

    Because with collaborations on opensource software I've no real experience.
    (with english too - reading is easy ... - we use english as "lingua franca", but just rudimentary )

    Edit: This Step with a configure-app is a very special strange thing ... so I thought, that this could be replaced.

    Edit2: Idea ... I kept in mind, that you "just" have to add a CmakeList.txt in every necessary directory, that should not catch someone's eye ... and you can compile all stuff "out source" ... sounds interesting, a medium challenge for the rest of my "holidays".

    Last question, should I start with the 0.81 or the 0.9 version ? ;-)

    Edit3: A thought later: their are conversion scripts from automake to cmake - I'll try :-p
    Last edited by zyklo; 08-17-2008 at 03:19 PM.

  4. #4
    ClanLib Developer
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    554

    Default

    Maybe I wasn't clear enough in the former post. I didn't mean to say that if you did a CMake build system for ClanLib that I'd switch from that instead of the current windows configure program. The probability that you will be able to create a CMake build system that suits me better than the current one is very slim, since such a build system would have to integrate naturally with Visual Studio down the point of having the Solution Explorer always up-to-date and not force me to ever open a console window.

    What I meant was that if you personally want to use CMake for ClanLib and would like to contribute such a build system, then we will most likely include it in our distribution if you request that. But keep in mind that unless someone voluntarily maintains this new build system, it might get out of sync with how clanlib is built, and that would eventually make us remove the system from our distribution again (to avoid wasting people's time with a broken build system).

  5. #5

    Default

    hm, I understood.

    But the time wasting factor of building clanlib under mingw is not less - because there are no binarys available, that leads to painful handish adjustments - okay, I'll write again, if I have already something to show.

    btw. Cmake has a GUI (under win) and full integration in Kdevelop, especially for the future - so in Kdevelop 4

    down the point of having the Solution Explorer always up-to-date
    Just a prob. if you add/remove files very often, I think.
    For now you also cant go backward: changing dsp/dsw/sln-files will have no effect for the autotools under linux - maybe I should have a look to the configure-program ...

  6. #6
    ClanLib Developer
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    554

    Default

    Since I develop using Visual Studio it does not really concern me much whether it compiles under mingw or not. And since I do not use KDevelop, the advantages to that system is also fairly uninteresting to me.

    The catch of open source software is that since people do not get paid for the work they do, they tend to do things that interest them - not things that pays the bill.

    To illustrate this nicely, when the initial port of ClanLib to Mac OS X was made, I wrote my own makefile generator because it allowed me to code the way I work on my Mac. Then one day someone came along and noticed that I wasn't using the system 'someone else' was using, in this case XCode from Apple. So he got permission to replace the Mac build system with 'better' project files for this Apple IDE and in those patches the old makefile build system of mine was erased.

    Anyway time passes by and the guy gets married and we never hear from him again (maybe he got busy! ), and in the meantime I make extensive changes to ClanLib, which changes the directory structure and all kinds of things related to the build process. But now since my old build system is gone, and the new 'better' build system based on XCode uses a tool which I hate to use, the end result is that the Mac target in 0.9 is completely dead. I don't really mind fixing code in the Mac target, but the new build system prevents me from doing it without forcing me to learn a tool I really do not want to learn.

    It doesn't really matter at all (to me and the other main devs) whether CMake is a better build system than what we currently use, since we like what we have and if we didn't we would be using something else.

    Therefore, if you want to contribute a CMake build system to ClanLib, you should be doing it for your own sake and perhaps other people that may like such a system. Doing it for our sake is pointless since it is very unlikely we will begin to use it.
    Last edited by Judas; 08-18-2008 at 05:05 PM. Reason: typos

  7. #7
    ClanLib Developer
    Join Date
    May 2007
    Posts
    1,824

    Default

    (With reference to ClanLib 0.9)

    I like the current ./autogen.sh because it works! (On ubuntu and suse)
    Code:
    	./autogen.sh
    	./configure --prefix=/usr
    	make
    	sudo make install
    On Suse 11.0, you need to do:
    Code:
    cd /usr
    sudo cp lib/pkgconfig/clan* lib64/pkgconfig
    This needs fixed

    I do not use kdevelop, i simply use the standard text editor.

    Also, remember clanlib "should" be compatible with the numerous window managers out there.

  8. #8

    Default

    Yes okay - I see, Magnus is the onliest Windows-Developer ?

    - Because, under Vista - I wanna run the configure.exe (created with Visual Studio 2005), doesn't matter, what compatibility-mode or what rights the program has for its execution, it doesn't create the Project-Files.

    - Then, created all with Codeblocks, that works with a little bit help, but then I want to compile an example an their is asked for some clanlibxxx-debug-multthreading-static w.t.f. - Librarys, but I just have clanlibxxx and clanlibxxxd Librarys - that's strange

    - Try to compile the Codeblock-Projects with the Mingw compiler, after removing these backslash-compiler-options fails, because MinGW defines "Win32" and in the sources their is (I think) assumed, that "Win32" means automatically VisualStudio ...

    so it's hard for me to create some running example programs under windows, that was my intention to renew the build-process, examples that works are well known, VTK, ITK f.e. are very big Librarys that works fine under Windows and Linux with absolutely zero problems :-(

    In this direction (Mingw + Win32) I want to help, because gcc itself is very "cross-plattform" and for mathematics I can also help, only for super-native-engish-speaking texts, I'm too stupid

  9. #9

    Default

    Hi! (my first post here on the forums, yey!)

    Have anyone of you tried scons?

    http://www.scons.org/

    I have used it for all of my projects when I discovered it and it works like a charm. I mainly made cross platform apps, and no problems what so ever.

    And if you need something like "if windows && debug && certain lib" you can make these check in python so it's easy for customization.

    And of course they advertise id uses it (at least on doom 3).

  10. #10
    Lesser Knight
    Join Date
    Aug 2008
    Location
    Folsom, California USA
    Posts
    37

    Default

    I tried Scons for a while on a different project. It's nice for building complicated projects with a simple command-line interface, but I found it to be very slow as well. Kicking off a SCons build every time you make some incremental change is painful. You still need IDE-specific projects to do iterative development efficiently. SCons can theoretically generate stuff like VC project files.

    I think the existing automake method is fine. It works and the people central to the project already understand it. With 0.9 in considerable churn heading towards a release, I think now is not the time to mess with the build system.

    --- Kevin

  11. #11
    ClanLib Developer
    Join Date
    May 2007
    Posts
    1,824

    Default

    I have added an experimental support for kdevelop.

    This can be used to compile and edit ClanLib.

    See: README.kdevelop for further information

Similar Threads

  1. I need help using CL_Font with a System font on the Mac
    By eoliveri in forum Official ClanLib SDK Forums
    Replies: 2
    Last Post: 08-07-2007, 01:59 PM
  2. New to Novashell: Is there a Battle System?
    By Joe Rossi in forum Novashell Game Creation System
    Replies: 2
    Last Post: 06-14-2007, 07:41 AM
  3. Browse system missing
    By Razor in forum Official ClanLib SDK Forums
    Replies: 0
    Last Post: 01-24-2007, 09:32 AM
  4. Can't build configure.dsw
    By Angew in forum Official ClanLib SDK Forums
    Replies: 5
    Last Post: 12-06-2006, 09:43 AM
  5. Payment system
    By in forum Funeral Quest
    Replies: 0
    Last Post: 12-15-2002, 07:46 AM

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •