Back in good old Germany

    alexander neundorf's picture
    2007
    26
    Oct

    Maybe some of you have already noticed, I'm back in good old Germany. Since end of April I was in Clifton Park, New York, working at Kitware. This was a really great time.
    I learned a lot about the US and visited a lot of beautiful and interesting places, beside the usual also locations which are a bit less known (in Germany at least) but not less beautiful: the Adirondacks, a great place for hiking and relaxing and the peninsula Cape Cod just south of Boston (really beautiful city !).

    Basically everybody we met in the US was very nice and welcoming, and somehow more relaxed than the average German guy. Working at Kitware was a really good experience, a relaxed atmosphere and great people to work with ! (Hi Bill, Brad, Berk, Dave, Utkarsh and all the others :-) )

    I had the chance to work on ParaView (which now also runs on supercomputers) and (of course) on CMake.
    How to put it, CMake 2.6 will feature a lot of cool new features, almost everything what CMake 2.4 didn't support is now available: building frameworks on OS X, cross compiling to arbitrary target platforms with or without OS, improved documentation, project generators for Eclipse and CodeBlocks (both still need more testing !) and an improved CPack, which can now also create RPM and Deb packages !

    Unfortunately the time went by too fast, but now a new challenge is already waiting for me, I will start working as a research assistant at the Technical University of Kaiserslautern in the department for Embedded and Realtime Systems.

    KDE related stuff ?

    Exciting times ! The KDE Development Platform is basically frozen, which is a good thing for me, because it means as long as there are no bugs there will be no big changes to the CMake stuff for KDE. Some things will need to be addressed for KDE 4.1, probably several Windows- and maybe OS X related issues will get attention. Right now still CMake 2.4.5 is required to build KDE, and this will also stay that way for all KDE 4.0.x releases (of course CMake 2.4.6 and 2.4.7 work too). I noticed the lively debate about KHTML and WebKit. It's a bit unfortunate that WebKit doesn't have "KHTML" in its name, I guess that would make things easier and more obvious that it's based on KHTML. I guess an HTML component with developers and support from several companies (Apple, Nokia and more) will have less bugs and be more powerful and standards compliant in the long term than an HTML component developed "only" by KDE developers (it's simply less man power). We'll see how this works out.

    Alex

    Comments

    Comment viewing options

    Select your preferred way to display the comments and click "Save settings" to activate your changes.
    liquidat's picture

    Welcome back

    Nice to see that you're back - and that you will face new challenges. Have a nice time in Kaiserslautern, I was told that it is a nice city to study.

    About CPack and RPM/DEB production: does this mean that in future everyone with the right cmake file can produce debs and rpms on the fly? Wouldn't that be a huge improvement over almost all other tool out there? Do you have an example of how a deb and a rpm producing config file should could look like?

    alexander neundorf's picture

    RPM and Deb packages

    Basically you do:

    #create your targets:
    add_executable(hello main.cpp)
    install(TARGETS hello DESTINATION bin)

    # setup some package related variables and include CPack
    set(CPACK_PACKAGE_CONTACT alex@neundorf.net)
    include(CPack)

    Running cmake cvs on this file will generate a Makefile with a "packages" target, but you should use "make edit_cache" first to enable the deb package generator.
    Then you can run "make packages" and you will end up with a basic deb package. For more fine tuning (like dependencies etc.) more variables have to bet set. It make sense to do this in a separate file, so that CMakeLists.txt looks like:

    #create your targets:
    add_executable(hello main.cpp)
    install(TARGETS hello DESTINATION bin)

    # setup some package related variables and include CPack
    include(MyProjectCPackSetup.cmake)

    MyProjectCPackSetup.cmake:
    set(CPACK_PACKAGE_CONTACT alex@neundorf.net)
    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "This is my cool package")
    include(CPack)

    Documentation is still a bit lacking (http://www.cmake.org/Wiki/CMake#CPack), you should have a look at Modules/CPackDeb.cmake and Modules/CPackRPM.cmake to figure out the details. It could also use some more testing. So, if you have nothing better to do, give it a try and report eventual bugs at http://www.cmake.org/Bug/ :-)

    Alex

    liquidat's picture

    Thanks for the info

    Thanks for the info :)

    dhaumann's picture

    Kaiserslautern

    Hope you'll have a great time in Kaiserslautern - and welcome back in Germany :)

    Comment viewing options

    Select your preferred way to display the comments and click "Save settings" to activate your changes.