Fix ad-hoc cmake for install
[anna.git] / README.md
index 1b95114..7bfbb7c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -11,50 +11,51 @@ ANNA is a complete suite of tools and resources to build proffesional applicatio
 Based on GIT, hosted on http://redmine.teslayout.com
 
 You could use my pre-commit specific template if you want to do some basic checkings (i.e.
- astyle code processing): Execute './scr/git/use-pre-commit.sh'
+ astyle code processing): Execute './scripts/git/use-pre-commit.sh'
 
-## Documentation
 
-Execute 'scons doc'
+## Build project
 
-## Unit tests
+This is a CMake based building suite.
+Install cmake:
 
-Execute 'scons test'
+     > sudo apt-get install cmake
 
-## Examples
+And then generate the makefiles from project root directory:
 
-Execute 'scons example' to generate example binaries
+     > cmake .
 
-## Install
+You could specify type of build, 'Debug' or 'Release', for example:
 
-Execute 'sudo scons install-include'         for only headers                   
-Execute 'sudo scons install-lib'             for only libraries                 
-Execute 'sudo scons install-include-and-lib' for headers & libraries            
-Execute 'sudo scons install-example'         for only example binaries/resources
-Execute 'sudo scons install'                 to install the whole suite         
+     > cmake -DCMAKE_BUILD_TYPE=Debug .
+     > cmake -DCMAKE_BUILD_TYPE=Release .
 
-## Uninstall
+## Clean project
 
-Execute 'sudo scons uninstall'
+     > make clean
 
+## Change the compilers
 
+     > cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++     -DCMAKE_C_COMPILER=/usr/bin/gcc
+     or
+     > cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang
 
 ## Some basic ubuntu requirements
 
-### Scons python-based building suite:
-     sudo apt-get install scons
-
 ### OpenSSL:
-     sudo apt-get install libssl-dev
+     sudo apt-get install libssl-dev
  
 ### Gnome XML:
-     sudo apt-get install libxml2-dev
+     sudo apt-get install libxml2-dev
 
 ### OpenLDAP:
-     sudo apt-get install libldap2-dev
+     > sudo apt-get install libldap2-dev
+
+### Pcap:
+     > sudo apt-get install libpcap-dev
 
 ### MySql:
-     sudo apt-get install libmysqlclient-dev
+     sudo apt-get install libmysqlclient-dev
 
 ### Oracle:
      https://help.ubuntu.com/community/Oracle%20Instant%20Client
@@ -64,7 +65,7 @@ Execute 'sudo scons uninstall'
      Be sure to create in that directory, a link to oracle includes,
      for example:
 
-       <user>@<host>:/usr/lib/oracle/12.1/client64$ ls -lrt
+       /usr/lib/oracle/12.1/client64$ ls -lrt
        total 8
        drwxr-xr-x 2 root root 4096 Feb 28 15:59 bin
        drwxr-xr-x 2 root root 4096 Feb 28 15:59 lib
@@ -76,17 +77,56 @@ Execute 'sudo scons uninstall'
 ### Oracle-OpenLDAP conflict:
      as usual, Oracle is doing things very bad. Move the ldap.h from oracle includes, i.e.:
 
-        cd /usr/include/oracle/12.1/client64
-        sudo mv ldap.h ldap.h.orig
+        > cd /usr/include/oracle/12.1/client64
+        > sudo mv ldap.h ldap.h.orig
+
+### Google Test Framework:
 
-### Boost:
-     Although the more i use, the more i dislike, this suite is included (ambition to learn
-     new things...):
+     > sudo apt-get install libgtest-dev
 
-        sudo apt-get install libboost-dev
-        sudo apt-get install libboost-test-dev
+     Note that this package only install source files. You have to compile the
+     code yourself to create the necessary library files. These source files
+     should be located at /usr/src/gtest. Browse to this folder and use cmake
+     to compile the library:
 
-     Development module is no longer needed, but still unit testing is done through boost.
+     > cd /usr/src/gtest
+     > sudo cmake CMakeLists.txt
+     > sudo make
  
+     Copy or symlink libgtest.a and libgtest_main.a to your /usr/lib folder:
+     > sudo cp *.a /usr/lib
+
+## Documentation
+
+Execute 'make doc'
+
+     > cd docs/doxygen
+     > tree -L 1
+
+     .
+     ├── Doxyfile
+     ├── html
+     ├── latex
+     └── man
+
+
+## Unit tests
+
+Execute 'make test'
+
+## Install
+
+To install headers, libraries, and examples, execute:
+
+     > sudo make install
+
+Optionally you could specify another prefix for installation:
+
+     > cmake -DMY_OWN_INSTALL_PREFIX=$HOME/anna-deploy
+     > make install
+
+## Uninstall
+
+     > cat install_manifest.txt | sudo xargs rm