Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support msvc 2022 along 2019 #1715

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading