소스 Repository 폴더 구조
소스 Repository의 폴더는 아래와 같이 구성합니다.
RepoName/
│
├─ Extern/
│ ├ Baz/
│ ├ Include/
│ └ Lib/
│
├─ Src/
│ ├ Include/
│ ├ ModuleA/
│ ├ ModuleB/
│ └ ProjectName.sln
│
├─ Test/
│ ├ TEST-PC/
│ └ copy_all_files.bat
│
├─ Tool/
│ ├ build_project-name_for_swrepo.bat (legacy)
│ ├ ci_build.bat (legacy)
│ └ save_project-name_for_swrepo.bat (legacy)
│
├─ .clang-format
├─ .clang-tidy
├─ .editorconfig
├─ .gitignore
├─ .gitlab-ci.yml
└─ modgroup-spec.yaml
| 프로젝트 마다 변경되어야 할 부분은 굵은 이탤릭체로 표시하였습니다. 이 부분은 각 프로젝트에 맞게 변경하여 사용합니다. |
| 파일/폴더 | 설명 |
|---|---|
Extern/ |
외부 모듈을 포함하는 폴더 |
Src/ |
프로젝트 Repository 내에서 구현된 모듈을 포함하는 폴더 |
Test/ |
테스트를 위한 폴더 |
Tool/ |
Gitlab CI 구성 방법을 위한 폴더 (legacy) |
.clang-format |
코드 포맷팅을 위한 설정파일 |
.clang-tidy |
코드 분석을 위한 설정파일 |
.editorconfig |
코드 포맷팅을 위한 설정파일 |
.gitignore |
Git에서 무시할 파일을 설정하는 파일 |
.gitlab-ci.yml |
Gitlab CI 설정파일 |
modgroup-spec.yaml |
모듈 설정 파일 |
Extern 폴더
Extern 폴더는 외부 모듈을 포함하며 모듈별 폴더, Include, Lib 폴더로 구성합니다.
Extern/
│
│
├── Baz/
│ ├── Include/
│ │ └── Baz/
│ │ └── Qux.h
│ └── Lib/
│ ├── Baz.lib
│ └── Baz.dll
│
├── Include/
│ └── Foo/
│ └── Bar.h
│
└── Lib/
├── Foo.lib (Windows 정적 또는 import 라이브러리)
└── Foo.dll (Windows 실행 시 필요한 DLL)
| 파일/폴더 | 설명 |
|---|---|
Baz |
외부 모듈을 포함하는 폴더 |
Baz/Include/Baz/ |
외부 모듈의 헤더파일을 포함하는 폴더 |
Baz/Lib/ |
외부 모듈의 라이브러리 파일을 포함하는 폴더 |
Include/Baz |
외부 모듈의 헤더파일을 포함하는 폴더 |
Lib/ |
외부 모듈의 라이브러리 파일을 포함하는 폴더 |
-
외부 모듈은 모듈의 배포 형태에 따라 독립적인 폴더로 구성하거나 Include 폴더만 독립적으로 구성할 수 있습니다.
-
프로젝트 Repository 외부에서 구현된 모듈을 사용할 때 아래 형식의 구문으로 헤더를 include 할 수 있도록 IDE를 설정합니다.
#include <Foo/Bar.h> #include <Baz/Qux.h>
Src 폴더
Src 폴더는 프로젝트 Repository 내에서 구현된 모듈을 포함하며 모듈별 폴더와 Include 폴더로 구성합니다.
| 파일/폴더 | 설명 |
|---|---|
Include/ |
헤더파일을 포함하는 폴더 |
ModuleA/ |
이 Repostiroy에서 구현하는 A모듈 소스 |
ModuleB/ |
이 Repostiroy에서 구현하는 B모듈 소스 |
ProjectName.sln |
Visual Studio 솔루션 파일 |
Test 폴더
Test 폴더는 테스트를 위한 폴더로, 테스트 환경에 따라 하위 폴더를 구성합니다.
| 파일/폴더 | 설명 |
|---|---|
TEST-PC/ |
시험지원 시스템용 구성 환경 저장 폴더 |
copy_all_files.bat |
시험환경 생성 스크립트 |
Tool 폴더 (legacy)
Tool 폴더는 Gitlab 자동 빌드 및 저장 스크립트를 포함합니다.
| 파일/폴더 | 설명 |
|---|---|
build_project-name_for_swrepo.bat |
주요 실행파일 및 라이브러리를 빌드하는 스크립트 |
ci_build.bat |
Gitlab에 의해 호출되는 빌드 스크릡트. 빌드환경 구성후 build_~.bat를 실행한다. |
save_project-name_for_swrepo.bat |
빌드한 결과물을 Gitlab용 폴더로 복사하는 스크립트 |
-
Command 창을 연 후, Repository 최상위 폴더에서 Tool\ci_build를 실행하면 주요 실행파일 및 라이브러리가 모두 빌드되어야 합니다.
C:\Work\RepoName> Tool\ci_build [Enter]