1This file describes how to compile dbus using the cmake build system
2
3Requirements
4------------
5- cmake version >= 2.4.4 see http://www.cmake.org
6- installed libexpat see http://sourceforge.net/projects/expat/
7    unsupported RelWithDebInfo builds could be fetched
8    from http://sourceforge.net/projects/kde-windows/files/expat/
9
10Building
11--------
12
13Win32 MinGW-w64|32
141. install mingw-w64 from http://sourceforge.net/projects/mingw-w64/
152. install cmake and libexpat
163. get dbus sources
174. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
185. mkdir dbus-build
196. cd dbus-build
207. run
21    cmake -G "MinGW Makefiles" [<options, see below>] <dbus-src-root>/cmake
22    mingw32-make
23    mingw32-make install
24
25Win32 Microsoft nmake
261. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
272. install cmake and libexpat
283. get dbus sources
294. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
305. mkdir dbus-build
316. cd dbus-build
327. run
33    cmake -G "NMake Makefiles" [<options, see below>] <dbus-src-root>/cmake
34    nmake
35    nmake install
36
37Win32 Visual Studio 2010 Express IDE
381. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
392. install cmake and libexpat
403. get dbus sources
414. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
425. mkdir dbus-build
436. cd dbus-build
447. run
45      cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
468a. open IDE with
47      vcexpress dbus.sln
488b. for immediate build run
49      vcexpress dbus.sln /build
50
51Win32 Visual Studio 2010 Professional IDE
521. install MSVC 2010 Professional Version
532. install cmake and libexpat
543. get dbus sources
554. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
565. mkdir dbus-build
576. cd dbus-build
587. run
59      cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
608a. open IDE with
61      devenv dbus.sln
628b. for immediate build run
63      devenv dbus.sln /build
64
65Linux
661. install cmake and libexpat
672. get dbus sources
683. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
694. mkdir dbus-build
705. cd dbus-build
716. run
72    cmake -G "<for available targets, see cmake --help for a list>" [<options, see below>] <dbus-src-root>/cmake
73    make
74    make install
75
76For other compilers see cmake --help in the Generators section
77
78Configuration flags
79-------------------
80
81When using the cmake build system the dbus-specific configuration flags that can be given
82to the cmake program are these (use -D<key>=<value> on command line). The listed values
83are the defaults.
84
85// Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
86// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
87CMAKE_BUILD_TYPE:STRING=Debug
88
89// Include path for 3rdparty packages
90CMAKE_INCLUDE_PATH:PATH=
91
92// Library path for 3rdparty packages
93CMAKE_LIBRARY_PATH:PATH=
94
95// Install path prefix, prepended onto install directories.
96CMAKE_INSTALL_PREFIX:PATH=C:/Program Files/dbus
97
98
99// enable unit test code
100DBUS_BUILD_TESTS:BOOL=ON
101
102// The name of the dbus daemon executable
103DBUS_DAEMON_NAME:STRING=dbus-daemon
104
105// Disable assertion checking
106DBUS_DISABLE_ASSERTS:BOOL=OFF
107
108// Disable public API sanity checking
109DBUS_DISABLE_CHECKS:BOOL=OFF
110
111// enable -ansi -pedantic gcc flags
112DBUS_ENABLE_ANSI:BOOL=OFF
113
114// build DOXYGEN documentation (requires Doxygen)
115DBUS_ENABLE_DOXYGEN_DOCS:BOOL=OFF
116
117// enable bus daemon usage statistics
118DBUS_ENABLE_STATS:BOOL=OFF
119
120// support verbose debug mode
121DBUS_ENABLE_VERBOSE_MODE:BOOL=ON
122
123// build XML  documentation (requires xmlto or meinproc4)
124DBUS_ENABLE_XML_DOCS:BOOL=ON
125
126// Some atomic integer implementation present
127DBUS_HAVE_ATOMIC_INT:BOOL=OFF
128
129// install required system libraries
130DBUS_INSTALL_SYSTEM_LIBS:BOOL=OFF
131
132// session bus default address
133DBUS_SESSION_BUS_DEFAULT_ADDRESS:STRING=nonce-tcp:
134
135// system bus default address
136DBUS_SYSTEM_BUS_DEFAULT_ADDRESS:STRING=nonce-tcp:
137
138// Use atomic integer implementation for 486
139DBUS_USE_ATOMIC_INT_486:BOOL=OFF
140
141// Use expat (== ON) or libxml2 (==OFF)
142DBUS_USE_EXPAT:BOOL=ON
143
144win32 only:
145// enable win32 debug port for message output
146DBUS_USE_OUTPUT_DEBUG_STRING:BOOL=OFF
147
148gcc only:
149// compile with coverage profiling instrumentation
150DBUS_GCOV_ENABLED:BOOL=OFF
151
152linux only:
153// build with dnotify support
154DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX:BOOL=ON
155
156solaris only:
157// enable console owner file
158HAVE_CONSOLE_OWNER_FILE:BOOL=ON
159
160// Directory to check for console ownership
161DBUS_CONSOLE_OWNER_FILE:STRING=/dev/console
162
163x11 only:
164// Build with X11 auto launch support
165DBUS_BUILD_X11:BOOL=ON
166
167
168Note: The above mentioned options could be extracted after
169configuring from the output of running "<maketool> help-options"
170in the build directory. The related entries start with
171CMAKE_ or DBUS_.
172