qt_standard_project_setup
프로젝트 전체의 기본값을 표준 구성으로 설정합니다.
이 명령어는 Qt6 패키지의 Core 구성 요소에 정의되어 있으며, 다음과 같이 불러올 수 있습니다:
find_package(Qt6 REQUIRED COMPONENTS Core)이 명령어는 Qt 6.3에서 도입되었습니다.
개요
qt_standard_project_setup(
[REQUIRES <version>]
[SUPPORTS_UP_TO <version>]
[I18N_TRANSLATED_LANGUAGES <language...>]
[I18N_SOURCE_LANGUAGE <language>]
)버전 정보가 없는 명령어가 비활성화된 경우, 대신 qt6_standard_project_setup() 을 사용하십시오. 이 명령어는 본 명령어와 동일한 인자 세트를 지원합니다.
설명
이 명령어는 일반적인 Qt 애플리케이션 설정 작업을 간소화합니다. 일반적으로 첫 번째 find_package(Qt6) 호출 직후, 보통 최상위 CMakeLists.txt 파일에서 타겟이 정의되기 전에 호출됩니다. 이보다 나중에 호출할 경우, 이전에 정의된 타겟에는 적용되지 않아 혼란스러운 결과가 발생할 수 있습니다. 이 명령어는 다음과 같은 작업을 수행합니다:
- 표준 CMake 변수인
CMAKE_AUTOMOC와CMAKE_AUTOUIC가 아직 정의되지 않은 경우 true로 설정됩니다. 이를 통해 현재 디렉터리 범위 및 그 아래에서 이후 생성될 모든 타깃에 대해 Qt 관련 autogen 기능이 기본적으로 활성화됩니다. - CMake의 GNUInstallDirs 모듈이 자동으로 포함됩니다. 이를 통해
CMAKE_INSTALL_BINDIR,CMAKE_INSTALL_LIBDIR등과 같은 변수에 대한 적절한 기본값이 정의됩니다. - Windows를 대상으로 할 때,
CMAKE_RUNTIME_OUTPUT_DIRECTORY변수가 아직 설정되어 있지 않으면${CMAKE_CURRENT_BINARY_DIR}로 설정됩니다. - Apple이나 Windows 이외의 플랫폼을 대상으로 할 경우,
CMAKE_INSTALL_RPATH는 아래에 설명된 대로 확장됩니다. - CMake의 USE_FOLDERS 속성은
ON로 설정되고, QT_TARGETS_FOLDER는QtInternalTargets로 설정됩니다. 폴더를 지원하는 IDE는 이 폴더에 Qt 내부 타깃을 표시합니다.
Qt 6.5부터는 Qt CMake 정책을 통해 최신 Qt 버전의 동작 변경 사항을 적용함으로써 Qt의 CMake API 기본 동작을 변경할 수 있습니다. 이는 CMake 자체의 정책 개념( cmake_policy 참조)과 유사합니다. REQUIRES 가 지정되면, REQUIRES 까지의 Qt 버전에서 도입된 모든 정책이 자동으로 NEW 로 설정되며, 이전 버전의 Qt를 사용할 경우 오류가 발생합니다. 예를 들어, ` REQUIRES 6.8 `를 지정하면 QTP0001부터 QTP0005까지의 정책이 활성화됩니다. ` SUPPORTS_UP_TO `도 함께 지정하면 해당 버전까지의 정책도 활성화되지만, 해당 Qt 버전이 반드시 설치되어 있을 필요는 없습니다.
사용 가능한 정책은 다음과 같습니다:
':/qt/qml/'은 QML 모듈의 기본 리소스 접두사입니다. | |
Android 전용 경로를 지정하는 대상 속성에는 생성자 표현식이 포함될 수 있습니다. | |
Qt 라이브러리를 생성할 때는 BUILD_SHARED_LIBS 값을 고려하십시오. | |
QML 모듈 내에 QML 파일이 포함된 추가 디렉터리에는 별도의 qmldir 파일이 필요합니다 | |
qt_add_qml_module() 종속성 키워드가 CMake 타깃을 허용하도록 하십시오 | |
Wayland 프로토콜 소스 생성에 PRIVATE_CODE를 기본값으로 활성화합니다. | |
생성된 배포 스크립트에서 인자 값을 따옴표로 묶거나 이스케이프 처리합니다. | |
배포 스크립트 인수를 재평가하지 않고 전달합니다. |
개별 정책을 수동으로 설정하는 방법에 대한 자세한 내용은 qt_policy() 를 참조하십시오.
RPATH 를 지원하는 플랫폼(Apple 플랫폼 제외)에서, 이 명령은 CMAKE_INSTALL_RPATH 변수에 두 가지 값을 추가합니다. $ORIGIN 이 추가되어 라이브러리가 자신과 동일한 디렉터리에 있는 종속 라이브러리를 찾을 수 있게 합니다. $ORIGIN/<reldir> 도 추가되는데, 여기서 <reldir> 는 CMAKE_INSTALL_BINDIR 에서 CMAKE_INSTALL_LIBDIR 까지의 상대 경로입니다. 이를 통해 CMAKE_INSTALL_BINDIR 에 설치된 실행 파일이 CMAKE_INSTALL_LIBDIR 에 설치된 종속 라이브러리를 찾을 수 있습니다. CMAKE_INSTALL_RPATH 에 중복 항목이 있으면 제거됩니다. 실제로 이 두 값은, 프로젝트가 목적지가 명시적으로 지정되지 않았을 때 install(TARGETS) 명령이 사용하는 기본 위치에 실행 파일과 라이브러리를 설치한다고 가정할 때, 실행 파일과 라이브러리가 링크 시점에 필요한 종속성을 찾을 수 있도록 보장합니다.
IDE용 폴더 지원을 비활성화하려면, ` qt_standard_project_setup` 호출 전이나 후에 ` USE_FOLDERS` 를 ` OFF `로 설정하십시오.
qt_standard_project_setup() 명령은 QT_NO_STANDARD_PROJECT_SETUP 변수를 true로 설정하여 효과적으로 비활성화할 수 있습니다.
국제화
Qt 6.7부터는 I18N_TRANSLATED_LANGUAGES 인수를 사용하여 프로젝트 국제화에 사용되는 언어를 지정할 수 있습니다. 자세한 내용은 QT_I18N_TRANSLATED_LANGUAGES를 참조하십시오.
I18N_SOURCE_LANGUAGE를 사용하여 번역 가능한 문자열이 작성되는 언어를 지정할 수 있습니다. 기본적으로 en 가 사용됩니다. 자세한 내용은 QT_I18N_SOURCE_LANGUAGE를 참조하십시오.
예제
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_app_script(
TARGET MyApp
OUTPUT_SCRIPT deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})qt_generate_deploy_app_script(), qt_policy(), qt_add_translations()도 참조하십시오 .
© 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.