diff --git a/docs/superpowers/plans/2026-07-29-fesa-phase-1.md b/docs/superpowers/plans/2026-07-29-fesa-phase-1.md index aaa32ca..0aba021 100644 --- a/docs/superpowers/plans/2026-07-29-fesa-phase-1.md +++ b/docs/superpowers/plans/2026-07-29-fesa-phase-1.md @@ -33,7 +33,9 @@ The planning environment currently has: - 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 +- HDF5 2.1.1 CMake package at `C:/Program Files/HDF_Group/HDF5/2.1.1/cmake` +- GoogleTest/GoogleMock v1.17 VS2026/v145 x64 package at + `C:/Users/baram/AppData/Local/FESA/dependencies/googletest-1.17.0-v145-x64-crt` - `MSBuild.exe` at `C:/Program Files/Microsoft Visual Studio/18/Community/MSBuild/Current/Bin/MSBuild.exe` The solver bootstrap must stop as `blocked` rather than downloading packages if a dependency diff --git a/phases/solver-bootstrap/index.json b/phases/solver-bootstrap/index.json index 7e76356..66b29dd 100644 --- a/phases/solver-bootstrap/index.json +++ b/phases/solver-bootstrap/index.json @@ -30,4 +30,4 @@ } ], "created_at": "2026-07-29T23:58:15+0900" -} \ No newline at end of file +} diff --git a/phases/solver-bootstrap/step2.md b/phases/solver-bootstrap/step2.md index 5adeebd..2861255 100644 --- a/phases/solver-bootstrap/step2.md +++ b/phases/solver-bootstrap/step2.md @@ -16,6 +16,19 @@ 이전 step의 CMake target과 preset을 그대로 확장하라. +현재 개발환경에서 검증된 package 위치: + +- HDF5 2.1.1: + `C:/Program Files/HDF_Group/HDF5/2.1.1/cmake/hdf5-config.cmake` +- HDF5 runtime: + `C:/Program Files/HDF_Group/HDF5/2.1.1/bin` +- GoogleTest/GoogleMock v1.17, VS2026/MSVC v145 x64: + `C:/Users/baram/AppData/Local/FESA/dependencies/googletest-1.17.0-v145-x64-crt/lib/cmake/GTest/GTestConfig.cmake` + +위 파일의 존재를 먼저 확인하고 package root를 `CMAKE_PREFIX_PATH` 또는 +`HDF5_DIR`/`GTest_DIR` hint로 사용하라. 이 절대경로를 production CMake에 +하드코딩하지 마라. 이유: 개발환경별 설치 위치를 build contract와 분리해야 한다. + ## 작업 사전 설치된 oneMKL, oneTBB, HDF5 C API, GoogleTest/GoogleMock을 CMake imported @@ -52,4 +65,6 @@ ctest --preset windows-debug --output-on-failure - FetchContent, vcpkg, Conan 또는 다운로드를 추가하지 마라. 이유: ADR-002 위반이다. - vendor 절대경로를 public header에 노출하지 마라. 이유: backend 격리를 깨뜨린다. +- 현재 개발환경의 package 절대경로를 tracked CMake cache variable 기본값으로 넣지 + 마라. 이유: 다른 개발환경의 configure를 깨뜨린다. - solver 기능을 구현하지 마라. 이유: 이 step은 build dependency 계약만 다룬다.