docs(toolchain): adopt Visual Studio 2026 v145
This commit is contained in:
+23
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
## ADR-001: C++20, MSVC v143, x64와 CMake Presets
|
||||
|
||||
**상태:** Accepted
|
||||
**상태:** Superseded by ADR-016
|
||||
|
||||
**상황:** 첫 배포는 Windows 개발팀 내부 검증용이며 Intel oneAPI와 HDF5를 일관되게
|
||||
연동하고 Harness에서 자동 검증해야 한다.
|
||||
@@ -275,3 +275,25 @@ flat `Domain`으로 정규화한다. 외부 entity는 `(instance name, part-loca
|
||||
- 요청한 파일이 없으면 실패하며 비요청 물리량을 통과로 오인하지 않는다.
|
||||
- 단일 Instance에서는 Instance 열을 생략할 수 있다.
|
||||
- tolerance와 검증 출처는 test registration과 `docs/VALIDATION.md`에서 관리한다.
|
||||
|
||||
## ADR-016: Visual Studio 2026 MSVC v145로 툴체인 갱신
|
||||
|
||||
**상태:** Accepted
|
||||
|
||||
**상황:** 개발 환경에 Visual Studio 2026 Community와 MSVC v145가 설치되어 있고,
|
||||
CMake 4.4.0이 `Visual Studio 18 2026` 생성기를 지원한다. 반면 기존 ADR-001의
|
||||
Visual Studio 2022 MSVC v143은 설치되어 있지 않아 solver bootstrap을 진행할 수
|
||||
없다.
|
||||
|
||||
**결정:** ADR-001의 컴파일러 선택을 대체해 C++20, Visual Studio 2026 MSVC v145,
|
||||
Windows x64를 사용한다. CMake Preset은 `Visual Studio 18 2026` 생성기와 `v145`
|
||||
toolset을 명시한다. CMake, CMake Presets, CTest 및 GoogleTest/GoogleMock 선택은
|
||||
유지한다.
|
||||
|
||||
**결과와 트레이드오프:**
|
||||
|
||||
- 현재 설치된 개발 환경에서 별도 v143 설치 없이 bootstrap을 진행할 수 있다.
|
||||
- 빌드 계약이 Visual Studio 2026과 v145에 고정되므로 이전 MSVC toolset은 Phase 1
|
||||
보장 대상이 아니다.
|
||||
- 컴파일러 갱신에 따른 경고와 표준 라이브러리 동작은 전체 Debug/Release 검증에서
|
||||
다시 확인해야 한다.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
**Architecture:** Implement one end-to-end vertical slice first, then complete the input, numerical, parallel, result, and reference-verification contracts behind the module boundaries in `docs/ARCHITECTURE.md`. Keep the semantic model independent of Abaqus syntax and isolate oneMKL, oneTBB, and HDF5 behind adapters.
|
||||
|
||||
**Tech Stack:** C++20, Visual Studio 2022 MSVC v143 x64, CMake/CMake Presets/CTest, GoogleTest/GoogleMock, Intel oneAPI MKL PARDISO, Intel oneAPI TBB, HDF5 C API, Python 3 Harness.
|
||||
**Tech Stack:** C++20, Visual Studio 2026 MSVC v145 x64, CMake/CMake Presets/CTest, GoogleTest/GoogleMock, Intel oneAPI MKL PARDISO, Intel oneAPI TBB, HDF5 C API, Python 3 Harness.
|
||||
|
||||
## Global Constraints
|
||||
|
||||
@@ -28,12 +28,16 @@
|
||||
The planning environment currently has:
|
||||
|
||||
- CMake 4.4.0
|
||||
- Visual Studio Community 2026 at `C:/Program Files/Microsoft Visual Studio/18/Community`
|
||||
- MSVC v145 tools at `C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/MSVC/14.51.36231`
|
||||
- CMake generator `Visual Studio 18 2026`
|
||||
- oneMKL CMake package at `C:/Program Files (x86)/Intel/oneAPI/2026.1/lib/cmake/mkl`
|
||||
- oneTBB CMake package at `C:/Program Files (x86)/Intel/oneAPI/2026.1/lib/cmake/tbb`
|
||||
- no HDF5 or GoogleTest CMake package found in the standard Program Files trees
|
||||
- `MSBuild.exe` not currently available on `PATH`
|
||||
- `MSBuild.exe` at `C:/Program Files/Microsoft Visual Studio/18/Community/MSBuild/Current/Bin/MSBuild.exe`
|
||||
|
||||
Task 1 must stop as `blocked` rather than downloading packages if HDF5, GoogleTest, or the MSVC toolchain is still unavailable.
|
||||
The solver bootstrap must stop as `blocked` rather than downloading packages if a dependency
|
||||
required by its current step is unavailable.
|
||||
|
||||
## Required Research Record
|
||||
|
||||
@@ -155,14 +159,20 @@ Run:
|
||||
|
||||
```powershell
|
||||
cmake --version
|
||||
Get-Command MSBuild.exe
|
||||
& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
|
||||
-latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
|
||||
-property installationPath
|
||||
Test-Path "C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe"
|
||||
Get-ChildItem "C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC" -Directory
|
||||
Get-ChildItem "C:\Program Files (x86)\Intel\oneAPI" -Recurse -Filter MKLConfig.cmake
|
||||
Get-ChildItem "C:\Program Files (x86)\Intel\oneAPI" -Recurse -Filter TBBConfig.cmake
|
||||
Get-ChildItem "C:\Program Files" -Recurse -Filter hdf5-config.cmake
|
||||
Get-ChildItem "C:\Program Files" -Recurse -Filter GTestConfig.cmake
|
||||
```
|
||||
|
||||
Expected: MSVC, oneMKL, oneTBB, HDF5, and GoogleTest are all discoverable. If any are missing, mark the Harness step `blocked` and name the missing package; do not download it.
|
||||
Expected: Visual Studio 2026/MSVC v145, oneMKL, oneTBB, HDF5, and GoogleTest
|
||||
are all discoverable before the step that consumes each dependency. If a required item is
|
||||
missing, mark that Harness step `blocked` and name it; do not download it.
|
||||
|
||||
- [ ] **Step 2: Write the failing version test**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user