Merge pull request #1715 from talregev/TalR/support_multi_vcvars_versions
Support msvc 2022 along 2019release/4.3a0
						commit
						acf457e32f
					
				| 
						 | 
				
			
			@ -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]
 | 
			
		||||
| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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: [
 | 
			
		||||
| 
						 | 
				
			
			@ -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: |
 | 
			
		||||
| 
						 | 
				
			
			@ -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: |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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> {
 | 
			
		||||
| 
						 | 
				
			
			@ -250,6 +251,7 @@ namespace gtsam {
 | 
			
		|||
                            (M == Eigen::Dynamic || N == Eigen::Dynamic)>()(j, pointer);
 | 
			
		||||
     }
 | 
			
		||||
   };
 | 
			
		||||
#endif // #if _MSC_VER < 1937
 | 
			
		||||
#endif // #ifdef _WIN32
 | 
			
		||||
 | 
			
		||||
   }  // internal
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue