${PROJECT_SOURCE_DIR}
다음에 /
이 누락 된 것 같습니다. 여기에 완성도 부족
내가이 사용하는 코드입니다 (if (EXISTS ...)
전체 경로를 필요가 있습니다) :
(는 "가드되면 추가"를 포함) 내 확장
add_subdirectory()
버전 내부
get_filename_component(_fullpath "${_dir}" REALPATH)
if (EXISTS "${_fullpath}" AND EXISTS "${_fullpath}/CMakeLists.txt")
...
그리고 여기를
function(my_add_subdirectory _dir)
get_filename_component(_fullpath "${_dir}" REALPATH)
if (EXISTS "${_fullpath}" AND EXISTS "${_fullpath}/CMakeLists.txt")
get_property(_included_dirs GLOBAL PROPERTY GlobalAddSubdirectoryOnceIncluded)
list(FIND _included_dirs "${_fullpath}" _used_index)
if (${_used_index} EQUAL -1)
set_property(GLOBAL APPEND PROPERTY GlobalAddSubdirectoryOnceIncluded "${_fullpath}")
add_subdirectory(${_dir} ${ARGN})
endif()
else()
message(WARNING "my_add_subdirectory: Can't find ${_fullpath}/CMakeLists.txt")
endif()
endfunction(my_add_subdirectory)
'add_subdirectory()'를 사용할 수 있는지 확인하려면이 옵션이 필요합니까? – Florian
네, 나중에 해봅시다. 목적이다. – JonOsterman
좋아, 나는 그런 경우라고 생각했다. 내 대답에 내 버전을 추가했습니다. – Florian