Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CBRD-25560] build(cmake): detect ccache and use it as launcher if exists #5460

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

vimkim
Copy link
Contributor

@vimkim vimkim commented Sep 2, 2024

http://jira.cubrid.org/browse/CBRD-25560

ccache 를 통한 빌드 속도 향상

 

CMake 설정 파일에 ccache를 사용하는 코드를 추가하여 빌드 속도를 크게 향상시킬 수 있습니다.

해당 코드를 프로젝트의 CMake 설정에 추가하여, ccache가 설치된 경우 이를 컴파일러 실행기로 설정하도록 했습니다. 이로 인해 반복적인 빌드 시간 단축이 가능해졌습니다.

build 파일을 지우고 처음부터 다시 빌드할 경우, 개발 서버 기준 2분 내외의 빌드 시간이 소모됩니다. 그러나 ccache를 사용할 경우, build 파일을 지우고 처음부터 다시 빌드하더라도 40초 내외로 빌드 시간을 줄일 수 있습니다.

CMakeLists.txt에서 자동으로 ccache 설치 여부를 감지하여 자동으로 사용하게 하는 방식입니다.

ccache가 설치되어있지 않은 개발자는 이 패치에 영향을 받지 않습니다.

테스트 환경:

개발 서버 Centos7 g++-8
개인 장비 WSL Ubuntu 22.04 g++-11
개인 장비 Arch Linux g++-13
 

@vimkim vimkim self-assigned this Sep 2, 2024
@vimkim vimkim changed the title [CBRD-XXXXX] build(cmake): detect ccache and use it as launcher if exists [CBRD-25560] build(cmake): detect ccache and use it as launcher if exists Sep 2, 2024
@vimkim vimkim marked this pull request as ready for review September 3, 2024 08:32
@hgryoo
Copy link
Member

hgryoo commented Sep 3, 2024

매번 새로운 빌드를 하는 경우, ccache가 설치되어 있다고 하더라도 사용하고 싶지 않을 수 있습니다. 'USE_CCACHE' 와 같은 이름으로 사용 여부를 컨트롤 할 수 있는 프로퍼티를 추가하고, 기본값을 ON으로 설정하면 좋을 것 같습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants