[1. 개요]
빌드(컴파일) 순서를 결정하는 add_dependencies 는 target_link_libraries 와 어떤 차이가 있는지 정리한다.
[2. target_link_libraries / add_dependencies]
target_link_libraries 도 빌드 순서를 제어한다는 점에서 add_dependencies 와 유사하다.
그러나 가장 큰 차이점이 있다면 링킹 처리 순서도 관여한다는 점이다.
그렇다면, add_dependencies 가 유용한 순간은 언제인가?
- target 간 실제 의존성이 있지는 않지만 (링킹과 관련 없지만) 빌드 순서를 제어할 필요가 있을 때
- add_custom_command 나 add_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 |