Re: [Inkscape-devel] Build System
For all the use I get out of inkscape, I'd like to pitch in with this. I figure it would be a good way to get my feet wet, and I've been hawking this list long enough.
The most coding I've done is some really basic php scripting, but I'm somewhat familiar with the basics, so if someone would tell me what to do, I'd be happy to pitch in. I've really no clue where to start.
I'm going to chime in here. The main reason I picked Cmake was the Build syntax looked considerable less painfully then most of the other systems out especially when compared to the Auto* build system. Secondly it is cross-platform on all the major platforms that we wanted to support *nix, Windows, MACOSX, and many others as well. And the thrid reason was I wanted to see if i could do it with a small project looking to hopefully build enough knowledge to attempt something like Inkscape.
I think a Handful of dedicated People could have all of the build system converted in a week or two at most. With only one or two working part time on it the outside of a month. And that is people with no knowledge of how Cmake build system works. If we could borrow some experts from the Scribus team or some other Cmake knowledgeable group it would go much faster.
I'm of course willing to help to convert to whatever system we decide on, but Cmake would be my choice. Whatever help I can give. It should be noted that i have piss poor access to web for the time being and the foreseeable future.
Joshua L. Blocher verbalshadow
On Sunday 04 February 2007 23:48:38 Joshua Facemyer / Impressus Art wrote:
For all the use I get out of inkscape, I'd like to pitch in with this. I figure it would be a good way to get my feet wet, and I've been hawking this list long enough.
The most coding I've done is some really basic php scripting, but I'm somewhat familiar with the basics, so if someone would tell me what to do, I'd be happy to pitch in. I've really no clue where to start.
I'm going to chime in here. The main reason I picked Cmake was the Build syntax looked considerable less painfully then most of the other systems out especially when compared to the Auto* build system. Secondly it is cross-platform on all the major platforms that we wanted to support *nix, Windows, MACOSX, and many others as well. And the thrid reason was I wanted to see if i could do it with a small project looking to hopefully build enough knowledge to attempt something like Inkscape.
I think a Handful of dedicated People could have all of the build system converted in a week or two at most. With only one or two working part time on it the outside of a month. And that is people with no knowledge of how Cmake build system works. If we could borrow some experts from the Scribus team or some other Cmake knowledgeable group it would go much faster.
It took me a week to do the inital CMake conversion for Scribus, and its had quite a few tweaks along the way, as well as even backporting it to the 1.3.3.x stable series for wider testing. A lot of the initial issues I faced related to Qt and moc files, which is obviously not an issue for you.
With 1.3.5, we will be dumping autotools and building solely with CMake on *nix and OSX.
Regards Craig
Craig Bradney wrote:
It took me a week to do the inital CMake conversion for Scribus, and its had quite a few tweaks along the way, as well as even backporting it to the 1.3.3.x stable series for wider testing. A lot of the initial issues I faced related to Qt and moc files, which is obviously not an issue for you.
How did you start? I've got almost no idea how to take this on even though I've been working with cmake for a few weeks now. I suppose most of my difficulty comes from autotools ignorance. Would you be willing to give me a breif outline?
Aaron Spike
On Monday 05 February 2007 19:03:34 Aaron Spike wrote:
Craig Bradney wrote:
It took me a week to do the inital CMake conversion for Scribus, and its had quite a few tweaks along the way, as well as even backporting it to the 1.3.3.x stable series for wider testing. A lot of the initial issues I faced related to Qt and moc files, which is obviously not an issue for you.
How did you start? I've got almost no idea how to take this on even though I've been working with cmake for a few weeks now. I suppose most of my difficulty comes from autotools ignorance. Would you be willing to give me a breif outline?
I started with the most basic things..
-subscribe to the CMake mailing list.. its worth reading -external dependencies (eg cairo, libart, etc) -internal dependencies (our plugins and convenience libs) -working out how to do a lot of the decision making and versioning (this is something I really fleshed out later on though) -working out where to install files -I started with linux only and let the porter work on OSX, although Andras really just said this doesnt work and either added or asked me what to change -I read the cmake 2.4.0 (or so at the time) manual a lot.. -A lot is repetitive, ls -1 helps a lot when listing dirs :)
I'd love to help out, but right now, work is making concentrating a lot at home hard. I'm happy to answer questions but doing the work won't be too productive.
I had no autotools experience apart from editing the Makefile.ams we had, the rest of the black magic remains just that.
By no means is the Scribus CMake build system finished, or close to being perfect, however for now it works on Linux and OSX. At least based on that, it would be worth you checking out Scribus cvs and reading the files if you haven't.
Use CMake 2.4.6 or CVS (for testing).. theres a lot changed recently and its important to push the distros to use CMake and keep their 2.4.x versions updated.
Craig
Craig Bradney wrote:
On Monday 05 February 2007 19:03:34 Aaron Spike wrote:
How did you start? I've got almost no idea how to take this on even though I've been working with cmake for a few weeks now. I suppose most of my difficulty comes from autotools ignorance. Would you be willing to give me a breif outline?
I started with the most basic things..
-subscribe to the CMake mailing list.. its worth reading
Already done. :-)
-external dependencies (eg cairo, libart, etc) -internal dependencies (our plugins and convenience libs) -working out how to do a lot of the decision making and versioning (this is something I really fleshed out later on though)
This might show my ignorance, but I'm not sure exactly what these three items mean.
-I read the cmake 2.4.0 (or so at the time) manual a lot..
I've been doing this for a while now. We've been using cmake with lib2geom for a while. lib2geom is a much smaller project though.
-A lot is repetitive, ls -1 helps a lot when listing dirs :)
I'd love to help out, but right now, work is making concentrating a lot at home hard. I'm happy to answer questions but doing the work won't be too productive.
Your physical help would be totally uncalled for. I know you have your own projects to work on. If you don't mind, however, I might contact you with a question once in a while.
I had no autotools experience apart from editing the Makefile.ams we had, the rest of the black magic remains just that.
That is encouraging.
Thanks,
Aaron Spike
-external dependencies (eg cairo, libart, etc) -internal dependencies (our plugins and convenience libs) -working out how to do a lot of the decision making and versioning (this is something I really fleshed out later on though)
This might show my ignorance, but I'm not sure exactly what these three items mean.
What Inkscape depends on from libraries not included within its source
What libraries Inkscape builds itself (autotools tends to use libraries that are statically linked just if you want to have source in another directory)
Decision making: Scribus can use cairo or libart, etc.. and versioning.. how to name the binary. I finally worked out (CMake let me work it out) how to version a binary so a user could specify the binary to be called, eg, scribus-1.3.4cvs and have two versions installed in the same place.
-I read the cmake 2.4.0 (or so at the time) manual a lot..
I've been doing this for a while now. We've been using cmake with lib2geom for a while. lib2geom is a much smaller project though.
Then you are at least halfway there.. now its about iterating through directories and finding all those dependencies.. Use the Find*.cmake files Cmake comes with.
-A lot is repetitive, ls -1 helps a lot when listing dirs :)
I'd love to help out, but right now, work is making concentrating a lot at home hard. I'm happy to answer questions but doing the work won't be too productive.
Your physical help would be totally uncalled for. I know you have your own projects to work on. If you don't mind, however, I might contact you with a question once in a while.
Go for it.. :) email to cbradney@...715... if you need an answer in CET daytime.
I had no autotools experience apart from editing the Makefile.ams we had, the rest of the black magic remains just that.
That is encouraging.
:)
Craig
participants (3)
-
Aaron Spike
-
Craig Bradney
-
Joshua Facemyer / Impressus Art