Generate CMake-based Qt project with proper module dependencies, cross-compilation support, and modern Qt6 configuration
Generates modern Qt6 CMake projects with proper module dependencies and cross-compilation support.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
README.mdGenerate CMake-based Qt project configurations with proper module dependencies and cross-compilation support. This skill handles Qt6 CMake integration, module discovery, and platform-specific build configurations.
{
"type": "object",
"properties": {
"projectPath": {
"type": "string",
"description": "Path to create/update the Qt project"
},
"projectName": {
"type": "string",
"description": "Project name"
},
"qtVersion": {
"type": "string",
"default": "6.6",
"description": "Target Qt version"
},
"qtModules": {
"type": "array",
"items": {
"enum": ["Core", "Gui", "Widgets", "Quick", "Qml", "Network", "Sql", "Multimedia", "WebEngine", "Charts", "3D"]
},
"default": ["Core", "Gui", "Widgets"]
},
"appType": {
"enum": ["widgets", "quick", "console", "library"],
"default": "widgets"
},
"targetPlatforms": {
"type": "array",
"items": { "enum": ["windows", "macos", "linux", "android", "ios", "wasm"] }
},
"packageManager": {
"enum": ["none", "vcpkg", "conan"],
"default": "none"
},
"cppStandard": {
"enum": ["17", "20", "23"],
"default": "17"
},
"generatePresets": {
"type": "boolean",
"default": true
}
},
"required": ["projectPath", "projectName"]
}
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": { "type": "string" },
"description": { "type": "string" }
}
}
},
"buildCommands": {
"type": "object",
"properties": {
"configure": { "type": "string" },
"build": { "type": "string" },
"install": { "type": "string" }
}
},
"warnings": { "type": "array", "items": { "type": "string" } }
},
"required": ["success"]
}
cmake_minimum_required(VERSION 3.21)
project(MyQtApp VERSION 1.0.0 LANGUAGES CXX)
# C++ Standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Qt Configuration
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# Find Qt packages
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
# Source files
set(SOURCES
src/main.cpp
src/mainwindow.cpp
src/mainwindow.h
src/mainwindow.ui
)
# Resources
set(RESOURCES
resources/resources.qrc
)
# Create executable
qt_add_executable(${PROJECT_NAME}
${SOURCES}
${RESOURCES}
)
# Link Qt libraries
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Widgets
)
# Platform-specific settings
if(WIN32)
set_target_properties(${PROJECT_NAME} PROPERTIES
WIN32_EXECUTABLE TRUE
)
elseif(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/platform/macos/Info.plist"
)
endif()
# Installation
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
# Qt deployment
qt_generate_deploy_app_script(
TARGET ${PROJECT_NAME}
OUTPUT_SCRIPT deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})
{
"version": 6,
"configurePresets": [
{
"name": "default",
"displayName": "Default",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "release",
"inherits": "default",
"displayName": "Release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "windows-msvc",
"inherits": "default",
"displayName": "Windows MSVC",
"generator": "Visual Studio 17 2022",
"architecture": "x64",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "macos",
"inherits": "default",
"displayName": "macOS",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_OSX_ARCHITECTURES": "x86_64;arm64"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
}
},
{
"name": "linux",
"inherits": "default",
"displayName": "Linux",
"generator": "Ninja",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
}
],
"buildPresets": [
{
"name": "default",
"configurePreset": "default"
},
{
"name": "release",
"configurePreset": "release"
}
]
}
# toolchain-linux-aarch64.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_SYSROOT /opt/sysroots/aarch64-linux-gnu)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# CMakeLists.txt
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
endif()
# conanfile.py
from conan import ConanFile
from conan.tools.cmake import cmake_layout
class MyQtAppConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeToolchain", "CMakeDeps"
def requirements(self):
self.requires("qt/6.6.0")
def layout(self):
cmake_layout(self)
find_package(Qt6 6.4 REQUIRED ...)qt-qml-component-generator - QML component creationqt-installer-framework-config - Installer configurationqt-test-fixture-generator - Test setupqt-cpp-specialist - Qt/C++ expertisedesktop-ci-architect - CI/CD for Qt projectsActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.