User: Password:
|
|
Subscribe / Log in / New account

Why the KDE project switched to CMake -- and how

Why the KDE project switched to CMake -- and how

Posted Jun 23, 2006 10:00 UTC (Fri) by neiljerram (subscriber, #12005)
Parent article: Why the KDE project switched to CMake -- and how

As far as I can tell from the CMake web pages, CMake doesn't appear to cover two big areas that are covered by autoconf/automake/libtool, namely:

(1) checking for availability of particular headers, functions, libraries, or OS-dependent behaviour of existing functions (and adjusting defines and flags accordingly)

(2) knowing how to build and link shared libraries correctly on all the Unix-like OSs.

In other words, CMake is an alternative automake (whose notable extra feature is that it can generate MSVC project files as well as Unix makefiles), not an alternative autoconf/automake/libtool.

Is that correct, or have I misunderstood?

- Neil


(Log in to post comments)

Why the KDE project switched to CMake -- and how

Posted Jun 23, 2006 10:38 UTC (Fri) by aleXXX (subscriber, #2742) [Link]

It covers both of them.
It can build and link shared libs on all Unix-like OSs. What did make you
think it can't ?

It supports full system introspection using the FIND_PATH(),
FIND_PROGRAM(), FIND_LIBRARY(), CHECK_FUNCTION_EXISTS(),
CHECK_HEADER_EXISTS() etc. functions. They are used e.g. extensively for
KDE4 on Linux, FreeBSD, Mac OS X and Windows (mingw and MSVC).

Check the cmake man page and the Wiki:
http://www.cmake.org/Wiki/CMake_HowToDoPlatformChecks
http://www.cmake.org/Wiki/CMake_HowToFindInstalledSoftware

Alex

Why the KDE project switched to CMake -- and how

Posted Jun 23, 2006 13:16 UTC (Fri) by neiljerram (subscriber, #12005) [Link]

Thanks. I spent some time looking at the docs, FAQ and examples that are linked from the CMake home page, but didn't see anything alluding to these issues.

I'll take another look, including the specific pages that you mentioned.

- Neil


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds