빌드 스크립트
cargo의 일반적인 빌드만으로는 충분하지 않은 경우가 있습니다. 코드 생성이나 컴파일되어야 하는 네이티브 코드와 같이 cargo가 성공적으로 컴파일되기 전에 크레이트가 필요로 하는 전제 조건이 있을 수 있습니다. 이 문제를 해결하기 위해 Cargo가 실행할 수 있는 빌드 스크립트가 있습니다.
패키지에 빌드 스크립트를 추가하려면 다음과 같이 Cargo.toml에 지정할 수 있습니다:
[package]
...
build = "build.rs"
그렇지 않으면 Cargo는 기본적으로 프로젝트 디렉토리에서 build.rs 파일을 찾습니다.
빌드 스크립트 사용 방법
빌드 스크립트는 단순히 또 다른 Rust 파일로, 패키지의 다른 어떤 것을 컴파일하기 전에 먼저 컴파일되고 호출됩니다. 따라서 크레이트의 전제 조건을 충족시키는 데 사용할 수 있습니다.
Cargo는 스크립트에서 사용할 수 있는 환경 변수(여기에 명시됨)를 통해 입력을 제공합니다.
스크립트는 stdout을 통해 출력을 제공합니다. 출력된 모든 줄은 target/debug/build/<pkg>/output에 기록됩니다. 또한, cargo:로 시작하는 줄은 Cargo에 의해 직접 해석되어 패키지 컴파일을 위한 매개변수를 정의하는 데 사용될 수 있습니다.
추가적인 사양과 예제는 Cargo 사양서를 읽어보세요.