내 Mercurial 저장소 repo1의 사용자 정의 대상은 foo
입니다. 결코 그것이하는 것을 신경 쓰지 마라. 또 다른 저장소 repo2가 있는데 repo1의 subrepo로 사용하고 싶습니다. repo2는 repo1과 비슷한 방식으로 개발되었으며, 비슷한 목표를 가지고있는 foo
이라는 커스텀 타겟을 가지고있다. (물론 repo2 디렉토리 일 뿐이다.)Mercurial 리포지토리와 하위 리포지토리 간의 대상 이름 충돌을 처리하는 방법은 무엇입니까?
CMake Error at CMakeLists.txt:123 (add_custom_target):
add_custom_target cannot create target "foo" because another target with
the same name already exists. The existing target is a custom target
created in source directory
가 난 그냥 저장소 이름을 가진 사용자 정의 대상 이름을 접두사 수도있을 것 같군요,하지만 그건 원액처럼 보인다 : 나는 CMakeLists.txt
에 add_subdirectory(relative/path/to/repo2)
와 repo1위한 CMake를 실행하려고하면
, 내가 얻을 이 문제에; 그리고 저는 사실상 make foo
이 repo1과 repo2에서 개념적으로 같은 일을합니다. 내가 여기서 할 수있는 더 똑똑한 것이 있습니까?
'나는 종류의 'foo는을'사실과 같은 않습니다 같은 일, 개념, repo1과 repo2에서 모두 가능합니다. '그리고'make foo'의 어떤 동작이 예상됩니까? repo1과 repo2에서'foo '를 빌드 하시겠습니까? 아니면 단지'foo'를 repo1에 빌드 하시겠습니까? 마지막 경우를 원하면'add_subdirectory' 대신'ExternalProject_Add'를 사용하십시오. – Tsyvarev
@Tsyvarev : 실제로 어떤 옵션인지는 신경 쓰지 않습니다. (경우에 따라서는'foo'가'cloc' 또는'ctags'를 실행하는 것과 같은 것일 수도 있습니다). 그러나이 질문을 읽는 다른 사람들은 선호도가있을 수 있습니다. 답변에 대한 제안을 할 수 있습니까? – einpoklum