- for Windows (8/9)
이 파트에서는 Windows 환경에서 QGroundControl(QGC)에 코드 기여를 하기 위한 절차와 규칙을 설명합니다. 공식 Developer Guide의 Contribute, Coding Style, Unit Tests, Pull Requests, Licenses 문서를 반영하여 초보자도 따라올 수 있도록 단계별로 정리했습니다.
- QGC는 오픈소스 프로젝트이며, 외부 기여를 적극적으로 환영합니다.
- 모든 기여는 GitHub Pull Request(PR) 기반으로 진행되며, CI 자동 빌드와 테스트를 통과해야 합니다.
- QGC는 듀얼 라이선스 체계(Apache 2.0 + GPLv3)를 따릅니다.
- 공백 4칸 들여쓰기
- 클래스 이름: PascalCase.
- 변수/함수 이름: camelCase.
- 포인터/참조는 타입 옆에 붙임 (예: QObject* obj).
- 헤더(.h)와 소스(.cpp) 파일을 기능 단위로 분리.
- clang-format을 사용해 스타일을 자동 정리할 수 있습니다.
- Windows 환경에서는 Visual Studio와 Qt Creator 모두 clang-format 플러그인을 지원합니다.
- 새로운 기능 추가 시 반드시 단위 테스트를 작성해야 합니다.
- 모든 PR은 Unit Test를 통과해야 병합될 수 있습니다.
- 실행 방법 (Windows PowerShell 기준):
```powershell
qgroundcontrol-start.sh --unittest
qgroundcontrol-start.sh --unittest:SpecificTest
```
- Debug 모드에서 `QGC_UNITTEST_BUILD` 옵션을 활성화해야 테스트 실행이 가능합니다.
1. GitHub에서 저장소를 Fork 후 브랜치 생성.
2. 코드 작성 및 단위 테스트 추가.
3. clang-format으로 코드 스타일 정리.
4. 모든 빌드 및 테스트를 통과했는지 확인.
5. PR 제출 시 CI 시스템이 자동으로 빌드/테스트 실행.
6. 리뷰어 피드백 반영 후 병합.
- 모든 PR은 컴파일 경고 없이 빌드되어야 하며, 테스트 실패 시 자동 거절됩니다.
- QGC는 듀얼 라이선스 체계를 사용합니다:
• Apache 2.0 (상용 사용 가능, 상용 Qt 필요)
• GPLv3 (오픈소스 사용, 오픈소스 Qt 필요)
- 문서와 아트워크는 CC BY 4.0 라이선스가 적용됩니다.
- 새로운 코드 기여 시 반드시 Apache 2.0 + GPLv3 호환성을 만족해야 합니다.
- Visual Studio에서 빌드 경고가 없는지 항상 확인하세요.
- GitHub Actions를 통해 Windows 전용 CI를 실행할 수 있습니다.
- 단위 테스트 실행 전 GStreamer, Qt 라이브러리 등이 올바르게 설치되었는지 점검하세요.
코드 기여 절차와 코딩 규칙을 이해했으므로, 마지막 Part 9에서는 유지보수 및 고급 기능 (RTK, 멀티드론, Companion Computer 연동 등)을 Windows 환경에서 다룹니다.