Post-release version bump
[platform/upstream/dbus.git] / README.cmake
index 5016019..69012fb 100644 (file)
@@ -2,58 +2,64 @@ This file describes how to compile dbus using the cmake build system
 
 Requirements
 ------------
-- cmake version >= 2.4.4 see http://www.cmake.org
-- installed libexpat
+- cmake version >= 2.6.0 see http://www.cmake.org
+- installed libexpat see http://sourceforge.net/projects/expat/ 
+    unsupported RelWithDebInfo builds could be fetched 
+    from http://sourceforge.net/projects/kde-windows/files/expat/
 
 Building
 --------
 
-Win32 MinGW
-1. install cmake and libexpat
-2. get dbus sources
-3. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
-4. mkdir dbus-build
-5. cd dbus-build
-6. run 
+Win32 MinGW-w64|32
+1. install mingw-w64 from http://sourceforge.net/projects/mingw-w64/
+2. install cmake and libexpat
+3. get dbus sources
+4. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
+5. mkdir dbus-build
+6. cd dbus-build
+7. run 
     cmake -G "MinGW Makefiles" [<options, see below>] <dbus-src-root>/cmake
     mingw32-make
     mingw32-make install
 
 Win32 Microsoft nmake
-1. install cmake and libexpat
-2. get dbus sources
-3. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
-4. mkdir dbus-build
-5. cd dbus-build
-6. run 
+1. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
+2. install cmake and libexpat
+3. get dbus sources
+4. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
+5. mkdir dbus-build
+6. cd dbus-build
+7. run 
     cmake -G "NMake Makefiles" [<options, see below>] <dbus-src-root>/cmake
     nmake
     nmake install
 
-Win32 Visual Studio Express IDE
-1. install cmake and libexpat
-2. get dbus sources
-3. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
-4. mkdir dbus-build
-5. cd dbus-build
-6. run
+Win32 Visual Studio 2010 Express IDE
+1. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
+2. install cmake and libexpat
+3. get dbus sources
+4. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
+5. mkdir dbus-build
+6. cd dbus-build
+7. run
       cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
-7a. open IDE with
+8a. open IDE with
       vcexpress dbus.sln
-7b. for immediate build run
+8b. for immediate build run
       vcexpress dbus.sln /build
 
-Win32 Visual Studio Professional IDE
-1. install cmake and libexpat
-2. get dbus sources
-3. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
-4. mkdir dbus-build
-5. cd dbus-build
-6. run 
+Win32 Visual Studio 2010 Professional IDE
+1. install MSVC 2010 Professional Version
+2. install cmake and libexpat
+3. get dbus sources
+4. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
+5. mkdir dbus-build
+6. cd dbus-build
+7. run 
       cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
-7a. open IDE with
+8a. open IDE with
       devenv dbus.sln
-7b. for immediate build run
+8b. for immediate build run
       devenv dbus.sln /build
 
 Linux
@@ -74,7 +80,7 @@ Configuration flags
 
 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). The listed values 
-are the defaults.
+are the defaults (in a typical build - some are platform-specific).
 
 // Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
 // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
@@ -97,7 +103,7 @@ DBUS_BUILD_TESTS:BOOL=ON
 DBUS_DAEMON_NAME:STRING=dbus-daemon
 
 // Disable assertion checking
-DBUS_DISABLE_ASSERTS:BOOL=OFF
+DBUS_DISABLE_ASSERT:BOOL=OFF
 
 // Disable public API sanity checking
 DBUS_DISABLE_CHECKS:BOOL=OFF
@@ -117,23 +123,17 @@ DBUS_ENABLE_VERBOSE_MODE:BOOL=ON
 // build XML  documentation (requires xmlto or meinproc4)
 DBUS_ENABLE_XML_DOCS:BOOL=ON
 
-// Some atomic integer implementation present
-DBUS_HAVE_ATOMIC_INT:BOOL=OFF
-
 // install required system libraries
 DBUS_INSTALL_SYSTEM_LIBS:BOOL=OFF
 
-// session bus default address
-DBUS_SESSION_BUS_DEFAULT_ADDRESS:STRING=nonce-tcp:
+// session bus default listening address
+DBUS_SESSION_BUS_LISTEN_ADDRESS:STRING=autolaunch:
 
-// system bus default address
-DBUS_SYSTEM_BUS_DEFAULT_ADDRESS:STRING=nonce-tcp:
+// session bus fallback address for clients
+DBUS_SESSION_BUS_CONNECT_ADDRESS:STRING=autolaunch:
 
-// Use atomic integer implementation for 486
-DBUS_USE_ATOMIC_INT_486:BOOL=OFF
-
-// Use expat (== ON) or libxml2 (==OFF)
-DBUS_USE_EXPAT:BOOL=ON
+// system bus default address (only useful on Unix)
+DBUS_SYSTEM_BUS_DEFAULT_ADDRESS:STRING=unix:path=/var/run/dbus/system_bus_socket
 
 win32 only:
 // enable win32 debug port for message output
@@ -143,10 +143,6 @@ gcc only:
 // compile with coverage profiling instrumentation
 DBUS_GCOV_ENABLED:BOOL=OFF
 
-linux only:
-// build with dnotify support 
-DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX:BOOL=ON
-
 solaris only:
 // enable console owner file 
 HAVE_CONSOLE_OWNER_FILE:BOOL=ON
@@ -154,6 +150,14 @@ HAVE_CONSOLE_OWNER_FILE:BOOL=ON
 // Directory to check for console ownership
 DBUS_CONSOLE_OWNER_FILE:STRING=/dev/console
 
+// Linux only:
+// enable inotify as dir watch backend
+DBUS_BUS_ENABLE_INOTIFY:BOOL=ON
+
+*BSD only:
+// enable kqueue as dir watch backend
+DBUS_BUS_ENABLE_KQUEUE:BOOL=ON
+
 x11 only:
 // Build with X11 auto launch support
 DBUS_BUILD_X11:BOOL=ON
@@ -163,3 +167,27 @@ Note: The above mentioned options could be extracted after
 configuring from the output of running "<maketool> help-options" 
 in the build directory. The related entries start with 
 CMAKE_ or DBUS_. 
+
+
+How to compile in dbus into clients with cmake
+----------------------------------------------
+
+To compile dbus library into a client application with cmake
+the following cmake commands are required:
+
+1. call find_package to find dbus package
+
+find_package(DBus1)
+
+2. after specifing targets link dbus into target
+
+add_executable(test test.c)
+target_link_libraries(test ${DBus1_LIBRARIES})
+
+Adding ${DBus1_LIBRARIES} to targets also adds required dbus
+include dirs and compiler definitions by default. There is
+no need to add them with include_directories and add_definitions.
+
+To compile against dbus installed in a non standard location
+specify -DDBus1_DIR=<dbus-install-root>/lib[64]/cmake/DBus1
+on cmake command line.