Study: DeveloperTools(DevTool)
[Git] git tag & 버전 넘버링 규칙: git은 버전관리도구이다!!
💡 본 문서는 'Git tag를 사용한 버전관리'에 대해 정리해놓은 글입니다. Git은 많은 사람들이 코드 저장소로 사용하지만, 탄생 목적은 버전관리에 있습니다. Git tag를 통해 Git의 핵심기술인 버전관리를 알아보고 활용해보도록 합시다. 1. 태깅 (git tag) 실제 버전 반영은 태깅을 통해 수행됩니다. 다음은 태깅 과정입니다. 1.1 전체 태그 목록 확인 git tag -l 1.2 태그 추가 git tag -a v2.0.0 -m "Release v2.0.0: 체인지 로그 요약" 1.3 특정 커밋 ID에 태그 추가 git tag -a v2.0.1 e3afd034 -m "Tag Message" 1.4 태그 푸시 푸시하지 않으면 로컬에만 반영됩니다 git push --tags 1.5 현재 태그 확..
[Git] Commit 메시지 가이드라인
💡 본 문서는 'Git Commit 메시지 가이드라인'에 대해 정리해놓은 글입니다. Git Commit 샘플을 포함하여 가이드라인을 제시해놓았으며, 반드시 따르지 않아도 무방하니 참고하시기 바랍니다. 샘플 커밋 메시지 예시(예시는 한글로 작성되었으나 커밋은 가급적 영어로 작성하시오): 72자 이내의 짧은 요약 더 상세한 설명을 적는다. 72자 이내의 짧은 요약을 첫 줄에 적은 뒤 빈 줄을 하나 삽입하고, 그 다음에 상세한 설명을 적도록 한다. 요약만으로 충분한 경우 상세한 설명은 적지 않아도 좋다. 커밋 메시지는 명령형으로 적도록 한다: Fix bug 라고 적으라. Fixed bug, Fixes bug 등은 사용하지 않도록 한다. 이는 커밋 메시지가 git merge 혹은 git revert 등으로 생성..
[CMake] configure_file(): CMake 변수값을 소스코드에서 사용!
💡 본 문서는 'CMake 변수값을 소스코드에서 사용하는 방법'에 대해 정리해놓은 글입니다. configure_file을 통해 CMake 변수값을 소스코드에서 사용하는 방법에 대해 정리하였으니 참고하시기 바랍니다. 1. 프로젝트 구성 1.1 CMakeLists.txt 파일: configure_file 사용 CMakeLists.txt에서 설정한 변수값을 소스파일에서도 사용하기 위한 configure_file 함수를 사용하는 방법은 다음과 같습니다! 차근차근 CMakeLists.txt을 왜 이렇게 작성했는지, 소스에 대해 설명해드리겠습니다. ... option(USING_NLOHMANNJSON "using nlohmann_json" ON) option(USING_LEVELDB "using leveldb" O..
[CMake] function: 반복되는 작업은 함수화하자!
본 문서는 'cmake function'에 대해 다룹니다. 이는 CMakeLists.txt파일을 작성하는 과정에서 반복되는 과정을 함수로 정형화하는 과정이니 반복되는 cmake문을 작성하고 계셨던 분들은 참고 바랍니다. function function에 대한 기본적인 구조는 다음과 같다. function( [ ...]) endfunction() 기본적으로 function에 있는 argment를 불러오기 위해서는 변수명을 호출하는 것과 유사하게 진행한다. function(fooKeyword country city) message("Address: ${country} ${city}") endfunction() fooKeyword("germany" "munich") 추가적으로 인자에 대한 정보를 뽑기 위해서는..
[CMake] 크로스 플랫폼 빌드 환경 구축
크로스 플랫폼(Cross Platform) 빌드 플랫폼 대응 플랫폼이 다르면 System API, 혹은 같은 API더라도 구현 형태나 지원 범위가 상이할 수 있습니다. 조건부 분기문을 사용해 플랫폼에 맞게 미리 작성된 라이브러리를 선택하도록 하면 상대적으로 부담이 줄어들 것입니다. 크로스 컴파일을 위한 라이브러리라면 변수를 검사하는 순서, 조건문에 주의를 기울여야 합니다. CMake는 플랫폼 관련 변수들을 제공하고 있으며, Android 혹은 iOS로 크로스 컴파일을 하기 위해 CMake Toolchain을 사용한 경우 그 값을 참고해 처리를 다르게 할 수 있습니다. 단, 이는 가장 윗 줄에 주석으로 적은 것처럼 현재 시스템을 변수로 알려주는 것이라는 점에 주의하시기 바랍니다. 예제) 크로스 플랫폼(Cr..