|
|
|
@ -3,27 +3,33 @@
|
|
|
|
|
set -e
|
|
|
|
|
set -x
|
|
|
|
|
|
|
|
|
|
source conan/bin/activate
|
|
|
|
|
export CMAKE_OPTIONS="$COMMON_CMAKE_OPTIONS -DCMAKE_BUILD_TYPE=$BUILD_TYPE"
|
|
|
|
|
|
|
|
|
|
if [ -n "$WITH_COVERAGE" ]; then
|
|
|
|
|
export CMAKE_OPTIONS="$CMAKE_OPTIONS -DBUILD_WITH_COVERAGE=ON"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ "$(uname -s)" == 'Linux' ]]; then
|
|
|
|
|
if [ "$CC" == "clang" ]; then
|
|
|
|
|
# clang + Ubuntu don't like to run with UBSAN, but ASAN works
|
|
|
|
|
export CMAKE_OPTIONS="$COMMON_CMAKE_OPTIONS"
|
|
|
|
|
elif [ -n "$WITH_VALGRIND" ]; then
|
|
|
|
|
if [ -n "$WITH_SANITIZERS" ]; then
|
|
|
|
|
export CMAKE_OPTIONS="$CMAKE_OPTIONS -DEXIV2_TEAM_USE_SANITIZERS=ON"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -n "$WITH_VALGRIND" ]; then
|
|
|
|
|
export EXIV2_VALGRIND="valgrind --quiet"
|
|
|
|
|
else
|
|
|
|
|
export CMAKE_OPTIONS="$COMMON_CMAKE_OPTIONS -DEXIV2_TEAM_USE_SANITIZERS=OFF"
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
export CMAKE_OPTIONS="$COMMON_CMAKE_OPTIONS -DEXIV2_TEAM_USE_SANITIZERS=OFF"
|
|
|
|
|
fi
|
|
|
|
|
CMAKE_OPTIONS="$COMMON_CMAKE_OPTIONS -DCMAKE_CXX_FLAGS=-Wno-deprecated -DCMAKE_CXX_STANDARD=98 -DCMAKE_BUILD_TYPE=$BUILD_TYPE"
|
|
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
|
cd build
|
|
|
|
|
if [[ "$(uname -s)" == 'Darwin' ]]; then
|
|
|
|
|
export CMAKE_OPTIONS="$CMAKE_OPTIONS -DCMAKE_PREFIX_PATH=/usr/local/opt/gettext/"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
source conan/bin/activate
|
|
|
|
|
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
conan install .. -o webready=True --build missing
|
|
|
|
|
|
|
|
|
|
cmake ${CMAKE_OPTIONS} ..
|
|
|
|
|
make -j
|
|
|
|
|
|
|
|
|
|
make tests
|
|
|
|
|
make install
|
|
|
|
|
|
|
|
|
@ -35,6 +41,11 @@ else
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
pushd .
|
|
|
|
|
cd bin
|
|
|
|
|
$EXIV2_VALGRIND ./unit_tests
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
if [ -n "$COVERAGE" ]; then
|
|
|
|
|
bash <(curl -s https://codecov.io/bash)
|
|
|
|
|
fi
|
|
|
|
|