Joonas' Note
Chromium 빌드 본문
요구사항
- 최소 8GB RAM, 권장 16GB RAM
- 100GB 디스크 공간
- Visual Studio 2017 이상
- Windows 7 이상
환경 설정
Visual Studio
- Desktop development with C++ (C++를 사용한 데스크탑 개발)
- MFC/ATL support (x86 및 x64용 Visual C++ MFC)
- 워크로드에서 위 항목들을 설치해야 합니다. VS 2017 이상부터는 Visual Studio Installer에서 설치할 수 있습니다.
Windows 10 SDK
- https://developer.microsoft.com/ko-kr/windows/downloads/sdk-archive
- 버전 10.0.17134 이상
- (선택) SDK Debugging Tools
- Window 10 SDK가 이미 설치되어 있다면, 제어판 -> 프로그램 -> 프로그램 및 기능 -> Windows Software Development Kit - WIndows 10.0.17134.0 -> 우클릭 후 변경 -> "Change" -> Debugging Tools For Windows 선택 -> Change 클릭
depot_tools 설치
git, gn, python, ninja 등 chromium 빌드 등에 필요한 도구들의 집합
다운로드: https://storage.googleapis.com/chrome-infra/depot_tools.zip
압축 해제한 디렉토리를 환경 변수에 추가해준다. 단, 기존에 설치된 python보다 위에 추가해야 한다. (빌드 과정에서 이 곳의 파이썬 버전을 사용하기 때문)
환경 변수에 DEPOT_TOOLS_WIN_TOOLCHAIN을 추가해주고 그 값을 0으로 설정한다.
이후 cmd창에서 gclient를 입력하면, 불러오기가 실행된다. 하지만 다음과 같이 간혹 안되는 경우가 있다.
C:\src\depot_tools> gclient sync
Error: client not configured; see 'gclient config'
이는 .gclient 파일이 없어서 그렇다. 아래처럼 커맨드를 입력하거나,
C:\src\depot_tools> gclient config https://chromium.googlesource.com/chromium/src.git
C:\src\depot_tools> gclient runhooks
C:\src\depot_tools> gclient sync
.gclient 파일을 아래처럼 직접 작성한 후 다시 실행하면 된다.
이 과정은 약 1시간 정도 소요된다. (네트워크 속도를 감안해야 한다.)
fetch
먼저 git을 설정한다.
git config --global user.name "My Name"
git config --global user.email "my-name@chromium.org"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase always
디렉토리 위치는 상관없고, 프로젝트 디렉토리를 따로 만든 후 이동한다.
$ mkdir chromium && cd chromium
소스코드를 가져온다.
$ fetch chromium
빌드
빌드를 위해 프로젝트 디렉토리 아래에 있는 src
로 이동한다.
$ cd src
소스코드를 생성한다.
$ gn args out/Default
기본 에디터(메모장, 서브라임 등)이 뜨면서 설정을 입력하라고 할 것인데, 아래와 같이 덮어씌우고 에디터를 종료한다.
is_debug = true
is_component_build = true
blink_symbol_level = 0
파일 생성이 완료되었다는 문구가 나왔다면 성공.
컴파일
컴파일은 아래와 같이 입력한다. (DOS CMD 기준)
> ninja -C out\Default ui\views\examples:views_examples_exe
git bash 등의 쉘이라면 경로의 \
들을 /
로 적절히 바꿔준다.
위 과정은 약 1시간 정도 걸린다. (실행 환경: i7-8550U CPU @ 1.80GHz (1시간), i7-7700K CPU @ 4.20GHz (40분 정도))
Chrome 브라우저를 빌드하고 싶다면 아래의 명령을 실행한다.
> ninja -C out\Default chrome
크롬 빌드는 거의 4시간정도 걸렸다.
실행
위에서 컴파일한 views_examples_exe 실행은:
> .\out\Default\views_examples_exe
버튼 클릭, 슬라이더 등 브라우저에서 요소들이 어떻게 보이는 지 예시들이 보이는 게 끝이다.
빌드된 chrome은 아래의 명령어로 실행한다.
> .\out\Default\chrome.exe
위 파일들 모두 바이너리(exe) 파일이기 때문에, 프로젝트 디렉토리에서 찾아서 더블 클릭해도 실행된다.
'개발 > C++' 카테고리의 다른 글
[C++ STL] binary_search, upper_bound, lower_bound 구현하기 (0) | 2020.03.19 |
---|---|
[C++ STL] sort 구현하기 (0) | 2020.03.19 |
Sublime Text 3에서 "프로시저 시작 지점" 오류 해결법 (0) | 2019.09.16 |
C++ getline 공백 케이스 알아보기 (0) | 2018.11.25 |
MFC로 만든 미로 생성기 (0) | 2017.10.30 |