qt_extract_metatypes
Qt 대상에서 메타타입을 추출하고 관련 메타타입.json 파일을 생성합니다.
이 명령은 Qt 6.0에 도입되었습니다.
참고: 이 명령은 기술 프리뷰 버전이며 향후 릴리스에서 변경될 수 있습니다.
개요
qt_extract_metatypes(target [MANUAL_MOC_JSON_FILES json_files...] [OUTPUT_FILES variable_name] )
버전 없는 명령을 사용할 수 없는 경우 qt6_extract_metatypes()
을 대신 사용합니다. 이 명령과 동일한 인수 집합을 지원합니다.
설명
특정 작업은 대상에서 생성 및 수집되는 메타타입 정보에 의존합니다. 이는 일반적으로 Qt 명령에 의해 내부적으로 처리되지만, 그렇지 않은 시나리오의 경우 qt_extract_metatypes()
을 호출하여 특정 target
에 대해 이 정보를 강제로 수집할 수 있습니다.
메타타입 정보는 다음 중 한 가지 방법으로 대상의 소스 파일에 대해 생성됩니다:
- AUTOMOC에 의해 자동으로.
qt_extract_metatypes()
명령은target
에서 AUTOMOC이 활성화되어 있는지 감지하여 필요한 정보를 자동으로 추출합니다. --output-json
옵션과 함께moc
을 호출하여 수동으로. 프로젝트는 이 방법을 사용하여 생성된 모든 JSON 파일을 추적하고MANUAL_MOC_JSON_FILES
옵션을 사용하여qt_extract_metatypes()
에 전달합니다.
qt_extract_metatypes()
는 AUTOMOC 및 수동 moc 입력에서 모든 메타타입 세부 정보를 수집하는 대상별 메타타입 JSON 파일을 생성합니다. --collect-json
옵션과 함께 moc
을 호출하여 이 작업을 수행합니다. 다른 명령에 전달하거나 설치하기 위해 결과 메타타입 JSON 파일을 찾을 위치를 알아야 하는 경우 OUTPUT_FILES
옵션을 사용하여 절대 경로를 저장할 변수 이름을 제공하세요.
자동 메타타입 추출
Qt 6.8부터 AUTOMOC
을 비활성화하지 않았고 CMake 3.19 이상을 사용하거나 qt_finalize_target()을 수동으로 호출하는 경우, qt_add_library의 최종화 단계의 일부로 qt_extract_metatypes()
이 자동으로 호출됩니다. 사용자 지정 인수를 사용하여 최종화 전에 qt_extract_metatypes()
을 수동으로 호출한 경우에는 이 기능이 적용되지 않습니다. 그러나 그렇지 않은 경우 메타타입도 생성되도록 합니다. 이는 라이브러리에 있는 형이 나중에 언제든 QML 형의 일부로 사용되는 경우 중요하며 단점은 없습니다.
또한, qt_add_qml_module은 대상에 대해 qt_extract_metatypes()
을 자동으로 호출합니다.
© 2025 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.