|
@@ -60,7 +60,7 @@ fi
|
|
|
|
|
|
# INSTALL build test
|
|
|
if ! [ -z ${INSTALL+x} ]; then
|
|
|
-
|
|
|
+echo "=== Install build, then compile minimal example ===" && echo -en 'travis_fold:start:script.build.install\\r'
|
|
|
# Use make install to deploy files and then test if we can build an example based on the installed files
|
|
|
mkdir -p build
|
|
|
cd build
|
|
@@ -75,10 +75,12 @@ if ! [ -z ${INSTALL+x} ]; then
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
|
|
|
cd .. && rm build -rf
|
|
|
+ echo -en 'travis_fold:end:script.build.install\\r'
|
|
|
|
|
|
+ echo -en 'travis_fold:start:script.build.mini-example\\r'
|
|
|
# Now create a simple CMake Project which uses the installed file
|
|
|
mkdir compile && cd compile
|
|
|
-cat > CMakeLists.txt <<- EOM
|
|
|
+ cat > CMakeLists.txt << EOM
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
project(install-test)
|
|
|
find_package(open62541 REQUIRED COMPONENTS FullNamespace)
|
|
@@ -91,10 +93,11 @@ EOM
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
cd ..
|
|
|
rm -rf compile
|
|
|
+ echo -en 'travis_fold:end:script.build.mini-example\\r'
|
|
|
exit 0
|
|
|
fi
|
|
|
|
|
|
-if [ $ANALYZE = "true" ]; then
|
|
|
+if ! [ -z ${ANALYZE+x} ]; then
|
|
|
echo "=== Running static code analysis ===" && echo -en 'travis_fold:start:script.analyze\\r'
|
|
|
if ! case $CC in clang*) false;; esac; then
|
|
|
mkdir -p build
|
|
@@ -146,110 +149,37 @@ if [ $ANALYZE = "true" ]; then
|
|
|
fi
|
|
|
fi
|
|
|
echo -en 'travis_fold:end:script.analyze\\r'
|
|
|
-else
|
|
|
- echo -en "\r\n=== Building ===\r\n"
|
|
|
-
|
|
|
- echo -e "\r\n== Documentation and certificate build ==" && echo -en 'travis_fold:start:script.build.doc\\r'
|
|
|
- mkdir -p build
|
|
|
- cd build
|
|
|
- cmake \
|
|
|
- -DCMAKE_BUILD_TYPE=Release \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_BUILD_SELFSIGNED_CERTIFICATE=ON ..
|
|
|
- make doc
|
|
|
- make doc_pdf
|
|
|
- make selfsigned
|
|
|
- cp -r doc ../../
|
|
|
- cp -r doc_latex ../../
|
|
|
- cp ./examples/server_cert.der ../../
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.doc\\r'
|
|
|
-
|
|
|
- # cross compilation only with gcc
|
|
|
- if ! [ -z ${MINGW+x} ]; then
|
|
|
- echo -e "\r\n== Cross compile release build for MinGW 32 bit ==" && echo -en 'travis_fold:start:script.build.cross_mingw32\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON \
|
|
|
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-win32 \
|
|
|
- -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-mingw32.cmake \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- make install
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd ..
|
|
|
- zip -r open62541-win32.zip ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-win32/*
|
|
|
- rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.cross_mingw32\\r'
|
|
|
-
|
|
|
- echo -e "\r\n== Cross compile release build for MinGW 64 bit ==" && echo -en 'travis_fold:start:script.build.cross_mingw64\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON \
|
|
|
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-win64 \
|
|
|
- -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-mingw64.cmake \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- make install
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd ..
|
|
|
- zip -r open62541-win64.zip ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-win64/*
|
|
|
- rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.cross_mingw64\\r'
|
|
|
-
|
|
|
- echo -e "\r\n== Cross compile release build for 32-bit linux ==" && echo -en 'travis_fold:start:script.build.cross_linux\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON \
|
|
|
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux32 \
|
|
|
- -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-gcc-m32.cmake \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- make install
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd ..
|
|
|
- tar -pczf open62541-linux32.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-linux32/*
|
|
|
- rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.cross_linux\\r'
|
|
|
-
|
|
|
- echo -e "\r\n== Cross compile release build for RaspberryPi ==" && echo -en 'travis_fold:start:script.build.cross_raspi\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- git clone https://github.com/raspberrypi/tools
|
|
|
- export PATH=$PATH:./tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/
|
|
|
- cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON \
|
|
|
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-raspberrypi \
|
|
|
- -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-rpi64.cmake \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- make install
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd ..
|
|
|
- tar -pczf open62541-raspberrypi.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-raspberrypi/*
|
|
|
- rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.cross_raspi\\r'
|
|
|
- fi
|
|
|
+ exit 0
|
|
|
+fi
|
|
|
|
|
|
- echo -e "\r\n== Compile release build for 64-bit linux ==" && echo -en 'travis_fold:start:script.build.linux_64\\r'
|
|
|
+echo -en "\r\n=== Building ===\r\n"
|
|
|
+
|
|
|
+echo -e "\r\n== Documentation and certificate build ==" && echo -en 'travis_fold:start:script.build.doc\\r'
|
|
|
+mkdir -p build
|
|
|
+cd build
|
|
|
+cmake \
|
|
|
+ -DCMAKE_BUILD_TYPE=Release \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_BUILD_SELFSIGNED_CERTIFICATE=ON ..
|
|
|
+make doc
|
|
|
+make doc_pdf
|
|
|
+make selfsigned
|
|
|
+cp -r doc ../../
|
|
|
+cp -r doc_latex ../../
|
|
|
+cp ./examples/server_cert.der ../../
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.doc\\r'
|
|
|
+
|
|
|
+# cross compilation only with gcc
|
|
|
+if ! [ -z ${MINGW+x} ]; then
|
|
|
+ echo -e "\r\n== Cross compile release build for MinGW 32 bit ==" && echo -en 'travis_fold:start:script.build.cross_mingw32\\r'
|
|
|
mkdir -p build && cd build
|
|
|
cmake \
|
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux64 \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-win32 \
|
|
|
+ -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-mingw32.cmake \
|
|
|
-DUA_BUILD_EXAMPLES=ON \
|
|
|
-DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
make -j
|
|
@@ -257,186 +187,260 @@ else
|
|
|
make install
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
cd ..
|
|
|
- tar -pczf open62541-linux64.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-linux64/*
|
|
|
+ zip -r open62541-win32.zip ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-win32/*
|
|
|
rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.linux_64\\r'
|
|
|
+ echo -en 'travis_fold:end:script.build.cross_mingw32\\r'
|
|
|
|
|
|
- echo -e "\r\n== Compile with amalgamation ==" && echo -en 'travis_fold:start:script.build.amalgamate\\r'
|
|
|
+ echo -e "\r\n== Cross compile release build for MinGW 64 bit ==" && echo -en 'travis_fold:start:script.build.cross_mingw64\\r'
|
|
|
mkdir -p build && cd build
|
|
|
cmake \
|
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
- -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux64 \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=OFF \
|
|
|
- -DUA_ENABLE_AMALGAMATION=ON ..
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-win64 \
|
|
|
+ -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-mingw64.cmake \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
make -j
|
|
|
- cp open62541.h ../.. # copy single file-release
|
|
|
- cp open62541.c ../.. # copy single file-release
|
|
|
- gcc -std=c99 -c open62541.c
|
|
|
- g++ ../examples/server.cpp -I./ open62541.o -lrt -o cpp-server
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.amalgamate\\r'
|
|
|
+ make install
|
|
|
+ if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+ cd ..
|
|
|
+ zip -r open62541-win64.zip ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-win64/*
|
|
|
+ rm build -rf
|
|
|
+ echo -en 'travis_fold:end:script.build.cross_mingw64\\r'
|
|
|
|
|
|
- echo "Compile as shared lib version" && echo -en 'travis_fold:start:script.build.shared_libs\\r'
|
|
|
+ echo -e "\r\n== Cross compile release build for 32-bit linux ==" && echo -en 'travis_fold:start:script.build.cross_linux\\r'
|
|
|
mkdir -p build && cd build
|
|
|
cmake \
|
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux32 \
|
|
|
+ -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-gcc-m32.cmake \
|
|
|
-DUA_BUILD_EXAMPLES=ON \
|
|
|
-DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
make -j
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.shared_libs\\r'
|
|
|
+ make install
|
|
|
+ if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+ cd ..
|
|
|
+ tar -pczf open62541-linux32.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-linux32/*
|
|
|
+ rm build -rf
|
|
|
+ echo -en 'travis_fold:end:script.build.cross_linux\\r'
|
|
|
|
|
|
- echo "Compile as shared lib version with amalgamation" && echo -en 'travis_fold:start:script.build.shared_libs_amalgamate\\r'
|
|
|
+ echo -e "\r\n== Cross compile release build for RaspberryPi ==" && echo -en 'travis_fold:start:script.build.cross_raspi\\r'
|
|
|
mkdir -p build && cd build
|
|
|
+ git clone https://github.com/raspberrypi/tools
|
|
|
+ export PATH=$PATH:./tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/
|
|
|
cmake \
|
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=OFF \
|
|
|
- -DUA_ENABLE_AMALGAMATION=ON ..
|
|
|
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-raspberrypi \
|
|
|
+ -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-rpi64.cmake \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
make -j
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.shared_libs_amalgamate\\r'
|
|
|
-
|
|
|
- if [ "$CC" != "tcc" ]; then
|
|
|
- echo -e "\r\n==Compile multithreaded version==" && echo -en 'travis_fold:start:script.build.multithread\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_MULTITHREADING=ON ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.multithread\\r'
|
|
|
- fi
|
|
|
+ make install
|
|
|
+ if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+ cd ..
|
|
|
+ tar -pczf open62541-raspberrypi.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-raspberrypi/*
|
|
|
+ rm build -rf
|
|
|
+ echo -en 'travis_fold:end:script.build.cross_raspi\\r'
|
|
|
+fi
|
|
|
|
|
|
- echo -e "\r\n== Compile with encryption ==" && echo -en 'travis_fold:start:script.build.encryption\\r'
|
|
|
+echo -e "\r\n== Compile release build for 64-bit linux ==" && echo -en 'travis_fold:start:script.build.linux_64\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux64 \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+make install
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd ..
|
|
|
+tar -pczf open62541-linux64.tar.gz ../doc_latex/open62541.pdf LICENSE AUTHORS README.md open62541-linux64/*
|
|
|
+rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.linux_64\\r'
|
|
|
+
|
|
|
+echo -e "\r\n== Compile with amalgamation ==" && echo -en 'travis_fold:start:script.build.amalgamate\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/open62541-linux64 \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=OFF \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=ON ..
|
|
|
+make -j
|
|
|
+cp open62541.h ../.. # copy single file-release
|
|
|
+cp open62541.c ../.. # copy single file-release
|
|
|
+gcc -std=c99 -c open62541.c
|
|
|
+g++ ../examples/server.cpp -I./ open62541.o -lrt -o cpp-server
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.amalgamate\\r'
|
|
|
+
|
|
|
+echo "Compile as shared lib version" && echo -en 'travis_fold:start:script.build.shared_libs\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=OFF ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.shared_libs\\r'
|
|
|
+
|
|
|
+echo "Compile as shared lib version with amalgamation" && echo -en 'travis_fold:start:script.build.shared_libs_amalgamate\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=OFF \
|
|
|
+ -DUA_ENABLE_AMALGAMATION=ON ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.shared_libs_amalgamate\\r'
|
|
|
+
|
|
|
+if [ "$CC" != "tcc" ]; then
|
|
|
+ echo -e "\r\n==Compile multithreaded version==" && echo -en 'travis_fold:start:script.build.multithread\\r'
|
|
|
mkdir -p build && cd build
|
|
|
cmake \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_ENCRYPTION=ON ..
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_MULTITHREADING=ON ..
|
|
|
make -j
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.encryption\\r'
|
|
|
+ echo -en 'travis_fold:end:script.build.multithread\\r'
|
|
|
+fi
|
|
|
|
|
|
- echo -e "\r\n== Compile without discovery version ==" && echo -en 'travis_fold:start:script.build.discovery\\r'
|
|
|
+echo -e "\r\n== Compile with encryption ==" && echo -en 'travis_fold:start:script.build.encryption\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_ENCRYPTION=ON ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.encryption\\r'
|
|
|
+
|
|
|
+echo -e "\r\n== Compile without discovery version ==" && echo -en 'travis_fold:start:script.build.discovery\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_ENABLE_DISCOVERY=OFF \
|
|
|
+ -DUA_ENABLE_DISCOVERY_MULTICAST=OFF ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.discovery\\r'
|
|
|
+
|
|
|
+if [ "$CC" != "tcc" ]; then
|
|
|
+ echo -e "\r\n== Compile multithreaded version with discovery ==" && echo -en 'travis_fold:start:script.build.multithread_discovery\\r'
|
|
|
mkdir -p build && cd build
|
|
|
cmake \
|
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
-DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_DISCOVERY=OFF \
|
|
|
- -DUA_ENABLE_DISCOVERY_MULTICAST=OFF ..
|
|
|
+ -DUA_ENABLE_DISCOVERY=ON \
|
|
|
+ -DUA_ENABLE_DISCOVERY_MULTICAST=ON \
|
|
|
+ -DUA_ENABLE_MULTITHREADING=ON ..
|
|
|
make -j
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.discovery\\r'
|
|
|
-
|
|
|
- if [ "$CC" != "tcc" ]; then
|
|
|
- echo -e "\r\n== Compile multithreaded version with discovery ==" && echo -en 'travis_fold:start:script.build.multithread_discovery\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_ENABLE_DISCOVERY=ON \
|
|
|
- -DUA_ENABLE_DISCOVERY_MULTICAST=ON \
|
|
|
- -DUA_ENABLE_MULTITHREADING=ON ..
|
|
|
- make -j
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.multithread_discovery\\r'
|
|
|
- fi
|
|
|
+ echo -en 'travis_fold:end:script.build.multithread_discovery\\r'
|
|
|
+fi
|
|
|
|
|
|
- echo -e "\r\n== Compile JSON encoding ==" && echo -en 'travis_fold:start:script.build.json\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_ENABLE_JSON_ENCODING=ON ..
|
|
|
- make -j
|
|
|
+echo -e "\r\n== Compile JSON encoding ==" && echo -en 'travis_fold:start:script.build.json\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+cmake \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_ENABLE_JSON_ENCODING=ON ..
|
|
|
+make -j
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.json\\r'
|
|
|
+
|
|
|
+echo -e "\r\n== Unit tests (full NS0) ==" && echo -en 'travis_fold:start:script.build.unit_test_ns0_full\\r'
|
|
|
+mkdir -p build && cd build
|
|
|
+# Valgrind cannot handle the full NS0 because the generated file is too big. Thus run NS0 full without valgrind
|
|
|
+cmake \
|
|
|
+ -DCMAKE_BUILD_TYPE=Debug \
|
|
|
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ -DUA_BUILD_UNIT_TESTS=ON \
|
|
|
+ -DUA_ENABLE_COVERAGE=OFF \
|
|
|
+ -DUA_ENABLE_DA=ON \
|
|
|
+ -DUA_ENABLE_DISCOVERY=ON \
|
|
|
+ -DUA_ENABLE_DISCOVERY_MULTICAST=ON \
|
|
|
+ -DUA_ENABLE_ENCRYPTION=ON \
|
|
|
+ -DUA_ENABLE_JSON_ENCODING=ON \
|
|
|
+ -DUA_ENABLE_PUBSUB=ON \
|
|
|
+ -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON \
|
|
|
+ -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON \
|
|
|
+ -DUA_ENABLE_SUBSCRIPTIONS=ON \
|
|
|
+ -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \
|
|
|
+ -DUA_ENABLE_UNIT_TESTS_MEMCHECK=OFF \
|
|
|
+ -DUA_NAMESPACE_ZERO=FULL ..
|
|
|
+make -j && make test ARGS="-V"
|
|
|
+if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
+cd .. && rm build -rf
|
|
|
+echo -en 'travis_fold:end:script.build.unit_test_ns0_full\\r'
|
|
|
+
|
|
|
+if ! [ -z ${DEBIAN+x} ]; then
|
|
|
+ echo -e "\r\n== Building the Debian package ==" && echo -en 'travis_fold:start:script.build.debian\\r'
|
|
|
+ dpkg-buildpackage -b
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.json\\r'
|
|
|
+ cp ../open62541*.deb .
|
|
|
+ # Copy for github release script
|
|
|
+ cp ../open62541*.deb ../..
|
|
|
+ echo -en 'travis_fold:end:script.build.debian\\r'
|
|
|
+fi
|
|
|
+
|
|
|
|
|
|
- echo -e "\r\n== Unit tests (full NS0) ==" && echo -en 'travis_fold:start:script.build.unit_test_ns0_full\\r'
|
|
|
+if [ "$CC" != "tcc" ]; then
|
|
|
+ echo -e "\r\n== Unit tests (minimal NS0) ==" && echo -en 'travis_fold:start:script.build.unit_test_ns0_minimal\\r'
|
|
|
mkdir -p build && cd build
|
|
|
- # Valgrind cannot handle the full NS0 because the generated file is too big. Thus run NS0 full without valgrind
|
|
|
cmake \
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
-DUA_BUILD_EXAMPLES=ON \
|
|
|
-DUA_BUILD_UNIT_TESTS=ON \
|
|
|
- -DUA_ENABLE_COVERAGE=OFF \
|
|
|
+ -DUA_ENABLE_COVERAGE=ON \
|
|
|
-DUA_ENABLE_DA=ON \
|
|
|
-DUA_ENABLE_DISCOVERY=ON \
|
|
|
-DUA_ENABLE_DISCOVERY_MULTICAST=ON \
|
|
|
-DUA_ENABLE_ENCRYPTION=ON \
|
|
|
- -DUA_ENABLE_JSON_ENCODING=ON \
|
|
|
-DUA_ENABLE_PUBSUB=ON \
|
|
|
-DUA_ENABLE_PUBSUB_DELTAFRAMES=ON \
|
|
|
-DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON \
|
|
|
- -DUA_ENABLE_SUBSCRIPTIONS=ON \
|
|
|
- -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \
|
|
|
- -DUA_ENABLE_UNIT_TESTS_MEMCHECK=OFF \
|
|
|
- -DUA_NAMESPACE_ZERO=FULL ..
|
|
|
+ -DUA_ENABLE_UNIT_TESTS_MEMCHECK=ON ..
|
|
|
make -j && make test ARGS="-V"
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd .. && rm build -rf
|
|
|
- echo -en 'travis_fold:end:script.build.unit_test_ns0_full\\r'
|
|
|
+ echo -en 'travis_fold:end:script.build.unit_test_ns0_minimal\\r'
|
|
|
|
|
|
- if ! [ -z ${DEBIAN+x} ]; then
|
|
|
- echo -e "\r\n== Building the Debian package ==" && echo -en 'travis_fold:start:script.build.debian\\r'
|
|
|
- dpkg-buildpackage -b
|
|
|
+ # only run coveralls on main repo and when MINGW=true
|
|
|
+ # We only want to build coveralls once, so we just take the travis run where MINGW=true which is only enabled once
|
|
|
+ echo -e "\r\n== -> Current repo: ${TRAVIS_REPO_SLUG} =="
|
|
|
+ if [ $MINGW = "true" ] && [ "${TRAVIS_REPO_SLUG}" = "open62541/open62541" ]; then
|
|
|
+ echo -en "\r\n== Building codecov.io for ${TRAVIS_REPO_SLUG} ==" && echo -en 'travis_fold:start:script.build.codecov\\r'
|
|
|
+ cd ..
|
|
|
+ /bin/bash -c "bash <(curl -s https://codecov.io/bash)"
|
|
|
if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cp ../open62541*.deb .
|
|
|
- # Copy for github release script
|
|
|
- cp ../open62541*.deb ../..
|
|
|
- echo -en 'travis_fold:end:script.build.debian\\r'
|
|
|
- fi
|
|
|
-
|
|
|
+ cd build
|
|
|
+ echo -en 'travis_fold:end:script.build.codecov\\r'
|
|
|
|
|
|
- if [ "$CC" != "tcc" ]; then
|
|
|
- echo -e "\r\n== Unit tests (minimal NS0) ==" && echo -en 'travis_fold:start:script.build.unit_test_ns0_minimal\\r'
|
|
|
- mkdir -p build && cd build
|
|
|
- cmake \
|
|
|
- -DCMAKE_BUILD_TYPE=Debug \
|
|
|
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/$PYTHON \
|
|
|
- -DUA_BUILD_EXAMPLES=ON \
|
|
|
- -DUA_BUILD_UNIT_TESTS=ON \
|
|
|
- -DUA_ENABLE_COVERAGE=ON \
|
|
|
- -DUA_ENABLE_DA=ON \
|
|
|
- -DUA_ENABLE_DISCOVERY=ON \
|
|
|
- -DUA_ENABLE_DISCOVERY_MULTICAST=ON \
|
|
|
- -DUA_ENABLE_ENCRYPTION=ON \
|
|
|
- -DUA_ENABLE_PUBSUB=ON \
|
|
|
- -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON \
|
|
|
- -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON \
|
|
|
- -DUA_ENABLE_UNIT_TESTS_MEMCHECK=ON ..
|
|
|
- make -j && make test ARGS="-V"
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- echo -en 'travis_fold:end:script.build.unit_test_ns0_minimal\\r'
|
|
|
-
|
|
|
- # only run coveralls on main repo and when MINGW=true
|
|
|
- # We only want to build coveralls once, so we just take the travis run where MINGW=true which is only enabled once
|
|
|
- echo -e "\r\n== -> Current repo: ${TRAVIS_REPO_SLUG} =="
|
|
|
- if [ $MINGW = "true" ] && [ "${TRAVIS_REPO_SLUG}" = "open62541/open62541" ]; then
|
|
|
- echo -en "\r\n== Building codecov.io for ${TRAVIS_REPO_SLUG} ==" && echo -en 'travis_fold:start:script.build.codecov\\r'
|
|
|
- cd ..
|
|
|
- /bin/bash -c "bash <(curl -s https://codecov.io/bash)"
|
|
|
- if [ $? -ne 0 ] ; then exit 1 ; fi
|
|
|
- cd build
|
|
|
- echo -en 'travis_fold:end:script.build.codecov\\r'
|
|
|
-
|
|
|
- echo -en "\r\n== Building coveralls for ${TRAVIS_REPO_SLUG} ==" && echo -en 'travis_fold:start:script.build.coveralls\\r'
|
|
|
- coveralls -E '.*/build/CMakeFiles/.*' -E '.*/examples/.*' -E '.*/tests/.*' -E '.*\.h' -E '.*CMakeCXXCompilerId\.cpp' -E '.*CMakeCCompilerId\.c' -r ../ || true # ignore result since coveralls is unreachable from time to time
|
|
|
- echo -en 'travis_fold:end:script.build.coveralls\\r'
|
|
|
- fi
|
|
|
- cd .. && rm build -rf
|
|
|
+ echo -en "\r\n== Building coveralls for ${TRAVIS_REPO_SLUG} ==" && echo -en 'travis_fold:start:script.build.coveralls\\r'
|
|
|
+ coveralls -E '.*/build/CMakeFiles/.*' -E '.*/examples/.*' -E '.*/tests/.*' -E '.*\.h' -E '.*CMakeCXXCompilerId\.cpp' -E '.*CMakeCCompilerId\.c' -r ../ || true # ignore result since coveralls is unreachable from time to time
|
|
|
+ echo -en 'travis_fold:end:script.build.coveralls\\r'
|
|
|
fi
|
|
|
+ cd .. && rm build -rf
|
|
|
fi
|