Added cmake build system notes to README and INSTALL.
authorRalf Habacker <ralf.habacker@freenet.de>
Wed, 24 Mar 2010 12:44:26 +0000 (13:44 +0100)
committerRalf Habacker <ralf.habacker@freenet.de>
Wed, 24 Mar 2010 12:44:26 +0000 (13:44 +0100)
INSTALL
README

diff --git a/INSTALL b/INSTALL
index 744851d..e182f98 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -4,8 +4,10 @@
 Quick start
 ===========
 
-DBus uses GNU AutoTools for its build system, thus the basic install
-procedure can be summarized as:
+DBus could be build with GNU AutoTools or with cmake for its build system,
+thus the basic install procedure can be summarized as:
+
+with autotools:
 
     ./configure --prefix=/usr
     make
@@ -13,13 +15,29 @@ procedure can be summarized as:
 
 The configure script will automatically determine whether to try and
 build bindings for GLib, Qt, Qt3, Python and Mono based on what tools
-are installed on the host system. The default build behaviour can be 
+are installed on the host system. The default build behaviour can be
 overridden using the --enable-XXX/--disable-XXX arguments to configure.
 A typical scenario in which it is desirable to override automatic
-detection, is during packaging of binary builds, where a predictable 
-dependancy chain is required. For more details on GNU AutoTools 
+detection, is during packaging of binary builds, where a predictable
+dependancy chain is required. For more details on GNU AutoTools
 installation, consult the generic instructions later in this document
 
+with cmake:
+    mkdir dbus-build-dir
+    cd dbus-build-dir
+    cmake -G <makefile-generator-name> [-D<option>] <dbus-src-root>/cmake
+    make
+    make install
+
+cmake will automatically determine whether to build some features
+based on what tools and/or libraries are installed on the host system. 
+The default build behaviour can be overridden using the 
+-DENABLE_<XXX> arguments to cmake.
+A typical scenario in which it is desirable to override automatic
+detection, is during packaging of binary builds, where a predictable
+dependancy chain is required. For more details on cmake installation, 
+consult http://www.cmake.org/cmake/help/help.html. 
+
 External software dependancies
 ==============================
 
@@ -40,10 +58,10 @@ Core library
 
  Optional:
 
-  - libselinux  (for SELinux integration)
-  - dnotify     (for automatic service file reload)
-  - doxygen     (for API documentation)
-  - xmlto       (for Spec & other XML documentation)
+  - libselinux           (for SELinux integration)
+  - dnotify              (for automatic service file reload)
+  - doxygen              (for API documentation)
+  - xmlto or meinproc4   (for Spec & other XML documentation)
 
 ====================================================================
 
diff --git a/README b/README
index ec63a98..89bfaf7 100644 (file)
--- a/README
+++ b/README
@@ -60,24 +60,34 @@ Development snapshots make no ABI stability guarantees for new ABI
 introduced since the last stable release. Development snapshots are
 likely to have more bugs than stable releases, obviously.
 
+Configuration 
+===
+
+dbus could be build by using autotools or cmake. 
+
+When using autotools the configure step is initiated by running ./configure 
+with our without additional configuration flags. 
+
+When using cmake the configure step is initiated by running the cmake 
+program with our without additional configuration flags. 
+
 Configuration flags
 ===
 
-These are the dbus-specific configuration flags that can be given to
-the ./configure program.
-
-  --enable-tests          enable unit test code
-  --enable-verbose-mode   support verbose debug mode
-  --enable-asserts        include assertion checks
-  --enable-checks         include sanity checks on public API
-  --enable-xml-docs       build XML documentation (requires xmlto)
-  --enable-doxygen-docs   build DOXYGEN documentation (requires Doxygen)
-  --enable-gcov           compile with coverage profiling instrumentation (gcc only)
-  --enable-abstract-sockets
-                          use abstract socket namespace (linux only)
-  --enable-selinux        build with SELinux support
-  --enable-dnotify        build with dnotify support (linux only)
-  --enable-kqueue         build with kqueue support (*BSD only)
+When using autools the dbus-specific configuration flags that can be given to
+the ./configure program are these 
+
+  --enable-tests             enable unit test code
+  --enable-verbose-mode      support verbose debug mode
+  --enable-asserts           include assertion checks
+  --enable-checks            include sanity checks on public API
+  --enable-xml-docs          build XML documentation (requires xmlto)
+  --enable-doxygen-docs      build DOXYGEN documentation (requires Doxygen)
+  --enable-gcov              compile with coverage profiling instrumentation (gcc only)
+  --enable-abstract-sockets  use abstract socket namespace (linux only)
+  --enable-selinux           build with SELinux support
+  --enable-dnotify           build with dnotify support (linux only)
+  --enable-kqueue            build with kqueue support (*BSD only)
   --with-xml=libxml/expat           XML library to use
   --with-init-scripts=redhat        Style of init scripts to install
   --with-session-socket-dir=dirname Where to put sockets for the per-login-session message bus
@@ -90,7 +100,29 @@ the ./configure program.
   --with-tags[=TAGS]                include additional configurations [automatic]
   --with-x                          use the X Window System
 
-
+When using the cmake build system the dbus-specific configuration flags that can be given 
+to the cmake program are these (use -D<key>=<value> on command line)
+
+    CMAKE_BUILD_TYPE                   set dbus build mode - one of Debug|Release|RelWithDebInfo|MinSizeRel
+    DBUS_BUILD_TESTS                   enable unit test code  default=ON
+    DBUS_BUILD_X11                     Build X11-dependent code default=ON
+    HAVE_CONSOLE_OWNER_FILE            enable console owner file (solaris only) ) default=ON
+    DBUS_DISABLE_ASSERTS               Disable assertion checking default=OFF
+    DBUS_DISABLE_CHECKS                Disable public API sanity checking default=OFF
+    DBUS_ENABLE_ABSTRACT_SOCKETS       enable support for abstract sockets (linux only) default=ON
+    DBUS_ENABLE_ANSI                   enable -ansi -pedantic gcc flags default=OFF
+    DBUS_ENABLE_DNOTIFY                build with dnotify support (linux only) default=ON
+    DBUS_ENABLE_VERBOSE_MODE           support verbose debug mode default=ON
+    DBUS_ENABLE_DOXYGEN_DOCS           build DOXYGEN documentation (requires Doxygen) default=ON
+    DBUS_GCOV_ENABLED                  compile with coverage profiling instrumentation (gcc only) default=OFF
+    DBUS_INSTALL_SYSTEM_LIBS           install required system libraries default (windows only) =OFF
+    DBUS_USE_EXPAT                     Use expat (== ON) or libxml2 (==OFF) default=ON [1]
+    DBUS_USE_NONCE_TCP_DEFAULT_ADDRESS Use nonce tcp default address default=OFF
+    DBUS_USE_OUTPUT_DEBUG_STRING       enable win32 debug port for message output default=OFF
+    
+    [1] requires installed development package of the related dependency 
+
+    
 API/ABI Policy
 ===