CMake 출력을 특정 디렉터리로 리디렉션하는 방법
프로젝트 구조에는 별도의 디렉터리에 컴파일된 플러그인이 포함되어 있습니다. CMake가 이러한 플러그인을 성공적으로 컴파일하는 동안 소스 디렉터리 구조 외부에서 바이너리 및 동적 라이브러리를 찾아야 하는 문제에 직면하게 됩니다. 이 문서의 목적은 이러한 파일을 "./bin"과 같은 특정 디렉터리에 저장하도록 CMake를 구성하는 과정을 안내하는 것입니다.
답변에서 제안한 대로 CMAKE_RUNTIME_OUTPUT_DIRECTORY 변수를 사용하여 원하는 출력 디렉터리를 지정할 수 있습니다. 루트 CMakeLists.txt에서 이를 구현하는 방법은 다음과 같습니다.
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
이러한 변수를 설정하면 CMake는 빌드 디렉터리(CMAKE_BINARY_DIR)를 기준으로 지정된 디렉터리에 컴파일된 아티팩트를 배치합니다.
또는 대상별로 출력 디렉터리를 설정할 수 있습니다. 기초:
set_target_properties(targets... PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" )
변수/속성에 "_[CONFIG]"를 추가하여 특정 구성(예: DEBUG, RELEASE)에 대한 출력 디렉터리를 지정할 수 있습니다. CMake를 적절하게 구성하면 프로젝트의 컴파일된 출력을 효과적으로 관리하여 바이너리와 플러그인이 원하는 디렉토리 구조로 구성되도록 할 수 있습니다.
위 내용은 CMake 빌드 출력을 사용자 정의 디렉터리로 리디렉션하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!