UFO ET IT

cmake 변수 범위, add_subdirectory

ufoet 2020. 11. 24. 20:39
반응형

cmake 변수 범위, add_subdirectory


내 프로젝트 루트에 CMakeLists.txt가 있고 내 / src 폴더에 하나가 있습니다. / src 폴더에있는 변수는 .cpp 파일 ( set (SOURCEFILES main.cpp foo.cpp))과 루트 CMakeLists.txt에 내가 수행 add_subdirectory(src)하고 나중에 수행 하는 변수 만 포함합니다 add_executable(MyApp ${SOURCEFILES}).

하지만 cmake는 나에게 오류를 준다.

잘못된 개수의 인수로 add_executable이 호출되었으며 소스가 제공되지 않았습니다.

cmake에서 변수를 보려면 어떻게해야합니까? cmake는 전역 변수 만 알고 있지만 분명히 사실은 아닙니다 ...


set 명령 의 문서에서 언급했듯이 추가 된 각 디렉토리 add_subdirectory또는로 선언 된 각 함수는 function새 범위 만듭니다.

새 자식 범위는 부모 범위에서 모든 변수 정의를 상속합니다. set명령을 사용한 새 하위 범위의 변수 할당 PARENT_SCOPE옵션을 사용 하지 않는 한 하위 범위에서만 표시 됩니다.

SOURCEFILES프로젝트의 루트 폴더에 할당을 표시 하려면 다음을 시도하십시오.

set (SOURCEFILES main.cpp foo.cpp PARENT_SCOPE) 

참고 URL : https://stackoverflow.com/questions/6891447/cmake-variable-scope-add-subdirectory

반응형