cmake는 내가 바라는 것보다 훨씬 쉽습니다. 다음과 같은 프로젝트 구조가 작동하도록 내가 하나 (또는 여러 개) CMakeLists.txt
파일을 만드는 방법, 나 자신이 무엇을 물어 순간 :cmake 및 QT로 여러 프로젝트 구성
my workspace
src
project1
project2
build
project1
project2
, 나는 다음과 같은 두 가지 제약 조건을 결정해야 한 그 내 프로젝트 구조와 내 CMakeLists.txt
파일 :
1) 저는 자식을 사용하고 CMakeLists.txt
과 내 소스 파일 만 커밋하고 싶습니다. 빌드는 IDE를 통해이 프로젝트에서 작업하고 싶은 특정 사용자마다 생성해야합니다 그의 욕망의
2) 누군가가 복제하면 내 저장소, 그는이 프로젝트
3) src
디렉토리가 있어야합니다 작업을 할 수 있도록, 그/그녀가하고자하는 IDE를위한 (/my workspace/build/project1
및 /my workspace/build/project2
) 전술 한 바와 같이 디렉토리를 빌드 cmake를 실행할 수 있습니다 프로젝트에서 일하는 사람이 원하는 IDE로이 작업을 수행 할 수 있도록 정리하십시오. src 파일을 변경하고 CMakeLists.txt
을 입력 한 다음 나중에 수행 한 작업을 커밋하여 다른 모든 사람이 다시 계산할 수 있고 같은 방식으로 작업 할 수 있습니다.
그런 식으로 협업에 큰 이점! 그러나 cmake
은 cmake
이 호출 된 디렉토리에 모든 것을 빌드하는 것처럼 보입니다. 질문에 대한 지금
a)에 대응하는 빌드로 내 원하는 디렉토리를 작성하기 위해, 새롭게에서 cmake
이 /my workspace/build/project1
및 /my workspace/build/project2
폴더를 만들 호출하는 것보다 다른 방법이?
b) 공동 작업을 위해 다른 디렉토리 구조를 선호합니까?
c) b)에 예인 경우 CMakeLists.txt
파일을 어디에서 가져 왔습니까? cmake
은 어디에서 왔으며 일반적으로 작성하는 프로세스는 무엇입니까?
d) QT는 잘 작동하는 것으로 보이는 moc 파일을 만듭니다. 당신은 어떤 식 으로든 저 지르지 않습니까? 아니면 체크 아웃하는 모든 사람들을위한 디렉토리를 만들고 그걸 사용할 수 있는지 확인해야합니까?
생성 된 모든 파일을 빌드 폴더에 넣습니다.이 파일에는 moc, ...에 의해 생성 된 파일이 포함되어 있습니다. – drescherjm
내 빌드 폴더는 작업 영역이 아닌 완전히 다른 트리에 있습니다. 그 이유는 내가 창문에 건물이고 각 소스 트리에 대한 폴더를 두 개 이상 가지고 있도록 두 개 이상의 컴파일러와 내 프로젝트를 빌드합니다. – drescherjm