qt_standard_project_setup
Configura los valores predeterminados de todo el proyecto a una disposición estándar.
El comando está definido en el componente Core del paquete Qt6, que puede cargarse así:
find_package(Qt6 REQUIRED COMPONENTS Core)
Este comando se introdujo en Qt 6.3.
Sinopsis
qt_standard_project_setup(
[REQUIRES <version>]
[SUPPORTS_UP_TO <version>]
[I18N_TRANSLATED_LANGUAGES <language...>]
[I18N_SOURCE_LANGUAGE <language>]
)Si los comandos sin versión están desactivados, utilice qt6_standard_project_setup() en su lugar. Admite el mismo conjunto de argumentos que este comando.
Descripción
Este comando simplifica la tarea de configurar una aplicación Qt típica. Normalmente se ejecuta inmediatamente después de la primera llamada a find_package(Qt6), normalmente en el archivo de nivel superior CMakeLists.txt y antes de que se haya definido ningún objetivo. Si se llama más tarde, no se aplica a ningún objetivo definido antes, con resultados posiblemente confusos. Hace lo siguiente
- Las variables estándar de CMake
CMAKE_AUTOMOCyCMAKE_AUTOUICse establecen en true si no están ya definidas. Esto habilita todas las características de autogen relacionadas con Qt por defecto para los objetivos creados posteriormente en el ámbito del directorio actual y por debajo. - El módulo GNUInstallDirs de CMake se incluye automáticamente. Esto define los valores por defecto apropiados para variables como
CMAKE_INSTALL_BINDIR,CMAKE_INSTALL_LIBDIR, y así sucesivamente. - Cuando el objetivo es Windows, si la variable
CMAKE_RUNTIME_OUTPUT_DIRECTORYno está ya definida, se definirá como${CMAKE_CURRENT_BINARY_DIR}. - Cuando el objetivo sean plataformas distintas de Apple o Windows,
CMAKE_INSTALL_RPATHse aumentará como se describe a continuación. - La propiedad USE_FOLDERS de CMake se establece en
ON, y QT_TARGETS_FOLDER se establece enQtInternalTargets. Los IDEs que soportan carpetas mostrarán los objetivos internos de Qt en esta carpeta.
Desde Qt 6.5, es posible cambiar el comportamiento por defecto de la API CMake de Qt optando por los cambios de comportamiento de las nuevas versiones de Qt a través de las políticas CMake de Qt. Esto es similar al propio concepto de política de CMake (comparar cmake_policy). Si se especifica REQUIRES, todas las políticas introducidas en las versiones de Qt hasta REQUIRES inclusive se establecen automáticamente en NEW, y el uso de una versión anterior de Qt producirá un error. Por ejemplo, si se especifica REQUIRES 6.8, se activan las políticas QTP0001 a QTP0005. Si también se especifica SUPPORTS_UP_TO, también se habilitan las políticas hasta esa versión, pero sin requerir que esté presente esa versión concreta de Qt.
Están disponibles las siguientes políticas:
':/qt/qml/' es el prefijo de recurso predeterminado para los módulos QML. | |
Las propiedades de destino que especifican rutas específicas de Android pueden contener expresiones de generador. | |
Tenga en cuenta el valor BUILD_SHARED_LIBS al crear bibliotecas Qt. | |
Los directorios adicionales con archivos QML en un módulo QML necesitan archivos qmldir adicionales | |
Las palabras clave de dependencia Qt_add_qml_module aceptan objetivos CMake |
Véase qt_policy para más detalles sobre la configuración manual de políticas individuales.
En las plataformas que admiten RPATH (excepto las plataformas Apple), este comando añade dos valores a la variable CMAKE_INSTALL_RPATH. $ORIGIN se añade para que las bibliotecas encuentren otras bibliotecas de las que dependan en el mismo directorio que ellas. $ORIGIN/<reldir> también se añade, donde <reldir> es la ruta relativa de CMAKE_INSTALL_BINDIR a CMAKE_INSTALL_LIBDIR. Esto permite que los ejecutables instalados en CMAKE_INSTALL_BINDIR encuentren cualquier biblioteca de la que dependan instalada en CMAKE_INSTALL_LIBDIR. Se elimina cualquier duplicado en CMAKE_INSTALL_RPATH. En la práctica, estos dos valores garantizan que los ejecutables y las bibliotecas encontrarán sus dependencias en tiempo de enlace, suponiendo que los proyectos los instalen en las ubicaciones predeterminadas que utiliza el comando install(TARGETS) cuando no se proporciona explícitamente ningún destino.
Para deshabilitar el soporte de carpetas para IDEs, establezca USE_FOLDERS a OFF antes o después de la llamada a qt_standard_project_setup.
El comando qt_standard_project_setup() puede deshabilitarse efectivamente estableciendo la variable QT_NO_STANDARD_PROJECT_SETUP a true.
Internacionalización
Desde Qt 6.7, es posible especificar los idiomas que se utilizan para la internacionalización del proyecto con el argumento I18N_TRANSLATED_LANGUAGES. Ver QT_I18N_TRANSLATED_LANGUAGES para más detalles.
Utilice I18N_SOURCE_LANGUAGE para especificar el idioma en el que se escriben las cadenas traducibles. Por defecto, se utiliza en. Ver QT_I18N_SOURCE_LANGUAGE para más detalles.
Ejemplo
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})Véase también qt_generate_deploy_app_script(), qt_policy y 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.