저는 페이스 북 의 proxygen 라이브러리 를 사용하는 프로젝트를 진행하고 있습니다. 후자 는 수퍼 유저 deps.sh
로 호출하는 데 사용 하는 스크립트를 통해 자체적으로 구축됩니다 apt-get
. 지시문 을 cmake
사용하여 사용자 지정 대상을 성공적으로 만들었지 add_custom_target
만 위의 오류 호출로 인해 실패 sudo: no tty present and no askpass program specified
하며 물론 의미가 있습니다.
어쨌든 나는 그 스크립트를 실행하는 방법을 찾을 수 없었기 때문에 슈퍼 사용자로 명령을 호출하여 add_custom_target
. 라이브러리를 안전하게 설치하고 FindProxygen
동료를 위해 모듈을 작성할 수 있으므로 빌드 프로세스가 일관된 상태로 유지되지만 명령을 루트로 시작 cmake
하여 라이브러리를 넣는 문제에 대한 깨끗한 해결책이 있는지 알고 싶습니다. 프로젝트의 하위 모듈로.
대답은 매우 간단합니다. 아니오.
주석에서 언급했듯이 cmake 는 시스템에 이미 설치된 (또는 적어도 검색 경로 내에) 필요한 모든 라이브러리를 찾을 것으로 예상하고 다른 솔루션은 실행을 중지하고 사용자 입력을 기다립니다.
제가 본 적이있는 한, 제가 위에서 언급 한 프로젝트와 그 직후에 시작된 다른 프로젝트에서도 사용한 일반적인 접근 방식은 프로젝트를 다운로드, 컴파일 및 준비하는 스크립트를 만드는 것입니다. proxygen 자체 와 같은 방식 입니다.
최종 사용자는 먼저 해당 스크립트를 실행하도록 요청 받으 므로 cmake를 사용하여 계속 진행할 수 있습니다 .
그게 다야, 의견 주셔서 감사합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다