> 백엔드 개발 > C++ > CMake 빌드 출력을 사용자 정의 디렉터리로 리디렉션하려면 어떻게 해야 합니까?

CMake 빌드 출력을 사용자 정의 디렉터리로 리디렉션하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-12 17:00:12
원래의
682명이 탐색했습니다.

How Can I Redirect CMake Build Output to a Custom Directory?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿