cmake_minimum_required(VERSION 3.20) if(NOT TARGET Qt6::Quick) project(NebulaUI LANGUAGES CXX) find_package(Qt6 6.4 REQUIRED COMPONENTS Quick) qt_standard_project_setup(REQUIRES 6.4) endif() qt_add_library(NebulaUI STATIC) set(NEBULA_UI_QML_DIR "${CMAKE_CURRENT_SOURCE_DIR}/qml/Nebula/UI") set(NEBULA_UI_QML_FILES Theme.qml NebulaButton.qml NebulaCard.qml NebulaIconButton.qml NebulaTextField.qml NebulaToolTip.qml FocusFrame.qml NebulaIcon.qml ) set(NEBULA_UI_QML_PATHS) foreach(qml_file IN LISTS NEBULA_UI_QML_FILES) set(qml_path "${NEBULA_UI_QML_DIR}/${qml_file}") set_source_files_properties("${qml_path}" PROPERTIES QT_RESOURCE_ALIAS "${qml_file}" ) list(APPEND NEBULA_UI_QML_PATHS "${qml_path}") endforeach() set_source_files_properties("${NEBULA_UI_QML_DIR}/Theme.qml" PROPERTIES QT_QML_SINGLETON_TYPE TRUE ) qt_add_qml_module(NebulaUI URI Nebula.UI VERSION 1.0 RESOURCE_PREFIX /qt/qml QML_FILES ${NEBULA_UI_QML_PATHS} )