본문 바로가기

C++/CMake

add_dependencies

[1. 개요]

빌드(컴파일) 순서를 결정하는 add_dependencies 는 target_link_libraries 와 어떤 차이가 있는지 정리한다.


[2. target_link_libraries / add_dependencies]

target_link_libraries 도 빌드 순서를 제어한다는 점에서 add_dependencies 와 유사하다.

그러나 가장 큰 차이점이 있다면 링킹 처리 순서도 관여한다는 점이다.

 

그렇다면, add_dependencies 가 유용한 순간은 언제인가?

  • target 간 실제 의존성이 있지는 않지만 (링킹과 관련 없지만) 빌드 순서를 제어할 필요가 있을 때
  • add_custom_commandadd_custom_target 등으로 먼저 빌드해야 할 것이 있을 때

등이 있다.


[3. 결론]

즉, 링킹(혹은 링커 반영 순서) 까지  영향이 있는 정도라면 target_link_libraries 로 제어하면 되고,

그렇지 않다면 add_dependencies 로 빌드 순서를 제어하면 된다.

'C++ > CMake' 카테고리의 다른 글

LINK_LIBRARIES 와 INTERFACE_LINK_LIBRARIES 의 차이점  (0) 2025.10.27
산출물 관련 설정, 공유 라이브러리  (2) 2025.08.07
CMake command 정리 2  (0) 2023.06.07
리눅스 CMake 설치  (0) 2023.01.04
CMake command 정리  (0) 2022.03.06