>백엔드 개발 >C++ >CMake는 어떻게 컴파일된 파일을 별도의 'bin' 디렉터리로 구성할 수 있나요?

CMake는 어떻게 컴파일된 파일을 별도의 'bin' 디렉터리로 구성할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-13 07:51:11267검색

How Can CMake Organize Compiled Files into a Separate 'bin' Directory?

CMake 출력을 별도의 'bin' 디렉토리로 구성

플러그인 아키텍처를 활용하는 다중 모듈 프로젝트로 작업할 때 이는 종종 바람직합니다. 컴파일된 파일을 소스 코드와 별도로 유지합니다. 강력한 빌드 시스템 생성기인 CMake는 컴파일된 파일을 지정된 'bin' 디렉터리에 출력하도록 구성할 수 있습니다.

이를 달성하기 위해 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가 바이너리 디렉터리 내의 'lib' 디렉터리에 아카이브와 라이브러리를 저장하도록 지시하는 반면 실행 파일과 라이브러리는 동적 라이브러리는 'bin' 디렉터리에 배치됩니다.

또는 다음을 사용하여 대상별로 출력 디렉터리를 설정할 수 있습니다. set_target_properties():

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"
)

두 가지 접근 방식 중 하나를 사용하면 컴파일된 출력을 소스 코드에서 효과적으로 분리하여 더 깔끔하고 체계적인 프로젝트 구조를 보장할 수 있습니다.

위 내용은 CMake는 어떻게 컴파일된 파일을 별도의 'bin' 디렉터리로 구성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.