CMake는 C++을 비롯한 다양한 언어의 빌드 시스템을 관리하기 위한 도구로, 빌드 과정에서 필요한 컴파일러와 링커의 옵션을 설정할 수 있다. 이 문서에서는 CMakeLists.txt 파일에서 링커 옵션을 설정하는 방법을 단계적으로 설명한다.
링커 옵션의 개념
링커(Linker)는 컴파일된 오브젝트 파일들을 결합하여 실행 가능한 프로그램이나 라이브러리를 생성하는 도구이다. 링커 옵션은 이 과정에서 링커에게 특정한 작업을 지시하는 명령어들이다. CMake에서는 이러한 링커 옵션을 설정하여 프로그램의 최적화, 라이브러리 연결, 디버깅 등의 작업을 제어할 수 있다.
CMake에서의 링커 옵션 설정 방법
CMake에서 링커 옵션을 설정하는 주요 방법은 다음과 같다:
target_link_libraries 명령어
target_link_libraries 명령어는 특정 타겟에 대해 필요한 라이브러리를 연결할 때 사용된다. 이 명령어를 통해 타겟에 대해 추가적인 링크 옵션을 지정할 수도 있다.
target_link_libraries(MyTarget PUBLIC -lm)
위 코드에서 MyTarget이라는 타겟에 대해 -lm 옵션을 사용하여 수학 라이브러리를 링크하도록 설정 하였다.
set_target_properties 명령어
set_target_properties 명령어를 사용하여 타겟의 속성을 설정할 수 있다. 이 명령어로 링커 옵션을 포함한 여러 속성을 조정할 수 있다.