Files
FESA/phases/internal-release/step1.md
T
2026-07-29 23:32:26 +09:00

1.7 KiB

Step 1: CMake Install Package

읽어야 할 파일

  • /AGENTS.md
  • /docs/PRD.md
  • /docs/ARCHITECTURE.md
  • /docs/ADR.md
  • /docs/BUILDING.md
  • /docs/RELEASE_CHECKLIST.md
  • /CMakeLists.txt
  • /CMakePresets.json

작업

cmake --install로 내부 배포용 install tree를 만든다.

  • cmake/install.cmake, cmake/FESAConfig.cmake.in을 추가한다.
  • install tree에 fesa.exe, fesa_core static library, public headers, CMake package config, required runtime DLL inventory, example input, HDF5_SCHEMA.md, INPUT_FORMAT.md, VALIDATION.md를 포함한다.
  • absolute build path가 install config에 남지 않는 실패 검사부터 작성한다.
  • Phase 1 public ABI compatibility를 약속하지 않는다.

Acceptance Criteria

cmake --preset windows-release
cmake --build --preset windows-release
ctest --preset windows-release --output-on-failure
cmake --install out\build\windows-release --config Release --prefix out\package\fesa
Get-ChildItem -Recurse out\package\fesa

install tree가 build source tree 밖에서 사용 가능한 상대 경로와 명시적 runtime inventory를 가져야 한다.

검증 절차

  1. install manifest 검사 실패를 먼저 확인한다.
  2. 최소 install/export rule을 구현한다.
  3. package tree와 CMake config의 절대 경로 누출을 확인한다.
  4. index summary에 install manifest를 기록한다.

금지사항

  • registry write나 MSI installer를 추가하지 마라. 이유: 배포 범위 밖이다.
  • dependency를 package 중 다운로드하지 마라. 이유: 사전 설치 정책 위반이다.
  • Debug/Release binary를 혼합하지 마라. 이유: runtime 불일치 위험이 있다.