makefile

    [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] CMake 소개 및 필요성: Modern CMake 3.23+

    💡 본 문서는 'CMake 소개 및 필요성'에 대해 정리해놓은 글입니다. C/C++ 프로젝트의 빌드를 용이하게 해주는 CMake에 대한 간략한 소개 및 관련 자료들을 정리하였으니 참고하시기 바랍니다. 1. CMake 란? Make의 빌드관리시스템을 만들기 위한 오픈소스 프로젝트(Make 이외의 .ninja와 같은 빌드 파일도 만들 수 있음). 스스로 기존의 Make의 과정을 수행하지는 않고 지정한 운영 체제에 맞는 Make 파일의 생성 및 관리만을 수행하기 때문에 Meta Make라고도 불리우는 빌드 자동화 시스템. 한번 작성해 두면 유닉스 계열은 물론, 마이크로소프트 window 계열의 프로그래밍 도구도 지원. 2. 왜 CMake를 사용하는 걸까? You want to avoid hard-coding ..

    [CMake] Makefile 및 CMake의 필요성 정리

    본 문서는 '빌드를 위한 스크립트 파일인 Makefile 에 대한 정보'를 정리한 문서입니다. CMake와 같이 Makefile을 자동으로 만들어주는 빌드 툴로 인해 Makefile 자체를 직접 다룰 일이 줄어들었으나, 기본적인 골격은 매우 단순하므로 한 번 익혀두는 것을 권장합니다. 1. Makefile이란? 원래 리눅스 상에서 프로그램을 컴파일 할 때, 쉘상에서 컴파일을 하려면 어떤 파일들을 컴파일 하고, 어떠한 방식으로 컴파일 할 지 직접 컴파일러에게 알려줘야 합니다. 이 문제를 해결하기 위해서 리눅스에서는 make 라는 프로그램을 제공하는데, 이 프로그램은 Makefile 라는 파일을 읽어서 주어진 방식대로 명령어를 처리하게 합니다. 덕분에 많은 수의 파일들을 명령어 한 번으로 컴파일 할 수 있습..