이 페이지에서

qt_generate_deploy_script

사용자 정의 배포 스크립트를 생성합니다.

이 명령어는 Qt6 패키지의 Core 구성 요소에 정의되어 있으며, 다음과 같이 불러올 수 있습니다:

find_package(Qt6 REQUIRED COMPONENTS Core)

이 명령어는 Qt 6.5에서 도입되었습니다.

개요

qt_generate_deploy_script(
    OUTPUT_SCRIPT <var>
    [TARGET target]
    [NAME script_name]
    [CONTENT content]
)

버전 정보가 없는 명령어가 비활성화된 경우, 대신 ` qt6_generate_deploy_script() `을 사용하십시오. 이 명령어와 동일한 인자 세트를 지원합니다.

설명

이 명령어는 OUTPUT_SCRIPT 옵션으로 지정한 변수에 전체 파일 경로가 저장될 스크립트를 생성합니다. 해당 스크립트는 CMake 생성 시에만 작성됩니다. 이 명령어는 install(SCRIPT) 명령어와 함께 사용하도록 의도되었으며, install (SCRIPT) 명령어는 install(TARGETS)를 사용하여 애플리케이션의 타겟을 설치한 후에 실행되어야 합니다.

이 명령어는 다중 구성 생성기에 적합한 이름의 파일을 생성합니다. Qt의 CMake 배포 함수와 변수에 접근할 수 있도록 필요한 포함 문이 추가됩니다.

TARGET 인수는 스크립트에 의해 배포될 타깃을 지정합니다. NAME 가 지정되지 않은 경우, 이 인수는 생성된 스크립트의 파일 이름에 영향을 미칩니다.

NAME 인수는 배포 스크립트의 자동 생성된 이름 내에서 식별 가능한 부분을 제어합니다. NAME 또는 TARGET 가 지정되지 않은 경우, NAME 인수의 기본값은 custom 입니다.

CONTENT 인수는 배포 스크립트에 작성될 코드를 지정합니다. 이 내용에는 생성자 표현식이 포함될 수 있습니다.

참고: 버전이 없는 qt_generate_deploy_script 명령을 사용할때 , QTP0008이 NEW 로 설정된 경우에만 내용 내의 이스케이프 시퀀스와 ${var} 참조가 변경되지 않은 상태로 생성된 스크립트에 반영됩니다. OLD 동작을 사용할 경우, 인수는 전달되지만 해당 표현식은 호출 시점에 평가되므로, 스크립트 실행 시 확장되도록 의도된 QT_DEPLOY_* 참조가 대신 configure 단계에서 확장되어 빈 값이 됩니다. qt6_generate_deploy_script() 를 직접 호출하면 이 문제를 피할 수 있습니다.

이 명령어는 Qt의 배포 API 함수를 직접 호출하는 사용자 정의 배포 스크립트를 생성하기 위한 것입니다. 덜 복잡한 배포 목적인 경우, qt_generate_deploy_app_script() 또는 qt_generate_deploy_qml_app_script()를 사용하는 것이 더 편리합니다.

예제

cmake_minimum_required(VERSION 3.16...3.22)
project(MyThings)

find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()

qt_add_executable(MyApp main.cpp)

install(TARGETS MyApp
    BUNDLE  DESTINATION .
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

qt_generate_deploy_script(
    TARGET MyApp
    OUTPUT_SCRIPT deploy_script
    CONTENT "
qt_deploy_runtime_dependencies(
    EXECUTABLE $<TARGET_FILE:MyApp>
)
")
install(SCRIPT ${deploy_script})

qt_generate_deploy_app_script(), qt_generate_deploy_qml_app_script() 및 QTP0008도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.