다중 부위 Cmake 프로젝트에서 소스 구축을 얻는 적절한 방법

StackOverflow https://stackoverflow.com/questions/1230644

  •  22-07-2019
  •  | 
  •  

문제

CMAKE를 사용하여 프로젝트를 빌드, 테스트 및 설치합니다. 내 방식은 약간 조잡합니다 : 저는 이와 같은 스크립트를 사용하여 소스 외 빌드를 얻습니다.

DIR=debug_build &&
rm -fr ./${DIR} &&
mkdir -p ${DIR} &&
cd ${DIR} &&
cmake -D CMAKE_BUILD_TYPE=Debug $@ .. &&
make 

나는 적어도 그것을 makefile에 넣을 수 있다고 생각하지만, makefile을 사용하여 Cmake를 실행하여 새로운 makefiles를 생성하고 다른 Makes를 실행하는 것이 이상하지 않습니까?

올바른 방법은 무엇입니까? Cmake에 "CD"를 호출하지 않아도되는 옵션이 있습니까?

최근에 개별적으로 컴파일, 테스트 및 배포하고 싶은 라이브러리를 획득함에 따라 최근에는 더욱 복잡해졌습니다. 나는 내 최고 cmakelists.txt에있는 모든 것들의 복제를 피하고 싶습니다.

cmake로 올바르게 수행하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

아니요, CMAKE에는 그러한 옵션이 없습니다. 나는 보통 cmake Invocations를 제어하기 위해 래퍼 메이크 파일을 갖고 싶습니다.

여기서 주요 문제는 MakeFile-Generator가 Visual Studio Generator와 마찬가지로 Make를 실행할 때 구성을 지정하는 것을 지원하지 않는다는 것입니다. 이를위한 기능 요청이 제출된다고 생각하지만 수정해야 할 매우 침습적 인 절차입니다.

다른 팁

이것은 이것을 처리하는 가장 일반적인 형태 인 것 같습니다. 나는 일반적으로이를 처리하기 위해 일반적으로 (및 중고) 배치 스크립트 (유닉스에서의 쉘 스크립트 또는 Windows의 배치 파일 만 보았습니다)를 보았습니다. 원래 폴더로 돌아갑니다.

CMAKE GUI를 사용하여 존재하지 않으면 빌드 폴더를 자동으로 생성 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top