Skip to content

Commit

Permalink
Dependencies: Update Travis CI script
Browse files Browse the repository at this point in the history
  • Loading branch information
vgrigoriev committed May 22, 2021
1 parent 55b6518 commit 2af8e4f
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 18 deletions.
22 changes: 8 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
os: linux
dist: bionic
dist: focal
language: cpp

branches:
Expand All @@ -12,7 +12,7 @@ addon_shortcuts:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main'
- sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-9 main'
key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
packages:
- clang-9
Expand All @@ -22,7 +22,7 @@ addon_shortcuts:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
- sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-10
Expand All @@ -32,7 +32,7 @@ addon_shortcuts:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
- sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-11
Expand All @@ -42,7 +42,7 @@ addon_shortcuts:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main'
- sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-12
Expand Down Expand Up @@ -97,25 +97,19 @@ install:
- |
CMAKE_URL="https://cmake.org/files/v3.20/cmake-3.20.2-linux-x86_64.tar.gz"
mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
- |
../install_boost.sh ${DEPS_DIR}
- |
../install_llvm.sh ${DEPS_DIR}
- |
GOOGLETEST_URL="https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
mkdir googletest && travis_retry wget --no-check-certificate --quiet -O - ${GOOGLETEST_URL} | tar --strip-components=1 -xz -C googletest
- cd googletest
- cmake -DBUILD_SHARED_LIBS=ON .
- cmake --build . -j "$(nproc)"
- sudo cp -a googletest/include/gtest /usr/include
- sudo cp -a lib/libgtest_main.so lib/libgtest.so /usr/lib/
- cmake --install .
../install_gtest.sh ${DEPS_DIR}
before_script:
- export PATH=${DEPS_DIR}/boost:${PATH}
- export PATH=${DEPS_DIR}/llvm:${PATH}
- export PATH=${DEPS_DIR}/cmake/bin:${PATH}
- export PATH=${DEPS_DIR}/gtest:${PATH}
- cd ${TRAVIS_BUILD_DIR}


Expand Down
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ if (NOT DEFINED Boost_ROOT)
message(STATUS "[info] BOOST root directory set to: '${Boost_ROOT}'.")
endif()
find_package(Boost 1.76 REQUIRED)
message(STATUS "Found BOOST: ${Boost_DIR}.")
include_directories(${Boost_INCLUDE_DIRS})

# Find LLVM library.
Expand All @@ -33,7 +34,15 @@ include_directories(${LLVM_INCLUDE_DIRS})
# Find GTest library.
if (DEFINED PDL_WITH_TESTS)
message(STATUS "[info] PDL Tests Included.")
find_package(GTest 1.10 REQUIRED)

# Find GTEST library.
if (NOT DEFINED GTest_ROOT)
set(GTest_ROOT ${PROJECT_SOURCE_DIR}/gtest)
message("[info] GTEST root directory set to: '${GTest_ROOT}'.")
endif()

find_package(GTest CONFIG 1.10 REQUIRED)
message(STATUS "Found GTEST: ${GTest_DIR}.")
add_subdirectory(tests)
pdl_test_init()
endif()
Expand Down
45 changes: 45 additions & 0 deletions install_gtest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env bash

set -e

WORK_DIRECTORY=$([ -z "$1" ] && 'pwd' || echo "$1")

GTEST_MAJOR_VERSION=1
GTEST_MINOR_VERSION=10
GTEST_PATCH_VERSION=0

GTEST_VERSION=${GTEST_MAJOR_VERSION}.${GTEST_MINOR_VERSION}.${GTEST_PATCH_VERSION}

GTEST_SOURCE_DIR=${WORK_DIRECTORY}/temp
GTEST_INSTALL_DIR=${WORK_DIRECTORY}/gtest

GTEST_URL="https://github.com/google/googletest/archive/release-${GTEST_VERSION}.tar.gz"

mkdir -v -p "${GTEST_SOURCE_DIR}" || exit 1
mkdir -v -p "${GTEST_INSTALL_DIR}" || exit 2

wget --no-check-certificate --quiet -O - ${GTEST_URL} | tar --strip-components=1 -xz -C "${GTEST_SOURCE_DIR}"
if [ $? -ne 0 ]
then exit 3
fi

cd "${GTEST_SOURCE_DIR}" || exit 4

cmake . \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_COMPILER="$CXX" \
-DCMAKE_CXX_FLAGS="-O2" \
-DGTEST_HAS_PTHREAD=1 \
-S"${GTEST_SOURCE_DIR}" \
-B"${GTEST_SOURCE_DIR}/build" \
-DCMAKE_INSTALL_PREFIX="${GTEST_INSTALL_DIR}"

cmake --build build -j "$(nproc)"
cmake --install build

cd "${WORK_DIRECTORY}" || exit 6
rm -rf "${GTEST_SOURCE_DIR}"

export GTest_ROOT=${GTEST_INSTALL_DIR}
2 changes: 1 addition & 1 deletion install_llvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ cmake . \
-DLLVM_ENABLE_BINDINGS=OFF \
-DLLVM_ENABLE_PIC=ON \
-S"${LLVM_SOURCE_DIR}" \
-B"${LLVM_SOURCE_DIR}\build" \
-B"${LLVM_SOURCE_DIR}/build" \
-DCMAKE_INSTALL_PREFIX="${LLVM_INSTALL_DIR}"

cmake --build build -j "$(nproc)"
Expand Down
4 changes: 2 additions & 2 deletions tests/unit_tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ macro(pdl_test_create _name)
add_executable(${_name}_test)
target_link_libraries(${_name}_test
PRIVATE
gtest
gtest_main
GTest::gtest
GTest::gtest_main
)

endmacro()
Expand Down

0 comments on commit 2af8e4f

Please sign in to comment.