X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=README.md;h=32f17c68a0a86f31ffab8638885f33b49fb04559;hb=refs%2Fheads%2Fwithout_sql;hp=26e44f190932800bee1eac137d3963116d3dddff;hpb=4b79e398beb48eaa5c96b914b84e9fe77dea9da4;p=anna.git diff --git a/README.md b/README.md index 26e44f1..32f17c6 100644 --- a/README.md +++ b/README.md @@ -13,83 +13,94 @@ 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 './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 + > sudo apt-get install libpcap-dev + +### Google Test Framework: + + > sudo apt-get install libgtest-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: + + > 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 -### MySql: - sudo apt-get install libmysqlclient-dev +## Documentation -### Oracle: - https://help.ubuntu.com/community/Oracle%20Instant%20Client - Set 'ORACLE_HOME' environment variable in your profile, i.e.: - export ORACLE_HOME=/usr/lib/oracle/12.1/client64/ +Execute 'make doc' - Be sure to create in that directory, a link to oracle includes, - for example: + > cd docs/doxygen + > tree -L 1 - @:/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 - lrwxrwxrwx 1 root root 33 Feb 28 16:07 include -> /usr/include/oracle/12.1/client64 + . + ├── Doxyfile + ├── html + ├── latex + └── man - The alternative is to edit SConstruct file directly to set - oracle includes directory. -### Oracle-OpenLDAP conflict: - as usual, Oracle is doing things very bad. Move the ldap.h from oracle includes, i.e.: +## Unit tests - cd /usr/include/oracle/12.1/client64 - sudo mv ldap.h ldap.h.orig +Execute 'make test' + +## Install -### Boost: - Although the more i use, the more i dislike, this suite is included (ambition to learn - new things...): +To install headers, libraries, and examples, execute: - sudo apt-get install libboost-dev - sudo apt-get install libboost-test-dev + > sudo make install + +Optionally you could specify another prefix for installation: + + > cmake -DMY_OWN_INSTALL_PREFIX=$HOME/anna-deploy + > make install + +## Uninstall - Development module is no longer needed, but still unit testing is done through boost. - Pending migration to google test framework. + > cat install_manifest.txt | sudo xargs rm