commit
3ebf7c7f44
|
@ -1,18 +0,0 @@
|
||||||
### Script to install Boost
|
|
||||||
BOOST_FOLDER=boost_${BOOST_VERSION//./_}
|
|
||||||
|
|
||||||
# Download Boost
|
|
||||||
wget https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/${BOOST_FOLDER}.tar.gz
|
|
||||||
|
|
||||||
# Unzip
|
|
||||||
tar -zxf ${BOOST_FOLDER}.tar.gz
|
|
||||||
|
|
||||||
# Bootstrap
|
|
||||||
cd ${BOOST_FOLDER}/
|
|
||||||
./bootstrap.sh --with-libraries=serialization,filesystem,thread,system,atomic,date_time,timer,chrono,program_options,regex
|
|
||||||
|
|
||||||
# Build and install
|
|
||||||
sudo ./b2 -j$(nproc) install
|
|
||||||
|
|
||||||
# Rebuild ld cache
|
|
||||||
sudo ldconfig
|
|
|
@ -58,8 +58,10 @@ function configure()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# GTSAM_BUILD_WITH_MARCH_NATIVE=OFF: to avoid crashes in builder VMs
|
# GTSAM_BUILD_WITH_MARCH_NATIVE=OFF: to avoid crashes in builder VMs
|
||||||
|
# CMAKE_CXX_FLAGS="-w": Suppress warnings to avoid IO latency in CI logs
|
||||||
cmake $SOURCE_DIR \
|
cmake $SOURCE_DIR \
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Debug} \
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Debug} \
|
||||||
|
-DCMAKE_CXX_FLAGS="-w" \
|
||||||
-DGTSAM_BUILD_TESTS=${GTSAM_BUILD_TESTS:-OFF} \
|
-DGTSAM_BUILD_TESTS=${GTSAM_BUILD_TESTS:-OFF} \
|
||||||
-DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:-ON} \
|
-DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:-ON} \
|
||||||
-DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:-OFF} \
|
-DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:-OFF} \
|
||||||
|
@ -70,11 +72,9 @@ function configure()
|
||||||
-DGTSAM_POSE3_EXPMAP=${GTSAM_POSE3_EXPMAP:-ON} \
|
-DGTSAM_POSE3_EXPMAP=${GTSAM_POSE3_EXPMAP:-ON} \
|
||||||
-DGTSAM_USE_SYSTEM_EIGEN=${GTSAM_USE_SYSTEM_EIGEN:-OFF} \
|
-DGTSAM_USE_SYSTEM_EIGEN=${GTSAM_USE_SYSTEM_EIGEN:-OFF} \
|
||||||
-DGTSAM_USE_SYSTEM_METIS=${GTSAM_USE_SYSTEM_METIS:-OFF} \
|
-DGTSAM_USE_SYSTEM_METIS=${GTSAM_USE_SYSTEM_METIS:-OFF} \
|
||||||
|
-DGTSAM_FORCE_SHARED_LIB=${GTSAM_FORCE_SHARED_LIB:-OFF} \
|
||||||
-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
|
-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
|
||||||
-DGTSAM_SINGLE_TEST_EXE=OFF \
|
-DGTSAM_SINGLE_TEST_EXE=OFF
|
||||||
-DBOOST_ROOT=$BOOST_ROOT \
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON \
|
|
||||||
-DBoost_ARCHITECTURE=-x64
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ function build ()
|
||||||
|
|
||||||
if [ "$(uname)" == "Linux" ]; then
|
if [ "$(uname)" == "Linux" ]; then
|
||||||
if (($(nproc) > 2)); then
|
if (($(nproc) > 2)); then
|
||||||
make -j$(nproc)
|
make -j4
|
||||||
else
|
else
|
||||||
make -j2
|
make -j2
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
name: Linux CI
|
name: Linux CI
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -12,7 +12,6 @@ jobs:
|
||||||
CTEST_PARALLEL_LEVEL: 2
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }}
|
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }}
|
||||||
BOOST_VERSION: 1.67.0
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
|
@ -82,7 +81,7 @@ jobs:
|
||||||
|
|
||||||
- name: Install Boost
|
- name: Install Boost
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/boost.sh
|
sudo apt-get -y install libboost-all-dev
|
||||||
|
|
||||||
- name: Build and Test
|
- name: Build and Test
|
||||||
run: bash .github/scripts/unix.sh -t
|
run: bash .github/scripts/unix.sh -t
|
||||||
|
|
|
@ -53,6 +53,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Install (Linux)
|
- name: Install (Linux)
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
|
@ -79,6 +80,7 @@ jobs:
|
||||||
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
|
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
|
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Install (macOS)
|
- name: Install (macOS)
|
||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
run: |
|
run: |
|
||||||
|
@ -88,22 +90,27 @@ jobs:
|
||||||
sudo xcode-select -switch /Applications/Xcode.app
|
sudo xcode-select -switch /Applications/Xcode.app
|
||||||
echo "CC=clang" >> $GITHUB_ENV
|
echo "CC=clang" >> $GITHUB_ENV
|
||||||
echo "CXX=clang++" >> $GITHUB_ENV
|
echo "CXX=clang++" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Set GTSAM_WITH_TBB Flag
|
- name: Set GTSAM_WITH_TBB Flag
|
||||||
if: matrix.flag == 'tbb'
|
if: matrix.flag == 'tbb'
|
||||||
run: |
|
run: |
|
||||||
echo "GTSAM_WITH_TBB=ON" >> $GITHUB_ENV
|
echo "GTSAM_WITH_TBB=ON" >> $GITHUB_ENV
|
||||||
echo "GTSAM Uses TBB"
|
echo "GTSAM Uses TBB"
|
||||||
|
|
||||||
- name: Set Swap Space
|
- name: Set Swap Space
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
uses: pierotofy/set-swap-space@master
|
uses: pierotofy/set-swap-space@master
|
||||||
with:
|
with:
|
||||||
swap-size-gb: 6
|
swap-size-gb: 6
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/python.sh -d
|
bash .github/scripts/python.sh -d
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/python.sh -b
|
bash .github/scripts/python.sh -b
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/python.sh -t
|
bash .github/scripts/python.sh -t
|
||||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
||||||
CTEST_PARALLEL_LEVEL: 2
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
GTSAM_BUILD_UNSTABLE: ON
|
GTSAM_BUILD_UNSTABLE: ON
|
||||||
BOOST_VERSION: 1.67.0
|
GTSAM_FORCE_SHARED_LIB: ON # Make shared library to save memory on CI
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -93,14 +93,20 @@ jobs:
|
||||||
|
|
||||||
sudo apt-get -y install cmake build-essential pkg-config libpython3-dev python3-numpy libicu-dev
|
sudo apt-get -y install cmake build-essential pkg-config libpython3-dev python3-numpy libicu-dev
|
||||||
|
|
||||||
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
|
sudo apt-get install -y g++-${{ matrix.version }} g++-${{ matrix.version }}-multilib
|
||||||
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
|
echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
|
echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib
|
||||||
|
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
|
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Install Boost
|
- name: Install Boost
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/boost.sh
|
sudo apt-get -y install libboost-all-dev
|
||||||
|
|
||||||
- name: Install (macOS)
|
- name: Install (macOS)
|
||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
|
@ -151,6 +157,12 @@ jobs:
|
||||||
echo "GTSAM_USE_BOOST_FEATURES=OFF" >> $GITHUB_ENV
|
echo "GTSAM_USE_BOOST_FEATURES=OFF" >> $GITHUB_ENV
|
||||||
echo "GTSAM will not use BOOST"
|
echo "GTSAM will not use BOOST"
|
||||||
|
|
||||||
|
- name: Set Swap Space
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
uses: pierotofy/set-swap-space@master
|
||||||
|
with:
|
||||||
|
swap-size-gb: 12
|
||||||
|
|
||||||
- name: Build & Test
|
- name: Build & Test
|
||||||
run: |
|
run: |
|
||||||
bash .github/scripts/unix.sh -t
|
bash .github/scripts/unix.sh -t
|
||||||
|
|
Loading…
Reference in New Issue