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 관련 오토젠 기능이 활성화됩니다. - 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 타겟을 허용합니다. |
개별 정책을 수동으로 설정하는 방법에 대한 자세한 내용은 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.