Backport GitHub Actions CI (#259)
* Add GitHub Actions * Add Windows Check * Fix wrong os selection * Add XCode version * Upgrade GCC Version * Make GCC match Ubuntu name * Do not fail everyone when one failed * More checks on ccache * Do not expose GenericValue on Windows * Fix BetweenFactor for Windows * Update * Add Python CI * Typo * Add note about GENERICVALUE_VISIBILITY * Fix Windows Boost * Change substitution scheme to PowerShell * Fix the spurious error of the Point3 default constructor * Separate builds to allow easier restarts * Fix uninitialized variable usage * Change of policy, only build python stuff, mac and win on PRs * Further separate the Python testsrelease/4.3a0
parent
2f0e76fab3
commit
d0724a77bb
|
@ -0,0 +1,96 @@
|
||||||
|
name: Cython CI
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} ${{ matrix.build_type }} ${{ matrix.python_version }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
PYTHON_VERSION: ${{ matrix.python_version }}
|
||||||
|
WRAPPER: ${{ matrix.wrapper }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# Github Actions requires a single row to be added to the build matrix.
|
||||||
|
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
|
||||||
|
name: [
|
||||||
|
ubuntu-18.04-gcc-5,
|
||||||
|
ubuntu-18.04-gcc-9,
|
||||||
|
ubuntu-18.04-clang-9,
|
||||||
|
macOS-10.15-xcode-11.3.1,
|
||||||
|
]
|
||||||
|
|
||||||
|
build_type: [Debug, Release]
|
||||||
|
python_version: [3]
|
||||||
|
wrapper: [cython]
|
||||||
|
include:
|
||||||
|
- name: ubuntu-18.04-gcc-5
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "5"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-gcc-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-clang-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: clang
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
- name: macOS-10.15-xcode-11.3.1
|
||||||
|
os: macOS-10.15
|
||||||
|
compiler: xcode
|
||||||
|
version: "11.3.1"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
# LLVM 9 is not in Bionic's repositories so we add the official LLVM repository.
|
||||||
|
if [ "${{ matrix.compiler }}" = "clang" ] && [ "${{ matrix.version }}" = "9" ]; then
|
||||||
|
sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
|
||||||
|
fi
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y upgrade
|
||||||
|
|
||||||
|
sudo apt install cmake g++-9 clang-9 build-essential pkg-config libpython-dev python-numpy libboost-all-dev
|
||||||
|
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
sudo apt-get install -y g++-${{ matrix.version }} g++-${{ matrix.version }}-multilib
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib
|
||||||
|
echo "::set-env name=CC::clang-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::clang++-${{ matrix.version }}"
|
||||||
|
fi
|
||||||
|
- name: Install (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
brew install cmake ninja boost
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
brew install gcc@${{ matrix.version }}
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo xcode-select -switch /Applications/Xcode_${{ matrix.version }}.app
|
||||||
|
echo "::set-env name=CC::clang"
|
||||||
|
echo "::set-env name=CXX::clang++"
|
||||||
|
fi
|
||||||
|
- name: Build (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
bash .travis.python.sh
|
||||||
|
- name: Build (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
bash .travis.python.sh
|
|
@ -0,0 +1,71 @@
|
||||||
|
name: CI Linux
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} ${{ matrix.build_type }} ${{ matrix.build_unstable }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# Github Actions requires a single row to be added to the build matrix.
|
||||||
|
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
|
||||||
|
name: [
|
||||||
|
ubuntu-18.04-gcc-5,
|
||||||
|
ubuntu-18.04-gcc-9,
|
||||||
|
ubuntu-18.04-clang-9,
|
||||||
|
]
|
||||||
|
|
||||||
|
build_type: [Debug, Release]
|
||||||
|
build_unstable: [ON, OFF]
|
||||||
|
include:
|
||||||
|
- name: ubuntu-18.04-gcc-5
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "5"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-gcc-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-clang-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: clang
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
# LLVM 9 is not in Bionic's repositories so we add the official LLVM repository.
|
||||||
|
if [ "${{ matrix.compiler }}" = "clang" ] && [ "${{ matrix.version }}" = "9" ]; then
|
||||||
|
sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
|
||||||
|
fi
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y upgrade
|
||||||
|
|
||||||
|
sudo apt install cmake g++-9 clang-9 build-essential pkg-config libpython-dev python-numpy libboost-all-dev
|
||||||
|
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
sudo apt-get install -y g++-${{ matrix.version }} g++-${{ matrix.version }}-multilib
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib
|
||||||
|
echo "::set-env name=CC::clang-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::clang++-${{ matrix.version }}"
|
||||||
|
fi
|
||||||
|
- name: Build (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
bash .travis.sh -t
|
|
@ -0,0 +1,51 @@
|
||||||
|
name: CI macOS
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} ${{ matrix.build_type }} ${{ matrix.build_unstable }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# Github Actions requires a single row to be added to the build matrix.
|
||||||
|
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
|
||||||
|
name: [
|
||||||
|
macOS-10.15-xcode-11.3.1,
|
||||||
|
]
|
||||||
|
|
||||||
|
build_type: [Debug, Release]
|
||||||
|
build_unstable: [ON, OFF]
|
||||||
|
include:
|
||||||
|
- name: macOS-10.15-xcode-11.3.1
|
||||||
|
os: macOS-10.15
|
||||||
|
compiler: xcode
|
||||||
|
version: "11.3.1"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
brew install cmake ninja boost
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
brew install gcc@${{ matrix.version }}
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo xcode-select -switch /Applications/Xcode_${{ matrix.version }}.app
|
||||||
|
echo "::set-env name=CC::clang"
|
||||||
|
echo "::set-env name=CXX::clang++"
|
||||||
|
fi
|
||||||
|
- name: Build (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
bash .travis.sh -t
|
|
@ -0,0 +1,96 @@
|
||||||
|
name: Python CI
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} ${{ matrix.build_type }} ${{ matrix.python_version }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
PYTHON_VERSION: ${{ matrix.python_version }}
|
||||||
|
WRAPPER: ${{ matrix.wrapper }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# Github Actions requires a single row to be added to the build matrix.
|
||||||
|
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
|
||||||
|
name: [
|
||||||
|
ubuntu-18.04-gcc-5,
|
||||||
|
ubuntu-18.04-gcc-9,
|
||||||
|
ubuntu-18.04-clang-9,
|
||||||
|
macOS-10.15-xcode-11.3.1,
|
||||||
|
]
|
||||||
|
|
||||||
|
build_type: [Debug, Release]
|
||||||
|
python_version: [3]
|
||||||
|
wrapper: [pybind]
|
||||||
|
include:
|
||||||
|
- name: ubuntu-18.04-gcc-5
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "5"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-gcc-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: gcc
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
- name: ubuntu-18.04-clang-9
|
||||||
|
os: ubuntu-18.04
|
||||||
|
compiler: clang
|
||||||
|
version: "9"
|
||||||
|
|
||||||
|
- name: macOS-10.15-xcode-11.3.1
|
||||||
|
os: macOS-10.15
|
||||||
|
compiler: xcode
|
||||||
|
version: "11.3.1"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
# LLVM 9 is not in Bionic's repositories so we add the official LLVM repository.
|
||||||
|
if [ "${{ matrix.compiler }}" = "clang" ] && [ "${{ matrix.version }}" = "9" ]; then
|
||||||
|
sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
|
||||||
|
fi
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y upgrade
|
||||||
|
|
||||||
|
sudo apt install cmake g++-9 clang-9 build-essential pkg-config libpython-dev python-numpy libboost-all-dev
|
||||||
|
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
sudo apt-get install -y g++-${{ matrix.version }} g++-${{ matrix.version }}-multilib
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo apt-get install -y clang-${{ matrix.version }} g++-multilib
|
||||||
|
echo "::set-env name=CC::clang-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::clang++-${{ matrix.version }}"
|
||||||
|
fi
|
||||||
|
- name: Install (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
brew install cmake ninja boost
|
||||||
|
if [ "${{ matrix.compiler }}" = "gcc" ]; then
|
||||||
|
brew install gcc@${{ matrix.version }}
|
||||||
|
echo "::set-env name=CC::gcc-${{ matrix.version }}"
|
||||||
|
echo "::set-env name=CXX::g++-${{ matrix.version }}"
|
||||||
|
else
|
||||||
|
sudo xcode-select -switch /Applications/Xcode_${{ matrix.version }}.app
|
||||||
|
echo "::set-env name=CC::clang"
|
||||||
|
echo "::set-env name=CXX::clang++"
|
||||||
|
fi
|
||||||
|
- name: Build (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
bash .travis.python.sh
|
||||||
|
- name: Build (macOS)
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
run: |
|
||||||
|
bash .travis.python.sh
|
|
@ -0,0 +1,75 @@
|
||||||
|
name: CI Windows
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} ${{ matrix.build_type }} ${{ matrix.build_unstable }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
|
CTEST_PARALLEL_LEVEL: 2
|
||||||
|
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# Github Actions requires a single row to be added to the build matrix.
|
||||||
|
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions.
|
||||||
|
name: [
|
||||||
|
windows-2016-cl,
|
||||||
|
windows-2019-cl,
|
||||||
|
]
|
||||||
|
|
||||||
|
build_type: [Debug, Release]
|
||||||
|
build_unstable: [ON, OFF]
|
||||||
|
include:
|
||||||
|
- name: windows-2016-cl
|
||||||
|
os: windows-2016
|
||||||
|
compiler: cl
|
||||||
|
|
||||||
|
- name: windows-2019-cl
|
||||||
|
os: windows-2019
|
||||||
|
compiler: cl
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install (Windows)
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
|
||||||
|
scoop install ninja --global
|
||||||
|
if ("${{ matrix.compiler }}".StartsWith("clang")) {
|
||||||
|
scoop install llvm --global
|
||||||
|
}
|
||||||
|
if ("${{ matrix.compiler }}" -eq "gcc") {
|
||||||
|
# Chocolatey GCC is broken on the windows-2019 image.
|
||||||
|
# See: https://github.com/DaanDeMeyer/doctest/runs/231595515
|
||||||
|
# See: https://github.community/t5/GitHub-Actions/Something-is-wrong-with-the-chocolatey-installed-version-of-gcc/td-p/32413
|
||||||
|
scoop install gcc --global
|
||||||
|
echo "::set-env name=CC::gcc"
|
||||||
|
echo "::set-env name=CXX::g++"
|
||||||
|
} elseif ("${{ matrix.compiler }}" -eq "clang") {
|
||||||
|
echo "::set-env name=CC::clang"
|
||||||
|
echo "::set-env name=CXX::clang++"
|
||||||
|
} else {
|
||||||
|
echo "::set-env name=CC::${{ matrix.compiler }}"
|
||||||
|
echo "::set-env name=CXX::${{ matrix.compiler }}"
|
||||||
|
}
|
||||||
|
# Scoop modifies the PATH so we make the modified PATH global.
|
||||||
|
echo "::set-env name=PATH::$env:PATH"
|
||||||
|
- name: Build (Windows)
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
run: |
|
||||||
|
cmake -E remove_directory build
|
||||||
|
echo "BOOST_ROOT_1_72_0: ${env:BOOST_ROOT_1_72_0}"
|
||||||
|
cmake -B build -S . -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DBOOST_ROOT="${env:BOOST_ROOT_1_72_0}" -DBOOST_INCLUDEDIR="${env:BOOST_ROOT_1_72_0}\boost\include" -DBOOST_LIBRARYDIR="${env:BOOST_ROOT_1_72_0}\lib"
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target gtsam
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target gtsam_unstable
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target wrap
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target check.base
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target check.base_unstable
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} --target check.linear
|
|
@ -71,7 +71,7 @@ function configure()
|
||||||
function finish ()
|
function finish ()
|
||||||
{
|
{
|
||||||
# Print ccache stats
|
# Print ccache stats
|
||||||
ccache -s
|
[ -x "$(command -v ccache)" ] && ccache -s
|
||||||
|
|
||||||
cd $SOURCE_DIR
|
cd $SOURCE_DIR
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,8 +30,8 @@ class GroundTruth:
|
||||||
|
|
||||||
def __init__(self, K=Cal3_S2(), nrCameras=3, nrPoints=4):
|
def __init__(self, K=Cal3_S2(), nrCameras=3, nrPoints=4):
|
||||||
self.K = K
|
self.K = K
|
||||||
self.cameras = [Pose3()] * nrCameras
|
self.cameras = [gtsam.Pose3()] * nrCameras
|
||||||
self.points = [Point3()] * nrPoints
|
self.points = [gtsam.Point3(0, 0, 0)] * nrPoints
|
||||||
|
|
||||||
def print_(self, s=""):
|
def print_(self, s=""):
|
||||||
print(s)
|
print(s)
|
||||||
|
@ -99,11 +99,11 @@ def generate_data(options):
|
||||||
r = 40
|
r = 40
|
||||||
for i in range(options.nrCameras):
|
for i in range(options.nrCameras):
|
||||||
theta = i * 2 * np.pi / options.nrCameras
|
theta = i * 2 * np.pi / options.nrCameras
|
||||||
t = Point3(r * np.cos(theta), r * np.sin(theta), height)
|
t = gtsam.Point3(r * np.cos(theta), r * np.sin(theta), height)
|
||||||
truth.cameras[i] = PinholeCameraCal3_S2.Lookat(t,
|
truth.cameras[i] = gtsam.SimpleCamera.Lookat(t,
|
||||||
Point3(),
|
gtsam.Point3(0, 0, 0),
|
||||||
Point3(0, 0, 1),
|
gtsam.Point3(0, 0, 1),
|
||||||
truth.K)
|
truth.K)
|
||||||
# Create measurements
|
# Create measurements
|
||||||
for j in range(nrPoints):
|
for j in range(nrPoints):
|
||||||
# All landmarks seen in every frame
|
# All landmarks seen in every frame
|
||||||
|
|
|
@ -30,6 +30,14 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <typeinfo> // operator typeid
|
#include <typeinfo> // operator typeid
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define GENERICVALUE_VISIBILITY
|
||||||
|
#else
|
||||||
|
// This will trigger a LNKxxxx on MSVC, so disable for MSVC build
|
||||||
|
// Please refer to https://github.com/borglab/gtsam/blob/develop/Using-GTSAM-EXPORT.md
|
||||||
|
#define GENERICVALUE_VISIBILITY GTSAM_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,6 +21,14 @@
|
||||||
#include <gtsam/base/Lie.h>
|
#include <gtsam/base/Lie.h>
|
||||||
#include <gtsam/nonlinear/NonlinearFactor.h>
|
#include <gtsam/nonlinear/NonlinearFactor.h>
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define BETWEENFACTOR_VISIBILITY
|
||||||
|
#else
|
||||||
|
// This will trigger a LNKxxxx on MSVC, so disable for MSVC build
|
||||||
|
// Please refer to https://github.com/borglab/gtsam/blob/develop/Using-GTSAM-EXPORT.md
|
||||||
|
#define BETWEENFACTOR_VISIBILITY GTSAM_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue