X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=README.md;h=b9bc6ae28aebfc37fb16f74f9f18c0e442abc919;hp=10d94458a8a85349186cbb5541fe2028231aa642;hb=HEAD;hpb=ec9c52668a43af61eb0c4e1f72bc69db78378e86 diff --git a/README.md b/README.md index 10d9445..b9bc6ae 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,16 @@ You could use my pre-commit specific template if you want to do some basic check ## Build project +### With docker + +Architectures 'x86_64' and 'armv7l' are supported. Execute: + + > tools/build-with-docker [variant: [Release]|Debug] + +Note: database resources building is unsupported at the moment using docker. + +### Natively + This is a CMake based building suite. Install cmake: @@ -30,16 +40,25 @@ You could specify type of build, 'Debug' or 'Release', for example: > cmake -DCMAKE_BUILD_TYPE=Debug . > cmake -DCMAKE_BUILD_TYPE=Release . +You could avoid database resources compilation to ease the add of requirements: + + > cmake -DSKIP_DATABASE_BUILD=1 . + ## Clean project > 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 ### OpenSSL: > sudo apt-get install libssl-dev - + ### Gnome XML: > sudo apt-get install libxml2-dev @@ -53,21 +72,18 @@ You could specify type of build, 'Debug' or 'Release', for example: > sudo apt-get install libmysqlclient-dev ### 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/ + Go to https://help.ubuntu.com/community/Oracle%20Instant%20Client and download development packages: + + For example: - Be sure to create in that directory, a link to oracle includes, - for example: + > wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm + > sudo alien -i oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm - > /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 + (probably basic & sqlplus is also needed) - The alternative is to edit SConstruct file directly to set - oracle includes directory. + Edit CMakeLists.txt and update oracle includes, for example: + + > include_directories(/usr/include/oracle//client64/include) ### Oracle-OpenLDAP conflict: as usual, Oracle is doing things very bad. Move the ldap.h from oracle includes, i.e.: @@ -87,7 +103,7 @@ You could specify type of build, 'Debug' or 'Release', for example: > 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 @@ -113,14 +129,18 @@ Execute 'make test' To install headers, libraries, and examples, execute: - > make install + > sudo make install Optionally you could specify another prefix for installation: - > cmake -DCMAKE_INSTALL_PREFIX=$HOME/anna_deploy . + > cmake -DMY_OWN_INSTALL_PREFIX=$HOME/anna-deploy + > make install ## Uninstall > cat install_manifest.txt | sudo xargs rm +## AOTS (Agents-Oriented Testing Setup) + +See INSTALL_AOTS.md