[poppler] RFC: cmake buildsystem
Brad Hards
bradh at frogmouth.net
Sat Dec 29 15:32:15 PST 2007
On Saturday 29 December 2007 10:24:17 pm Pino Toscano wrote:
> Alle mercoledì 19 dicembre 2007, Pino Toscano ha scritto:
> > Feedback? Thoughts?
>
> Hey, not everyone together with comments...
Yeah, yeah. I've finally gotten enough time to check it out.
It works for me on Fedora 7.
Observations:
1. Clean builds appear a bit faster with cmake, but "null" builds (make on a
tree that requires no compilation) are a fraction slower - perhaps 0.5
seconds or so. Nothing significant either way.
2. There is a problem with the "make test" target for Qt4:
Test project /home/bradh/devel/poppler-group/poppler-build/qt4
1/ 14 Testing test-poppler-qt4 ***Failed
2/ 14 Testing test-password-qt4 ***Failed
3/ 14 Testing poppler-fonts ***Failed
4/ 14 Testing poppler_attachments ***Failed
5/ 14 Testing stress-poppler-qt4 Passed
6/ 14 Testing check_attachments Passed
7/ 14 Testing check_dateConversion Passed
8/ 14 Testing check_fonts Passed
9/ 14 Testing check_metadata Passed
10/ 14 Testing check_pagelayout Passed
11/ 14 Testing check_pagemode Passed
12/ 14 Testing check_password Passed
13/ 14 Testing check_permissions Passed
14/ 14 Testing check_search Passed
Those first 5 aren't unit tests. They are just demo / test apps, and shouldn't
be included in the "make test" target.
3. I'd like a "make test" target at the top level (analogous to the "make
check" we currently have). I'd also like to turn on the tests by default.
4. The main benefit I see is proper dependency tracking. Consider if you are
building a test (say in poppler/qt4/tests/), to check a change you've made in
poppler/poppler/Gfx.cc. With automake, if you say "make", just the test
file(s) will get rebuilt. With cmake, it will rebuild libpoppler before
rebuilding the tests.
5. It is easier to see the warnings in amongst the coloured output.
6. It looks like we aren't doing gtk-doc stuff yet. Is this
planned/important?
7. We should test with MSVC++. I'll try to get to that later today.
Overall, it is looking pretty good. Considering how it can co-exist with the
autofoo stuff, I'd like to see it imported. Possibly we run parallel systems
for 4-6 weeks, and then drop the autofoo stuff if people are happy.
More information about the poppler
mailing list