Warning, file /sdk/codevis/thirdparty/soci/scripts/vagrant/build.sh was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 #!/usr/bin/env bash
0002 # Part of Vagrant virtual development environments for SOCI
0003 
0004 # Builds and tests SOCI from git master branch
0005 source /vagrant/scripts/vagrant/common.env
0006 
0007 # Build SOCI in /home/vagrant on Linux filesystem,
0008 # outside /vagrant which is VM shared directory.
0009 # Otherwise, CMake will fail:
0010 # CMake Error: cmake_symlink_library: System Error: Protocol error
0011 # Explanation from https://github.com/mitchellh/vagrant/issues/713
0012 # The VirtualBox shared folder filesystem doesn't allow symlinks, unfortunately.
0013 # Your only option is to deploy outside of the shared folders.
0014 if [[ ! -d "${SOCI_BUILD}" ]] ; then
0015   mkdir -p ${SOCI_BUILD}
0016 fi
0017 
0018 echo "Build: building SOCI from sources in ${SOCI_HOME} to build in ${SOCI_BUILD}"
0019 cd ${SOCI_BUILD} && \
0020 cmake \
0021     -DSOCI_TESTS=ON \
0022     -DSOCI_STATIC=OFF \
0023     -DSOCI_DB2=ON \
0024     -DSOCI_ODBC=OFF \
0025     -DSOCI_ORACLE=OFF \
0026     -DSOCI_EMPTY=ON \
0027     -DSOCI_FIREBIRD=ON \
0028     -DSOCI_MYSQL=ON \
0029     -DSOCI_POSTGRESQL=ON \
0030     -DSOCI_SQLITE3=ON \
0031     -DSOCI_DB2_TEST_CONNSTR:STRING="DATABASE=${SOCI_USER}\\;hostname=${SOCI_DB2_HOST}\\;UID=${SOCI_DB2_USER}\\;PWD=${SOCI_DB2_PASS}\\;ServiceName=50000\\;Protocol=TCPIP\\;" \
0032     -DSOCI_FIREBIRD_TEST_CONNSTR:STRING="service=LOCALHOST:/tmp/soci.fdb user=${SOCI_USER} password=${SOCI_PASS}" \
0033     -DSOCI_MYSQL_TEST_CONNSTR:STRING="host=localhost db=${SOCI_USER} user=${SOCI_USER} password=${SOCI_PASS}" \
0034     -DSOCI_POSTGRESQL_TEST_CONNSTR:STRING="host=localhost port=5432 dbname=${SOCI_USER} user=${SOCI_USER} password=${SOCI_PASS}" \
0035     ${SOCI_HOME} && \
0036 make
0037 echo "Build: building DONE"
0038 
0039 # Do not run tests during provisioning, thay may fail terribly, so just build
0040 # and let to run them manually after developer vagrant ssh'ed to the VM.
0041 echo "Build: ready to test SOCI by running: cd ${SOCI_BUILD}; ctest -V --output-on-failure ."