Replace glib with wmem when constructing dynamic RADIUS fields. Fixes the memory
[metze/wireshark/wip.git] / README.cmake
index 7d1aeb062ba49cf1e2d705dcc8dfb55d87693f3c..e50cfc0e9c780596571cc39806120aec9f80ca82 100644 (file)
@@ -2,9 +2,9 @@
 
    $Id$
 
-                           Notice 
+                           Notice
 
-   To find out the current state of the cmake implementaion for
+   To find out the current state of the cmake implementation for
    Wireshark, please take a look at "What needs to be done?" below.
    Basically this is an experiment and if we find out that it works
    and we like cmake more than autofoo we might switch one day.
@@ -33,7 +33,8 @@ How to do out of tree build (Unix/Linux):
 3) mkdir build
 4) cd build
 5) cmake ../<Name_of_WS_source_dir>
-6) make
+6) make (or cmake --build .)
+7) (as root) umask 0022 && make install
 
 Note 1:
 in step 5), you may override the defaults for features:
@@ -48,6 +49,32 @@ Note 3:
   After running cmake, you can always run "make help" to see
   a list of all possible make targets.
 
+Note 4:
+  Cmake honors user umask for creating directories as of now:
+  http://public.kitware.com/Bug/view.php?id=9620
+  To get predictable results please set umask explicitly.
+
+How to do out of tree build (Win32/64):
+[This is advanced alpha and should build all executables except the GTK3
+ Wireshark for 32-bit.]
+1) Follow http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html
+   Steps 1-9
+1a) Set WIRESHARK_BASE_DIR=c:\wireshark (the parent directory of the
+   library directory).
+1b) set WIRESHARK_TARGET_PLATFORM=win32 (or win64)
+1c) set QT5_BASE_DIR=c:\Qt\Qt5.1.1\5.1.1 (or whatever)
+2) Install cmake
+3) mkdir c:\wireshark\build
+4) cd c:\wireshark\build
+5) cmake -G "NMake Makefiles" -DBUILD_wireshark=OFF path\to\sources
+  (i.e. in case your sources are located at c:\wireshark\trunk, use "..\trunk")
+5a) cmake path\to\sources (this will build for the latest Visual Studio version found)
+6) nmake /X- VERBOSE=1 (or cmake --build . -- VERBOSE=1 )
+6a) Wireshark.sln (this will run up Visual Studio with the cmake built solution
+7) In case you want to test the executable(s) inside the build tree:
+   Run setpath.bat whenever it gets updated (there is a message in each cmake
+   run whether it is necessary or not).
+
 Why cmake?
 ==========
 - Can create project files for some MS and Apple IDEs.
@@ -72,25 +99,33 @@ What works?
 ===========
 
 All the executables now build from clean source on:
-* 32bit openSUSE 11.2
+* 32bit openSUSE 11.3: (gnu)make and gcc
+* 64bit FedoraXXX
 * 32bit Ubuntu 9.04
+* 32bit Ubuntu 10.04
+* 64bit Debian Wheezy
 
 What needs to be done?
 ======================
 
-- Add asn1 autogen target (assigned: krj)
-- Redo glib2 find modules.
 - Add back platform specific objects.
 - Fix places in the cmake files marked as todo.
-- Add back (working) install target.
-  Currently, directories are created with user umask
-- Add back linker flags test
+- Guides are not installed.
 - Build source package (using CPack).
+  This is obsolete if we decide to release VCS snapshots instead
 - Build rpm package (using CPack).
 - Build dpkg package (using CPack).
+  This is obsolete, we should call CMake from debian/rules instead, using dh
+  (rbalint)
 - Add back checkAPI target.
 - Test and add support for other platforms (BSDs, OSX,
   Solaris, Win32, Win64, ...)
+- Add support for cmake configurations.
+- Get plugins loading when running *shark from the build directory.
+- Automatically figure out if *shark is running from the build directory
+  (making WIRESHARK_RUN_FROM_BUILD_DIRECTORY unnecessary like it is with
+  autofoo).
+- Get cross-compilation working (or ensure it does). It works with autofoo.
 ...
 
 Links regarding cmake
@@ -107,7 +142,7 @@ About cmake in general and why KDE4 uses it
 Introductory/tutorial presentation
        http://ait.web.psi.ch/services/linux/hpc/hpc_user_cookbook/tools/cmake/docs/Cmake_VM_2007.pdf
 
-Introductory arcticle in Linux Journal
+Introductory article in Linux Journal
        http://www.linuxjournal.com/node/6700/print
 
 Useful variables