이 페이지에서

qt_policy

Qt의 CMake API의 기본 동작을 수정합니다.

이 명령은 Qt6 패키지의 Core 컴포넌트에 정의되어 있으며, 다음과 같이 로드할 수 있습니다:

find_package(Qt6 REQUIRED COMPONENTS Core)

이 명령은 Qt 6.5에 도입되었습니다.

개요

qt_policy(
    [SET <policy_name> behavior]
    [GET <policy_name> <variable>]
)

버전리스 명령이 비활성화되어 있으면 qt6_policy() 을 대신 사용합니다. 이 명령은 이 명령과 동일한 인수 집합을 지원합니다.

설명

이 명령에는 두 가지 모드가 있습니다:

  • SET 키워드를 사용하는 경우, 이 명령을 사용하여 Qt의 CMake API의 동작 변경을 옵트인하거나 명시적으로 옵트아웃할 수 있습니다.
  • GET 키워드가 사용되는 경우 <variable> 은 정책의 현재 동작(예: OLD 또는 NEW)으로 설정됩니다.

<policy_name>Qt CMake 정책 중 하나의 이름이어야 합니다. 정책 이름은 QTP<NNNN> 형식이며, 여기서 <NNNN>은 정책의 인덱스를 지정하는 정수입니다. 잘못된 정책 이름을 사용하면 오류가 발생합니다.

이전 Qt 버전을 지원하는 코드는 <policy_name> 값을 가져오거나 동작을 설정하기 전에 QT_KNOWN_POLICY_<policy_name> 변수의 값을 확인하여 정책의 존재 여부를 확인할 수 있습니다.

if(QT_KNOWN_POLICY_<policy_name>)
    qt_policy(SET <policy_name> NEW)
endif()

behavior 을 다음 옵션 중 하나로 설정할 수 있습니다:

  • NEW 새 동작을 선택하려면
  • OLD 명시적으로 옵트아웃하기

참고: 정책의 OLD 동작은 더 이상 사용되지 않으며 향후 제거될 수 있습니다.

사용 가능한 정책

QTP0001

':/qt/qml/'는 QML 모듈의 기본 리소스 접두사입니다.

QTP0002

Android 전용 경로를 지정하는 대상 속성에는 생성기 표현식이 포함될 수 있습니다.

QTP0003

Qt 라이브러리를 생성할 때 BUILD_SHARED_LIBS 값을 고려하세요.

QTP0004

QML 모듈에 QML 파일이 있는 추가 디렉터리에는 추가 qmldir 파일이 필요합니다.

QTP0005

Qt_add_qml_module 의존성 키워드는 CMake 타겟을 허용합니다.

qt_standard_project_setup도참조하십시오 .

© 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.