Skip to content

Commit

Permalink
Merge pull request #1715 from talregev/TalR/support_multi_vcvars_vers…
Browse files Browse the repository at this point in the history
…ions

Support msvc 2022 along 2019
  • Loading branch information
varunagrawal authored Mar 18, 2024
2 parents eeb092e + 5a81dc0 commit acf457e
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 14 deletions.
12 changes: 9 additions & 3 deletions .github/workflows/build-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
ubuntu-20.04-gcc-9-tbb,
ubuntu-20.04-clang-9,
macOS-11-xcode-13.4.1,
windows-2019-msbuild,
windows-2022-msbuild,
]

build_type: [Release]
Expand All @@ -59,8 +59,8 @@ jobs:
compiler: xcode
version: "13.4.1"

- name: windows-2019-msbuild
os: windows-2019
- name: windows-2022-msbuild
os: windows-2022
platform: 64

steps:
Expand Down Expand Up @@ -109,6 +109,12 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x${{matrix.platform}}
toolset: 14.38

- name: cl version (Windows)
if: runner.os == 'Windows'
shell: cmd
run: cl

- name: Setup python (Windows)
uses: actions/setup-python@v4
Expand Down
27 changes: 16 additions & 11 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
# 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-2019-cl,
windows-2022-cl,
]

build_type: [
Expand All @@ -37,12 +37,25 @@ jobs:

build_unstable: [ON]
include:
- name: windows-2019-cl
os: windows-2019
- name: windows-2022-cl
os: windows-2022
compiler: cl
platform: 64

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup msbuild
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x${{ matrix.platform }}
toolset: 14.38

- name: cl version
shell: cmd
run: cl

- name: Install Dependencies
shell: powershell
run: |
Expand Down Expand Up @@ -91,14 +104,6 @@ jobs:
# Set the BOOST_ROOT variable
echo "BOOST_ROOT=$BOOST_PATH" >> $env:GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3

- name: Setup msbuild
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x${{ matrix.platform }}

- name: Configuration
shell: bash
run: |
Expand Down
4 changes: 4 additions & 0 deletions gtsam/geometry/CameraSet.h
Original file line number Diff line number Diff line change
Expand Up @@ -327,12 +327,16 @@ class CameraSet : public std::vector<CAMERA, Eigen::aligned_allocator<CAMERA>> {
* g = F' * (b - E * P * E' * b)
* Fixed size version
*/
#ifdef _WIN32
#if _MSC_VER < 1937
template <int N> // N = 2 or 3
static SymmetricBlockMatrix SchurComplement(
const FBlocks& Fs, const Matrix& E, const Eigen::Matrix<double, N, N>& P,
const Vector& b) {
return SchurComplement<N, D>(Fs, E, P, b);
}
#endif
#endif

/// Computes Point Covariance P, with lambda parameter
template <int N> // N = 2 or 3 (point dimension)
Expand Down
2 changes: 2 additions & 0 deletions gtsam/nonlinear/Values-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ namespace gtsam {
// Added this section for compile gtsam python on windows.
// msvc don't deduct the template arguments correctly, due possible bug in msvc.
#ifdef _WIN32
#if _MSC_VER < 1937
// Handle dynamic matrices
template <int M, int N>
struct handle_matrix<Eigen::Matrix<double, M, N, 0, M, N>, true> {
Expand Down Expand Up @@ -250,6 +251,7 @@ namespace gtsam {
(M == Eigen::Dynamic || N == Eigen::Dynamic)>()(j, pointer);
}
};
#endif // #if _MSC_VER < 1937
#endif // #ifdef _WIN32

} // internal
Expand Down

0 comments on commit acf457e

Please sign in to comment.