summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.prev_CMakeLists.txt15
-rw-r--r--CMakeLists.txt17
-rw-r--r--cmake/QtRepoSetup.cmake12
-rw-r--r--coin/module_config.yaml13
-rw-r--r--configure.cmake21
-rw-r--r--examples/CMakeLists.txt9
-rw-r--r--examples/scxml/CMakeLists.txt23
-rw-r--r--examples/scxml/calculator-qml/CMakeLists.txt52
-rw-r--r--examples/scxml/calculator-widgets/CMakeLists.txt39
-rw-r--r--examples/scxml/ftpclient/CMakeLists.txt38
-rw-r--r--examples/scxml/invoke-dynamic/CMakeLists.txt62
-rw-r--r--examples/scxml/invoke-static/CMakeLists.txt63
-rw-r--r--examples/scxml/mediaplayer-qml-cppdatamodel/CMakeLists.txt56
-rw-r--r--examples/scxml/mediaplayer-qml-dynamic/CMakeLists.txt54
-rw-r--r--examples/scxml/mediaplayer-qml-static/CMakeLists.txt55
-rw-r--r--examples/scxml/mediaplayer-widgets-dynamic/CMakeLists.txt50
-rw-r--r--examples/scxml/mediaplayer-widgets-static/CMakeLists.txt39
-rw-r--r--examples/scxml/pinball/CMakeLists.txt39
-rw-r--r--examples/scxml/sudoku/CMakeLists.txt54
-rw-r--r--examples/scxml/trafficlight-qml-dynamic/CMakeLists.txt86
-rw-r--r--examples/scxml/trafficlight-qml-simple/CMakeLists.txt52
-rw-r--r--examples/scxml/trafficlight-qml-static/CMakeLists.txt87
-rw-r--r--examples/scxml/trafficlight-widgets-dynamic/CMakeLists.txt74
-rw-r--r--examples/scxml/trafficlight-widgets-static/CMakeLists.txt75
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/imports/CMakeLists.txt3
-rw-r--r--src/imports/scxmlstatemachine/.prev_CMakeLists.txt30
-rw-r--r--src/imports/scxmlstatemachine/CMakeLists.txt30
-rw-r--r--src/scxml/.prev_CMakeLists.txt62
-rw-r--r--src/scxml/CMakeLists.txt63
-rw-r--r--src/scxml/Qt6ScxmlMacros.cmake (renamed from src/scxml/Qt5ScxmlMacros.cmake)20
-rw-r--r--src/scxml/configure.cmake21
-rw-r--r--src/scxml/qscxmlcppdatamodel.cpp4
-rw-r--r--tests/.prev_CMakeLists.txt10
-rw-r--r--tests/CMakeLists.txt10
-rw-r--r--tests/auto/.prev_CMakeLists.txt9
-rw-r--r--tests/auto/CMakeLists.txt11
-rw-r--r--tests/auto/compiled/CMakeLists.txt46
-rw-r--r--tests/auto/dynamicmetaobject/CMakeLists.txt31
-rw-r--r--tests/auto/parser/CMakeLists.txt109
-rw-r--r--tests/auto/scion/.prev_CMakeLists.txt50
-rw-r--r--tests/auto/scion/CMakeLists.txt139
-rw-r--r--tests/auto/statemachine/CMakeLists.txt40
-rw-r--r--tests/auto/statemachineinfo/CMakeLists.txt32
-rw-r--r--tools/CMakeLists.txt5
-rw-r--r--tools/qscxmlc/.prev_CMakeLists.txt49
-rw-r--r--tools/qscxmlc/CMakeLists.txt58
47 files changed, 1912 insertions, 11 deletions
diff --git a/.prev_CMakeLists.txt b/.prev_CMakeLists.txt
new file mode 100644
index 0000000..b6a05b5
--- /dev/null
+++ b/.prev_CMakeLists.txt
@@ -0,0 +1,15 @@
+# Generated from qtscxml.pro.
+
+cmake_minimum_required(VERSION 3.15.0)
+
+project(QtScxml
+ VERSION 6.0.0
+ DESCRIPTION "Qt Scxml Libraries"
+ HOMEPAGE_URL "https://qt.io/"
+ LANGUAGES CXX C
+)
+
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core SET_ME_TO_SOMETHING_USEFUL)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS SET_ME_TO_SOMETHING_USEFUL)
+
+qt_build_repo()
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..ed52112
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,17 @@
+# Generated from qtscxml.pro.
+
+cmake_minimum_required(VERSION 3.15.0)
+
+project(QtScxml
+ VERSION 6.0.0
+ DESCRIPTION "Qt Scxml Libraries"
+ HOMEPAGE_URL "https://qt.io/"
+ LANGUAGES CXX C
+)
+
+# special case begin
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Qml Gui)
+# special case end
+
+qt_build_repo()
diff --git a/cmake/QtRepoSetup.cmake b/cmake/QtRepoSetup.cmake
new file mode 100644
index 0000000..25ddbc1
--- /dev/null
+++ b/cmake/QtRepoSetup.cmake
@@ -0,0 +1,12 @@
+function(add_qt_statecharts target)
+ # Don't try to add statecharts when cross compiling, and the target is actually a host target
+ # (like a tool).
+ qt_is_imported_target("${target}" is_imported)
+ if(is_imported)
+ return()
+ endif()
+
+ qt_parse_all_arguments(arg "add_qt_statecharts" "" "" "FILES" ${ARGN})
+
+ qt6_add_statecharts(${target} ${arg_FILES})
+endfunction()
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 0000000..9f29e11
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,13 @@
+version: 1
+accept_configuration:
+ condition: property
+ property: host.os
+ equals_property: target.os
+
+build_instructions:
+ - !include "{{qt/qtbase}}/prepare_building_env.yaml"
+ - !include "{{qt/qtbase}}/cmake_module_build_instructions.yaml"
+ - !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml"
+
+test_instructions:
+ - !include "{{qt/qtbase}}/cmake_regular_test_instructions.yaml"
diff --git a/configure.cmake b/configure.cmake
new file mode 100644
index 0000000..53e3f11
--- /dev/null
+++ b/configure.cmake
@@ -0,0 +1,21 @@
+
+
+#### Inputs
+
+
+
+#### Libraries
+
+
+
+#### Tests
+
+
+
+#### Features
+
+
+qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC)
+qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC)
+qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC)
+qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000..a739b11
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Generated from examples.pro.
+
+qt_examples_build_begin()
+
+if(TARGET Qt::Scxml)
+ add_subdirectory(scxml)
+endif()
+
+qt_examples_build_end()
diff --git a/examples/scxml/CMakeLists.txt b/examples/scxml/CMakeLists.txt
new file mode 100644
index 0000000..6e0220c
--- /dev/null
+++ b/examples/scxml/CMakeLists.txt
@@ -0,0 +1,23 @@
+# Generated from scxml.pro.
+
+add_subdirectory(ftpclient)
+if(TARGET Qt::Widgets)
+ add_subdirectory(trafficlight-widgets-static)
+ add_subdirectory(trafficlight-widgets-dynamic)
+ add_subdirectory(mediaplayer-widgets-static)
+ add_subdirectory(mediaplayer-widgets-dynamic)
+ add_subdirectory(calculator-widgets)
+ add_subdirectory(pinball)
+ add_subdirectory(sudoku)
+endif()
+if(TARGET Qt::Quick)
+ add_subdirectory(calculator-qml)
+ add_subdirectory(trafficlight-qml-static)
+ add_subdirectory(trafficlight-qml-dynamic)
+ add_subdirectory(trafficlight-qml-simple)
+ add_subdirectory(mediaplayer-qml-static)
+ add_subdirectory(mediaplayer-qml-dynamic)
+ add_subdirectory(mediaplayer-qml-cppdatamodel)
+ add_subdirectory(invoke-static)
+ add_subdirectory(invoke-dynamic)
+endif()
diff --git a/examples/scxml/calculator-qml/CMakeLists.txt b/examples/scxml/calculator-qml/CMakeLists.txt
new file mode 100644
index 0000000..82aa74f
--- /dev/null
+++ b/examples/scxml/calculator-qml/CMakeLists.txt
@@ -0,0 +1,52 @@
+# Generated from calculator-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(calculator-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(calculator-qml
+ calculator-qml.cpp
+)
+target_link_libraries(calculator-qml PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(calculator-qml_resource_files
+ "Button.qml"
+ "calculator-qml.qml"
+)
+
+qt6_add_resources(calculator-qml "calculator-qml"
+ PREFIX
+ "/"
+ FILES
+ ${calculator-qml_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(calculator-qml
+ ../calculator-common/statemachine.scxml
+)
+
+install(TARGETS calculator-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/calculator-widgets/CMakeLists.txt b/examples/scxml/calculator-widgets/CMakeLists.txt
new file mode 100644
index 0000000..f083979
--- /dev/null
+++ b/examples/scxml/calculator-widgets/CMakeLists.txt
@@ -0,0 +1,39 @@
+# Generated from calculator-widgets.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(calculator-widgets LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(calculator-widgets
+ calculator-widgets.cpp
+ mainwindow.cpp mainwindow.h mainwindow.ui
+)
+target_link_libraries(calculator-widgets PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Statecharts:
+qt6_add_statecharts(calculator-widgets
+ ../calculator-common/statemachine.scxml
+)
+
+install(TARGETS calculator-widgets
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/ftpclient/CMakeLists.txt b/examples/scxml/ftpclient/CMakeLists.txt
new file mode 100644
index 0000000..e97b669
--- /dev/null
+++ b/examples/scxml/ftpclient/CMakeLists.txt
@@ -0,0 +1,38 @@
+# Generated from ftpclient.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(ftpclient LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Scxml)
+find_package(Qt6 COMPONENTS Network)
+
+add_qt_gui_executable(ftpclient
+ ftpcontrolchannel.cpp ftpcontrolchannel.h
+ ftpdatachannel.cpp ftpdatachannel.h
+ main.cpp
+)
+target_link_libraries(ftpclient PUBLIC
+ Qt::Core
+ Qt::Network
+ Qt::Scxml
+)
+
+# Statecharts:
+qt6_add_statecharts(ftpclient
+ simpleftp.scxml
+)
+
+install(TARGETS ftpclient
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/invoke-dynamic/CMakeLists.txt b/examples/scxml/invoke-dynamic/CMakeLists.txt
new file mode 100644
index 0000000..eb8ef6a
--- /dev/null
+++ b/examples/scxml/invoke-dynamic/CMakeLists.txt
@@ -0,0 +1,62 @@
+# Generated from invoke-dynamic.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(invoke-dynamic LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(invoke-dynamic
+ invoke-dynamic.cpp
+)
+target_link_libraries(invoke-dynamic PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../invoke-common/Button.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Button.qml"
+)
+set_source_files_properties("../invoke-common/MainView.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "MainView.qml"
+)
+set_source_files_properties("../invoke-common/SubView.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "SubView.qml"
+)
+set_source_files_properties("../invoke-common/statemachine.scxml"
+ PROPERTIES QT_RESOURCE_ALIAS "statemachine.scxml"
+)
+set(invoke-dynamic_resource_files
+ "../invoke-common/Button.qml"
+ "../invoke-common/MainView.qml"
+ "../invoke-common/SubView.qml"
+ "../invoke-common/statemachine.scxml"
+ "invoke-dynamic.qml"
+)
+
+qt6_add_resources(invoke-dynamic "invoke-dynamic"
+ PREFIX
+ "/"
+ FILES
+ ${invoke-dynamic_resource_files}
+)
+
+
+install(TARGETS invoke-dynamic
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/invoke-static/CMakeLists.txt b/examples/scxml/invoke-static/CMakeLists.txt
new file mode 100644
index 0000000..f98abe3
--- /dev/null
+++ b/examples/scxml/invoke-static/CMakeLists.txt
@@ -0,0 +1,63 @@
+# Generated from invoke-static.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(invoke-static LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(invoke-static
+ invoke-static.cpp
+)
+target_link_libraries(invoke-static PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../invoke-common/Button.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Button.qml"
+)
+set_source_files_properties("../invoke-common/MainView.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "MainView.qml"
+)
+set_source_files_properties("../invoke-common/SubView.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "SubView.qml"
+)
+set(invoke-static_resource_files
+ "../invoke-common/Button.qml"
+ "../invoke-common/MainView.qml"
+ "../invoke-common/SubView.qml"
+ "invoke-static.qml"
+)
+
+qt6_add_resources(invoke-static "invoke-static"
+ PREFIX
+ "/"
+ FILES
+ ${invoke-static_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(invoke-static
+ ../invoke-common/statemachine.scxml
+)
+
+install(TARGETS invoke-static
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/mediaplayer-qml-cppdatamodel/CMakeLists.txt b/examples/scxml/mediaplayer-qml-cppdatamodel/CMakeLists.txt
new file mode 100644
index 0000000..3ef5bf8
--- /dev/null
+++ b/examples/scxml/mediaplayer-qml-cppdatamodel/CMakeLists.txt
@@ -0,0 +1,56 @@
+# Generated from mediaplayer-qml-cppdatamodel.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(mediaplayer-qml-cppdatamodel LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(mediaplayer-qml-cppdatamodel
+ mediaplayer-qml-cppdatamodel.cpp
+ thedatamodel.cpp thedatamodel.h
+)
+target_link_libraries(mediaplayer-qml-cppdatamodel PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../mediaplayer-common/Mediaplayer.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Mediaplayer.qml"
+)
+set(mediaplayer-qml-cppdatamodel_resource_files
+ "../mediaplayer-common/Mediaplayer.qml"
+ "mediaplayer-qml-cppdatamodel.qml"
+)
+
+qt6_add_resources(mediaplayer-qml-cppdatamodel "mediaplayer-qml-cppdatamodel"
+ PREFIX
+ "/"
+ FILES
+ ${mediaplayer-qml-cppdatamodel_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(mediaplayer-qml-cppdatamodel
+ mediaplayer-cppdatamodel.scxml
+)
+
+install(TARGETS mediaplayer-qml-cppdatamodel
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/mediaplayer-qml-dynamic/CMakeLists.txt b/examples/scxml/mediaplayer-qml-dynamic/CMakeLists.txt
new file mode 100644
index 0000000..670558a
--- /dev/null
+++ b/examples/scxml/mediaplayer-qml-dynamic/CMakeLists.txt
@@ -0,0 +1,54 @@
+# Generated from mediaplayer-qml-dynamic.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(mediaplayer-qml-dynamic LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(mediaplayer-qml-dynamic
+ mediaplayer-qml-dynamic.cpp
+)
+target_link_libraries(mediaplayer-qml-dynamic PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../mediaplayer-common/Mediaplayer.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Mediaplayer.qml"
+)
+set_source_files_properties("../mediaplayer-common/mediaplayer.scxml"
+ PROPERTIES QT_RESOURCE_ALIAS "mediaplayer.scxml"
+)
+set(mediaplayer-qml-dynamic_resource_files
+ "../mediaplayer-common/Mediaplayer.qml"
+ "../mediaplayer-common/mediaplayer.scxml"
+ "mediaplayer-qml-dynamic.qml"
+)
+
+qt6_add_resources(mediaplayer-qml-dynamic "mediaplayer-qml-dynamic"
+ PREFIX
+ "/"
+ FILES
+ ${mediaplayer-qml-dynamic_resource_files}
+)
+
+
+install(TARGETS mediaplayer-qml-dynamic
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/mediaplayer-qml-static/CMakeLists.txt b/examples/scxml/mediaplayer-qml-static/CMakeLists.txt
new file mode 100644
index 0000000..6802e3b
--- /dev/null
+++ b/examples/scxml/mediaplayer-qml-static/CMakeLists.txt
@@ -0,0 +1,55 @@
+# Generated from mediaplayer-qml-static.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(mediaplayer-qml-static LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(mediaplayer-qml-static
+ mediaplayer-qml-static.cpp
+)
+target_link_libraries(mediaplayer-qml-static PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../mediaplayer-common/Mediaplayer.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Mediaplayer.qml"
+)
+set(mediaplayer-qml-static_resource_files
+ "../mediaplayer-common/Mediaplayer.qml"
+ "mediaplayer-qml-static.qml"
+)
+
+qt6_add_resources(mediaplayer-qml-static "mediaplayer-qml-static"
+ PREFIX
+ "/"
+ FILES
+ ${mediaplayer-qml-static_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(mediaplayer-qml-static
+ ../mediaplayer-common/mediaplayer.scxml
+)
+
+install(TARGETS mediaplayer-qml-static
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/mediaplayer-widgets-dynamic/CMakeLists.txt b/examples/scxml/mediaplayer-widgets-dynamic/CMakeLists.txt
new file mode 100644
index 0000000..42d5b89
--- /dev/null
+++ b/examples/scxml/mediaplayer-widgets-dynamic/CMakeLists.txt
@@ -0,0 +1,50 @@
+# Generated from mediaplayer-widgets-dynamic.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(mediaplayer-widgets-dynamic LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(mediaplayer-widgets-dynamic
+ ../mediaplayer-common/mainwindow.cpp ../mediaplayer-common/mainwindow.h ../mediaplayer-common/mainwindow.ui
+ mediaplayer-widgets-dynamic.cpp
+)
+target_link_libraries(mediaplayer-widgets-dynamic PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Resources:
+set_source_files_properties("../mediaplayer-common/mediaplayer.scxml"
+ PROPERTIES QT_RESOURCE_ALIAS "mediaplayer.scxml"
+)
+set(mediaplayer_resource_files
+ "../mediaplayer-common/mediaplayer.scxml"
+)
+
+qt6_add_resources(mediaplayer-widgets-dynamic "mediaplayer"
+ PREFIX
+ "/"
+ FILES
+ ${mediaplayer_resource_files}
+)
+
+
+install(TARGETS mediaplayer-widgets-dynamic
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/mediaplayer-widgets-static/CMakeLists.txt b/examples/scxml/mediaplayer-widgets-static/CMakeLists.txt
new file mode 100644
index 0000000..70f5f71
--- /dev/null
+++ b/examples/scxml/mediaplayer-widgets-static/CMakeLists.txt
@@ -0,0 +1,39 @@
+# Generated from mediaplayer-widgets-static.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(mediaplayer-widgets-static LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(mediaplayer-widgets-static
+ ../mediaplayer-common/mainwindow.cpp ../mediaplayer-common/mainwindow.h ../mediaplayer-common/mainwindow.ui
+ mediaplayer-widgets-static.cpp
+)
+target_link_libraries(mediaplayer-widgets-static PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Statecharts:
+qt6_add_statecharts(mediaplayer-widgets-static
+ ../mediaplayer-common/mediaplayer.scxml
+)
+
+install(TARGETS mediaplayer-widgets-static
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/pinball/CMakeLists.txt b/examples/scxml/pinball/CMakeLists.txt
new file mode 100644
index 0000000..b52bab1
--- /dev/null
+++ b/examples/scxml/pinball/CMakeLists.txt
@@ -0,0 +1,39 @@
+# Generated from pinball.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(pinball LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(pinball
+ main.cpp
+ mainwindow.cpp mainwindow.h mainwindow.ui
+)
+target_link_libraries(pinball PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Statecharts:
+qt6_add_statecharts(pinball
+ pinball.scxml
+)
+
+install(TARGETS pinball
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/sudoku/CMakeLists.txt b/examples/scxml/sudoku/CMakeLists.txt
new file mode 100644
index 0000000..6647645
--- /dev/null
+++ b/examples/scxml/sudoku/CMakeLists.txt
@@ -0,0 +1,54 @@
+# Generated from sudoku.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(sudoku LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(sudoku
+ main.cpp
+ mainwindow.cpp mainwindow.h
+)
+target_link_libraries(sudoku PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Resources:
+set(sudoku_resource_files
+ "data/nearly-solved-sudoku.data"
+ "data/sudoku.data"
+ "sudoku.js"
+)
+
+qt6_add_resources(sudoku "sudoku"
+ PREFIX
+ "/"
+ FILES
+ ${sudoku_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(sudoku
+ sudoku.scxml
+)
+
+install(TARGETS sudoku
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/trafficlight-qml-dynamic/CMakeLists.txt b/examples/scxml/trafficlight-qml-dynamic/CMakeLists.txt
new file mode 100644
index 0000000..c7bee0b
--- /dev/null
+++ b/examples/scxml/trafficlight-qml-dynamic/CMakeLists.txt
@@ -0,0 +1,86 @@
+# Generated from trafficlight-qml-dynamic.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(trafficlight-qml-dynamic LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(trafficlight-qml-dynamic
+ trafficlight-qml-dynamic.cpp
+)
+target_link_libraries(trafficlight-qml-dynamic PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../trafficlight-common/Button.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Button.qml"
+)
+set_source_files_properties("../trafficlight-common/Lights.ui.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Lights.ui.qml"
+)
+set_source_files_properties("../trafficlight-common/TrafficLight.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "TrafficLight.qml"
+)
+set_source_files_properties("../trafficlight-common/background.png"
+ PROPERTIES QT_RESOURCE_ALIAS "background.png"
+)
+set_source_files_properties("../trafficlight-common/green.png"
+ PROPERTIES QT_RESOURCE_ALIAS "green.png"
+)
+set_source_files_properties("../trafficlight-common/pause.png"
+ PROPERTIES QT_RESOURCE_ALIAS "pause.png"
+)
+set_source_files_properties("../trafficlight-common/play.png"
+ PROPERTIES QT_RESOURCE_ALIAS "play.png"
+)
+set_source_files_properties("../trafficlight-common/red.png"
+ PROPERTIES QT_RESOURCE_ALIAS "red.png"
+)
+set_source_files_properties("../trafficlight-common/statemachine.scxml"
+ PROPERTIES QT_RESOURCE_ALIAS "statemachine.scxml"
+)
+set_source_files_properties("../trafficlight-common/yellow.png"
+ PROPERTIES QT_RESOURCE_ALIAS "yellow.png"
+)
+set(trafficlight-qml-dynamic_resource_files
+ "../trafficlight-common/Button.qml"
+ "../trafficlight-common/Lights.ui.qml"
+ "../trafficlight-common/TrafficLight.qml"
+ "../trafficlight-common/background.png"
+ "../trafficlight-common/green.png"
+ "../trafficlight-common/pause.png"
+ "../trafficlight-common/play.png"
+ "../trafficlight-common/red.png"
+ "../trafficlight-common/statemachine.scxml"
+ "../trafficlight-common/yellow.png"
+ "trafficlight-qml-dynamic.qml"
+)
+
+qt6_add_resources(trafficlight-qml-dynamic "trafficlight-qml-dynamic"
+ PREFIX
+ "/"
+ FILES
+ ${trafficlight-qml-dynamic_resource_files}
+)
+
+
+install(TARGETS trafficlight-qml-dynamic
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/trafficlight-qml-simple/CMakeLists.txt b/examples/scxml/trafficlight-qml-simple/CMakeLists.txt
new file mode 100644
index 0000000..ad85c61
--- /dev/null
+++ b/examples/scxml/trafficlight-qml-simple/CMakeLists.txt
@@ -0,0 +1,52 @@
+# Generated from trafficlight-qml-simple.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(trafficlight-qml-simple LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(trafficlight-qml-simple
+ trafficlight-qml-simple.cpp
+)
+target_link_libraries(trafficlight-qml-simple PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(trafficlight-qml-simple_resource_files
+ "Light.qml"
+ "TrafficLight.qml"
+)
+
+qt6_add_resources(trafficlight-qml-simple "trafficlight-qml-simple"
+ PREFIX
+ "/"
+ FILES
+ ${trafficlight-qml-simple_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(trafficlight-qml-simple
+ ../trafficlight-common/statemachine.scxml
+)
+
+install(TARGETS trafficlight-qml-simple
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/trafficlight-qml-static/CMakeLists.txt b/examples/scxml/trafficlight-qml-static/CMakeLists.txt
new file mode 100644
index 0000000..6927b9a
--- /dev/null
+++ b/examples/scxml/trafficlight-qml-static/CMakeLists.txt
@@ -0,0 +1,87 @@
+# Generated from trafficlight-qml-static.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(trafficlight-qml-static LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(trafficlight-qml-static
+ trafficlight-qml-static.cpp
+)
+target_link_libraries(trafficlight-qml-static PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set_source_files_properties("../trafficlight-common/Button.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Button.qml"
+)
+set_source_files_properties("../trafficlight-common/Lights.ui.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "Lights.ui.qml"
+)
+set_source_files_properties("../trafficlight-common/TrafficLight.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "TrafficLight.qml"
+)
+set_source_files_properties("../trafficlight-common/background.png"
+ PROPERTIES QT_RESOURCE_ALIAS "background.png"
+)
+set_source_files_properties("../trafficlight-common/green.png"
+ PROPERTIES QT_RESOURCE_ALIAS "green.png"
+)
+set_source_files_properties("../trafficlight-common/pause.png"
+ PROPERTIES QT_RESOURCE_ALIAS "pause.png"
+)
+set_source_files_properties("../trafficlight-common/play.png"
+ PROPERTIES QT_RESOURCE_ALIAS "play.png"
+)
+set_source_files_properties("../trafficlight-common/red.png"
+ PROPERTIES QT_RESOURCE_ALIAS "red.png"
+)
+set_source_files_properties("../trafficlight-common/yellow.png"
+ PROPERTIES QT_RESOURCE_ALIAS "yellow.png"
+)
+set(trafficlight-qml-static_resource_files
+ "../trafficlight-common/Button.qml"
+ "../trafficlight-common/Lights.ui.qml"
+ "../trafficlight-common/TrafficLight.qml"
+ "../trafficlight-common/background.png"
+ "../trafficlight-common/green.png"
+ "../trafficlight-common/pause.png"
+ "../trafficlight-common/play.png"
+ "../trafficlight-common/red.png"
+ "../trafficlight-common/yellow.png"
+ "trafficlight-qml-static.qml"
+)
+
+qt6_add_resources(trafficlight-qml-static "trafficlight-qml-static"
+ PREFIX
+ "/"
+ FILES
+ ${trafficlight-qml-static_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(trafficlight-qml-static
+ ../trafficlight-common/statemachine.scxml
+)
+
+install(TARGETS trafficlight-qml-static
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/trafficlight-widgets-dynamic/CMakeLists.txt b/examples/scxml/trafficlight-widgets-dynamic/CMakeLists.txt
new file mode 100644
index 0000000..5a3e268
--- /dev/null
+++ b/examples/scxml/trafficlight-widgets-dynamic/CMakeLists.txt
@@ -0,0 +1,74 @@
+# Generated from trafficlight-widgets-dynamic.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(trafficlight-widgets-dynamic LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(trafficlight-widgets-dynamic
+ ../trafficlight-common/trafficlight.cpp ../trafficlight-common/trafficlight.h
+ trafficlight-widgets-dynamic.cpp
+)
+target_link_libraries(trafficlight-widgets-dynamic PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Resources:
+set_source_files_properties("../trafficlight-common/background.png"
+ PROPERTIES QT_RESOURCE_ALIAS "background.png"
+)
+set_source_files_properties("../trafficlight-common/green.png"
+ PROPERTIES QT_RESOURCE_ALIAS "green.png"
+)
+set_source_files_properties("../trafficlight-common/pause.png"
+ PROPERTIES QT_RESOURCE_ALIAS "pause.png"
+)
+set_source_files_properties("../trafficlight-common/play.png"
+ PROPERTIES QT_RESOURCE_ALIAS "play.png"
+)
+set_source_files_properties("../trafficlight-common/red.png"
+ PROPERTIES QT_RESOURCE_ALIAS "red.png"
+)
+set_source_files_properties("../trafficlight-common/statemachine.scxml"
+ PROPERTIES QT_RESOURCE_ALIAS "statemachine.scxml"
+)
+set_source_files_properties("../trafficlight-common/yellow.png"
+ PROPERTIES QT_RESOURCE_ALIAS "yellow.png"
+)
+set(trafficlight-widgets-dynamic_resource_files
+ "../trafficlight-common/background.png"
+ "../trafficlight-common/green.png"
+ "../trafficlight-common/pause.png"
+ "../trafficlight-common/play.png"
+ "../trafficlight-common/red.png"
+ "../trafficlight-common/statemachine.scxml"
+ "../trafficlight-common/yellow.png"
+)
+
+qt6_add_resources(trafficlight-widgets-dynamic "trafficlight-widgets-dynamic"
+ PREFIX
+ "/"
+ FILES
+ ${trafficlight-widgets-dynamic_resource_files}
+)
+
+
+install(TARGETS trafficlight-widgets-dynamic
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/scxml/trafficlight-widgets-static/CMakeLists.txt b/examples/scxml/trafficlight-widgets-static/CMakeLists.txt
new file mode 100644
index 0000000..f0268b7
--- /dev/null
+++ b/examples/scxml/trafficlight-widgets-static/CMakeLists.txt
@@ -0,0 +1,75 @@
+# Generated from trafficlight-widgets-static.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(trafficlight-widgets-static LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Scxml)
+
+add_qt_gui_executable(trafficlight-widgets-static
+ ../trafficlight-common/trafficlight.cpp ../trafficlight-common/trafficlight.h
+ trafficlight-widgets-static.cpp
+)
+target_link_libraries(trafficlight-widgets-static PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Scxml
+ Qt::Widgets
+)
+
+# Resources:
+set_source_files_properties("../trafficlight-common/background.png"
+ PROPERTIES QT_RESOURCE_ALIAS "background.png"
+)
+set_source_files_properties("../trafficlight-common/green.png"
+ PROPERTIES QT_RESOURCE_ALIAS "green.png"
+)
+set_source_files_properties("../trafficlight-common/pause.png"
+ PROPERTIES QT_RESOURCE_ALIAS "pause.png"
+)
+set_source_files_properties("../trafficlight-common/play.png"
+ PROPERTIES QT_RESOURCE_ALIAS "play.png"
+)
+set_source_files_properties("../trafficlight-common/red.png"
+ PROPERTIES QT_RESOURCE_ALIAS "red.png"
+)
+set_source_files_properties("../trafficlight-common/yellow.png"
+ PROPERTIES QT_RESOURCE_ALIAS "yellow.png"
+)
+set(trafficlight-widgets-static_resource_files
+ "../trafficlight-common/background.png"
+ "../trafficlight-common/green.png"
+ "../trafficlight-common/pause.png"
+ "../trafficlight-common/play.png"
+ "../trafficlight-common/red.png"
+ "../trafficlight-common/yellow.png"
+)
+
+qt6_add_resources(trafficlight-widgets-static "trafficlight-widgets-static"
+ PREFIX
+ "/"
+ FILES
+ ${trafficlight-widgets-static_resource_files}
+)
+
+
+# Statecharts:
+qt6_add_statecharts(trafficlight-widgets-static
+ ../trafficlight-common/statemachine.scxml
+)
+
+install(TARGETS trafficlight-widgets-static
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..0e4e3bb
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,6 @@
+# Generated from src.pro.
+
+add_subdirectory(scxml)
+if(TARGET Qt::Qml)
+ add_subdirectory(imports)
+endif()
diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt
new file mode 100644
index 0000000..805a479
--- /dev/null
+++ b/src/imports/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Generated from imports.pro.
+
+add_subdirectory(scxmlstatemachine)
diff --git a/src/imports/scxmlstatemachine/.prev_CMakeLists.txt b/src/imports/scxmlstatemachine/.prev_CMakeLists.txt
new file mode 100644
index 0000000..bf4a0ea
--- /dev/null
+++ b/src/imports/scxmlstatemachine/.prev_CMakeLists.txt
@@ -0,0 +1,30 @@
+# Generated from scxmlstatemachine.pro.
+
+#####################################################################
+## scxml Plugin:
+#####################################################################
+
+add_qml_module(scxml
+ URI "QtScxml"
+ VERSION "5.${CMAKE_PROJECT_VERSION_MINOR}"
+ CLASSNAME QScxmlStateMachinePlugin
+ SOURCES
+ eventconnection.cpp eventconnection_p.h
+ invokedservices.cpp invokedservices_p.h
+ plugin.cpp
+ statemachineextended.cpp statemachineextended_p.h
+ statemachineloader.cpp statemachineloader_p.h
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::QmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Qml
+ Qt::Scxml
+)
+
+#### Keys ignored in scope 1:.:.:scxmlstatemachine.pro:<TRUE>:
+# IMPORT_VERSION = "5.$$QT_MINOR_VERSION"
+# OTHER_FILES = "plugins.qmltypes" "qmldir"
+# TARGETPATH = "QtScxml"
+# _LOADED = "qml_plugin"
diff --git a/src/imports/scxmlstatemachine/CMakeLists.txt b/src/imports/scxmlstatemachine/CMakeLists.txt
new file mode 100644
index 0000000..b94c0e5
--- /dev/null
+++ b/src/imports/scxmlstatemachine/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Generated from scxmlstatemachine.pro.
+
+#####################################################################
+## scxml Plugin:
+#####################################################################
+
+add_qml_module(declarative_scxml # special case
+ URI "QtScxml"
+ VERSION "5.${CMAKE_PROJECT_VERSION_MINOR}"
+ CLASSNAME QScxmlStateMachinePlugin
+ SOURCES
+ eventconnection.cpp eventconnection_p.h
+ invokedservices.cpp invokedservices_p.h
+ plugin.cpp
+ statemachineextended.cpp statemachineextended_p.h
+ statemachineloader.cpp statemachineloader_p.h
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::QmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Qml
+ Qt::Scxml
+)
+
+#### Keys ignored in scope 1:.:.:scxmlstatemachine.pro:<TRUE>:
+# IMPORT_VERSION = "5.$$QT_MINOR_VERSION"
+# OTHER_FILES = "plugins.qmltypes" "qmldir"
+# TARGETPATH = "QtScxml"
+# _LOADED = "qml_plugin"
diff --git a/src/scxml/.prev_CMakeLists.txt b/src/scxml/.prev_CMakeLists.txt
new file mode 100644
index 0000000..1d078b2
--- /dev/null
+++ b/src/scxml/.prev_CMakeLists.txt
@@ -0,0 +1,62 @@
+# Generated from scxml.pro.
+
+#####################################################################
+## Scxml Module:
+#####################################################################
+
+add_qt_module(Scxml
+ QMAKE_MODULE_CONFIG c++11 qscxmlc
+ SOURCES
+ qscxmlcompiler.cpp qscxmlcompiler.h qscxmlcompiler_p.h
+ qscxmlcppdatamodel.cpp qscxmlcppdatamodel.h qscxmlcppdatamodel_p.h
+ qscxmldatamodel.cpp qscxmldatamodel.h qscxmldatamodel_p.h
+ qscxmlerror.cpp qscxmlerror.h
+ qscxmlevent.cpp qscxmlevent.h qscxmlevent_p.h
+ qscxmlexecutablecontent.cpp qscxmlexecutablecontent.h qscxmlexecutablecontent_p.h
+ qscxmlglobals.h qscxmlglobals_p.h
+ qscxmlinvokableservice.cpp qscxmlinvokableservice.h qscxmlinvokableservice_p.h
+ qscxmlnulldatamodel.cpp qscxmlnulldatamodel.h
+ qscxmlstatemachine.cpp qscxmlstatemachine.h qscxmlstatemachine_p.h
+ qscxmlstatemachineinfo.cpp qscxmlstatemachineinfo_p.h
+ qscxmltabledata.cpp qscxmltabledata.h qscxmltabledata_p.h
+ DEFINES
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ LIBRARIES
+ Qt::CorePrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+)
+
+#### Keys ignored in scope 1:.:.:scxml.pro:<TRUE>:
+# FEATURES = "../../mkspecs/features/qscxmlc.prf"
+# INSTALLS = "features"
+# MODULE_CONFIG = "c++11" "qscxmlc"
+# _LOADED = "qt_module"
+# features.files = "$$FEATURES"
+# features.path = "$$[QT_HOST_DATA]/mkspecs/features/"
+
+## Scopes:
+#####################################################################
+
+extend_target(Scxml CONDITION QT_FEATURE_scxml_ecmascriptdatamodel
+ SOURCES
+ qscxmlecmascriptdatamodel.cpp qscxmlecmascriptdatamodel.h
+ qscxmlecmascriptplatformproperties.cpp qscxmlecmascriptplatformproperties_p.h
+ LIBRARIES
+ Qt::QmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Qml
+)
+
+#### Keys ignored in scope 3:.:.:scxml.pro:NOT force_independent AND (NOT debug_and_release OR NOT build_all OR CONFIG(release,debug OR release)):
+# QMAKE_EXTRA_COMPILERS = "prf2build"
+# prf2build.CONFIG = "no_link" "no_clean" "target_predeps"
+# prf2build.commands = "$$QMAKE_COPY" "${QMAKE_FILE_IN}" "${QMAKE_FILE_OUT}"
+# prf2build.input = "FEATURES"
+# prf2build.name = "COPY" "${QMAKE_FILE_IN}"
+# prf2build.output = "$$[QT_INSTALL_DATA/get]/mkspecs/features/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}"
+add_qt_docs(Scxml
+ doc/qtscxml.qdocconf
+)
+
diff --git a/src/scxml/CMakeLists.txt b/src/scxml/CMakeLists.txt
new file mode 100644
index 0000000..aa04656
--- /dev/null
+++ b/src/scxml/CMakeLists.txt
@@ -0,0 +1,63 @@
+# Generated from scxml.pro.
+
+#####################################################################
+## Scxml Module:
+#####################################################################
+
+add_qt_module(Scxml
+ QMAKE_MODULE_CONFIG c++11 qscxmlc
+ SOURCES
+ qscxmlcompiler.cpp qscxmlcompiler.h qscxmlcompiler_p.h
+ qscxmlcppdatamodel.cpp qscxmlcppdatamodel.h qscxmlcppdatamodel_p.h
+ qscxmldatamodel.cpp qscxmldatamodel.h qscxmldatamodel_p.h
+ qscxmlerror.cpp qscxmlerror.h
+ qscxmlevent.cpp qscxmlevent.h qscxmlevent_p.h
+ qscxmlexecutablecontent.cpp qscxmlexecutablecontent.h qscxmlexecutablecontent_p.h
+ qscxmlglobals.h qscxmlglobals_p.h
+ qscxmlinvokableservice.cpp qscxmlinvokableservice.h qscxmlinvokableservice_p.h
+ qscxmlnulldatamodel.cpp qscxmlnulldatamodel.h
+ qscxmlstatemachine.cpp qscxmlstatemachine.h qscxmlstatemachine_p.h
+ qscxmlstatemachineinfo.cpp qscxmlstatemachineinfo_p.h
+ qscxmltabledata.cpp qscxmltabledata.h qscxmltabledata_p.h
+ DEFINES
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ LIBRARIES
+ Qt::CorePrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+)
+
+#### Keys ignored in scope 1:.:.:scxml.pro:<TRUE>:
+# FEATURES = "../../mkspecs/features/qscxmlc.prf"
+# INSTALLS = "features"
+# MODULE_CONFIG = "c++11" "qscxmlc"
+# _LOADED = "qt_module"
+# features.files = "$$FEATURES"
+# features.path = "$$[QT_HOST_DATA]/mkspecs/features/"
+
+## Scopes:
+#####################################################################
+
+extend_target(Scxml CONDITION QT_FEATURE_scxml_ecmascriptdatamodel
+ SOURCES
+ qscxmlecmascriptdatamodel.cpp qscxmlecmascriptdatamodel.h
+ qscxmlecmascriptplatformproperties.cpp qscxmlecmascriptplatformproperties_p.h
+ LIBRARIES
+ Qt::QmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Qml
+)
+
+#### Keys ignored in scope 3:.:.:scxml.pro:NOT force_independent AND (NOT debug_and_release OR NOT build_all OR CONFIG(release,debug OR release)):
+# QMAKE_EXTRA_COMPILERS = "prf2build"
+# prf2build.CONFIG = "no_link" "no_clean" "target_predeps"
+# prf2build.commands = "$$QMAKE_COPY" "${QMAKE_FILE_IN}" "${QMAKE_FILE_OUT}"
+# prf2build.input = "FEATURES"
+# prf2build.name = "COPY" "${QMAKE_FILE_IN}"
+# prf2build.output = "$$[QT_INSTALL_DATA/get]/mkspecs/features/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}"
+add_qt_docs(Scxml
+ doc/qtscxml.qdocconf
+)
+
+include(Qt6ScxmlMacros.cmake) # special case
diff --git a/src/scxml/Qt5ScxmlMacros.cmake b/src/scxml/Qt6ScxmlMacros.cmake
index c4454ec..a319607 100644
--- a/src/scxml/Qt5ScxmlMacros.cmake
+++ b/src/scxml/Qt6ScxmlMacros.cmake
@@ -34,13 +34,9 @@
#
# $QT_END_LICENSE$
-if(NOT Qt5Scxml_QSCXMLC_EXECUTABLE)
- message(FATAL_ERROR "qscxmlc executable not found -- Check installation.")
-endif()
+# qt6_add_statecharts(target_or_outfiles inputfile ... )
-# qt5_add_statecharts(outfiles inputfile ... )
-
-function(qt5_add_statecharts outfiles)
+function(qt6_add_statecharts target_or_outfiles)
set(options)
set(oneValueArgs)
set(multiValueArgs OPTIONS)
@@ -48,6 +44,7 @@ function(qt5_add_statecharts outfiles)
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(scxml_files ${ARGS_UNPARSED_ARGUMENTS})
+ set(outfiles)
foreach(it ${scxml_files})
get_filename_component(outfilename ${it} NAME_WE)
@@ -57,12 +54,17 @@ function(qt5_add_statecharts outfiles)
set(outfile_h ${CMAKE_CURRENT_BINARY_DIR}/${outfilename}.h)
add_custom_command(OUTPUT ${outfile_cpp} ${outfile_h}
- COMMAND ${Qt5Scxml_QSCXMLC_EXECUTABLE}
+ ${QT_TOOL_PATH_SETUP_COMMAND}
+ COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qscxmlc
ARGS ${ARGS_OPTIONS} --output ${outfile} ${infile}
MAIN_DEPENDENCY ${infile}
VERBATIM)
- list(APPEND ${outfiles} ${outfile_cpp})
+ list(APPEND outfiles ${outfile_cpp})
endforeach()
set_source_files_properties(${outfiles} PROPERTIES SKIP_AUTOMOC TRUE)
- set(${outfiles} ${${outfiles}} PARENT_SCOPE)
+ if (TARGET ${target_or_outfiles})
+ target_sources(${target_or_outfiles} PRIVATE ${outfiles})
+ else()
+ set(${target_or_outfiles} ${outfiles} PARENT_SCOPE)
+ endif()
endfunction()
diff --git a/src/scxml/configure.cmake b/src/scxml/configure.cmake
new file mode 100644
index 0000000..40cc67a
--- /dev/null
+++ b/src/scxml/configure.cmake
@@ -0,0 +1,21 @@
+
+
+#### Inputs
+
+
+
+#### Libraries
+
+
+
+#### Tests
+
+
+
+#### Features
+
+qt_feature("scxml_ecmascriptdatamodel" PUBLIC
+ SECTION "SCXML"
+ LABEL "ECMAScript data model for QtScxml"
+ PURPOSE "Enables the usage of ecmascript data models in SCXML state machines."
+)
diff --git a/src/scxml/qscxmlcppdatamodel.cpp b/src/scxml/qscxmlcppdatamodel.cpp
index ba18cc7..88289ad 100644
--- a/src/scxml/qscxmlcppdatamodel.cpp
+++ b/src/scxml/qscxmlcppdatamodel.cpp
@@ -69,12 +69,12 @@ using namespace QScxmlExecutableContent;
class TheDataModel: public QScxmlCppDataModel
{
- Q_OBJECT
+ \Q_OBJECT
Q_SCXML_DATAMODEL
};
\endcode
The Q_SCXML_DATAMODEL has to appear in the private section of the class definition, for example
- right after the opening bracket, or after a Q_OBJECT macro.
+ right after the opening bracket, or after a \Q_OBJECT macro.
This macro expands to the declaration of some virtual
methods whose implementation is generated by the Qt SCXML compiler.
diff --git a/tests/.prev_CMakeLists.txt b/tests/.prev_CMakeLists.txt
new file mode 100644
index 0000000..f9ace95
--- /dev/null
+++ b/tests/.prev_CMakeLists.txt
@@ -0,0 +1,10 @@
+# Generated from tests.pro.
+
+if(NOT TARGET Qt::Test)
+ cmake_minimum_required(VERSION 3.15.0)
+ project(QtScxmlTests VERSION 6.0.0 LANGUAGES C CXX)
+ find_package(Qt6 ${PROJECT_VERSION} REQUIRED COMPONENTS BuildInternals Core SET_ME_TO_SOMETHING_USEFUL)
+ find_package(Qt6 ${PROJECT_VERSION} OPTIONAL_COMPONENTS SET_ME_TO_SOMETHING_USEFUL)
+ qt_set_up_standalone_tests_build()
+endif()
+qt_build_tests()
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 0000000..b241c6e
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Generated from tests.pro.
+
+if(NOT TARGET Qt::Test)
+ cmake_minimum_required(VERSION 3.15.0)
+ project(QtScxmlTests VERSION 6.0.0 LANGUAGES C CXX)
+ find_package(Qt6 ${PROJECT_VERSION} REQUIRED COMPONENTS BuildInternals Core Scxml Test) # special case
+ find_package(Qt6 ${PROJECT_VERSION} OPTIONAL_COMPONENTS Qml Gui) # special case
+ qt_set_up_standalone_tests_build()
+endif()
+qt_build_tests()
diff --git a/tests/auto/.prev_CMakeLists.txt b/tests/auto/.prev_CMakeLists.txt
new file mode 100644
index 0000000..dd9caab
--- /dev/null
+++ b/tests/auto/.prev_CMakeLists.txt
@@ -0,0 +1,9 @@
+# Generated from auto.pro.
+
+add_subdirectory(cmake)
+add_subdirectory(compiled)
+add_subdirectory(dynamicmetaobject)
+add_subdirectory(parser)
+add_subdirectory(scion)
+add_subdirectory(statemachine)
+add_subdirectory(statemachineinfo)
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
new file mode 100644
index 0000000..1666cfd
--- /dev/null
+++ b/tests/auto/CMakeLists.txt
@@ -0,0 +1,11 @@
+# Generated from auto.pro.
+
+# special case begin
+# add_subdirectory(cmake)
+# special case end
+add_subdirectory(compiled)
+add_subdirectory(dynamicmetaobject)
+add_subdirectory(parser)
+add_subdirectory(scion)
+add_subdirectory(statemachine)
+add_subdirectory(statemachineinfo)
diff --git a/tests/auto/compiled/CMakeLists.txt b/tests/auto/compiled/CMakeLists.txt
new file mode 100644
index 0000000..6b61bab
--- /dev/null
+++ b/tests/auto/compiled/CMakeLists.txt
@@ -0,0 +1,46 @@
+# Generated from compiled.pro.
+
+#####################################################################
+## tst_compiled Test:
+#####################################################################
+
+add_qt_test(tst_compiled
+ SOURCES
+ tst_compiled.cpp
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(tst_compiled_resource_files
+ "submachineA.scxml"
+ "submachineB.scxml"
+ "topmachine.scxml"
+)
+
+add_qt_resource(tst_compiled "tst_compiled"
+ PREFIX
+ "/"
+ FILES
+ ${tst_compiled_resource_files}
+)
+
+
+# Statecharts:
+add_qt_statecharts(tst_compiled FILES
+ ids1.scxml
+ eventnames1.scxml
+ eventnames2.scxml
+ statemachineunicodename.scxml
+ anonymousstate.scxml
+ submachineunicodename.scxml
+ datainnulldatamodel.scxml
+ initialhistory.scxml
+ connection.scxml
+ topmachine.scxml
+)
+
+#### Keys ignored in scope 1:.:.:compiled.pro:<TRUE>:
+# TEMPLATE = "app"
diff --git a/tests/auto/dynamicmetaobject/CMakeLists.txt b/tests/auto/dynamicmetaobject/CMakeLists.txt
new file mode 100644
index 0000000..698bb5c
--- /dev/null
+++ b/tests/auto/dynamicmetaobject/CMakeLists.txt
@@ -0,0 +1,31 @@
+# Generated from dynamicmetaobject.pro.
+
+#####################################################################
+## tst_dynamicmetaobject Test:
+#####################################################################
+
+add_qt_test(tst_dynamicmetaobject
+ SOURCES
+ tst_dynamicmetaobject.cpp
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(tst_dynamicmetaobject_resource_files
+ "mediaplayer.scxml"
+ "test1.scxml"
+)
+
+add_qt_resource(tst_dynamicmetaobject "tst_dynamicmetaobject"
+ PREFIX
+ "/tst_dynamicmetaobject"
+ FILES
+ ${tst_dynamicmetaobject_resource_files}
+)
+
+
+#### Keys ignored in scope 1:.:.:dynamicmetaobject.pro:<TRUE>:
+# TEMPLATE = "app"
diff --git a/tests/auto/parser/CMakeLists.txt b/tests/auto/parser/CMakeLists.txt
new file mode 100644
index 0000000..fea776f
--- /dev/null
+++ b/tests/auto/parser/CMakeLists.txt
@@ -0,0 +1,109 @@
+# Generated from parser.pro.
+
+#####################################################################
+## tst_parser Test:
+#####################################################################
+
+add_qt_test(tst_parser
+ SOURCES
+ tst_parser.cpp
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(tst_parser_resource_files
+ "data/badInitial.scxml"
+ "data/badInitial.scxml.errors"
+ "data/commentInScript.scxml"
+ "data/commentInScript.scxml.errors"
+ "data/empty.scxml"
+ "data/empty.scxml.errors"
+ "data/eventnames.scxml"
+ "data/eventnames.scxml.errors"
+ "data/ids1.scxml"
+ "data/ids1.scxml.errors"
+ "data/ids2.scxml"
+ "data/ids2.scxml.errors"
+ "data/invalidContent.scxml"
+ "data/invalidContent.scxml.errors"
+ "data/invalidRoot1.scxml"
+ "data/invalidRoot1.scxml.errors"
+ "data/invalidRoot2.scxml"
+ "data/invalidRoot2.scxml.errors"
+ "data/invalidRoot3.scxml"
+ "data/invalidRoot3.scxml.errors"
+ "data/invalidRoot6.scxml"
+ "data/invalidRoot6.scxml.errors"
+ "data/invalidUnicode1.scxml"
+ "data/invalidUnicode1.scxml.errors"
+ "data/invalidXmlHeader1.scxml"
+ "data/invalidXmlHeader1.scxml.errors"
+ "data/invalidXmlHeader2.scxml"
+ "data/invalidXmlHeader2.scxml.errors"
+ "data/invalidstatemachinename.scxml"
+ "data/invalidstatemachinename.scxml.errors"
+ "data/misplacedinvoke.scxml"
+ "data/misplacedinvoke.scxml.errors"
+ "data/namespaces1.scxml"
+ "data/namespaces1.scxml.errors"
+ "data/nestedScxml.scxml"
+ "data/nestedScxml.scxml.errors"
+ "data/noContentInInvoke1.scxml"
+ "data/noContentInInvoke1.scxml.errors"
+ "data/noContentInInvoke2.scxml"
+ "data/noContentInInvoke2.scxml.errors"
+ "data/noContentInInvoke3.scxml"
+ "data/noContentInInvoke3.scxml.errors"
+ "data/noContentInInvoke4.scxml"
+ "data/noContentInInvoke4.scxml.errors"
+ "data/prematureEndOfDocument1.scxml"
+ "data/prematureEndOfDocument1.scxml.errors"
+ "data/prematureEndOfDocument2.scxml"
+ "data/prematureEndOfDocument2.scxml.errors"
+ "data/scxml1.scxml"
+ "data/scxml1.scxml.errors"
+ "data/scxml2.scxml"
+ "data/scxml2.scxml.errors"
+ "data/syntaxErrors1.scxml"
+ "data/syntaxErrors1.scxml.errors"
+ "data/syntaxErrors10.scxml"
+ "data/syntaxErrors10.scxml.errors"
+ "data/syntaxErrors11.scxml"
+ "data/syntaxErrors11.scxml.errors"
+ "data/syntaxErrors12.scxml"
+ "data/syntaxErrors12.scxml.errors"
+ "data/syntaxErrors13.scxml"
+ "data/syntaxErrors13.scxml.errors"
+ "data/syntaxErrors14.scxml"
+ "data/syntaxErrors14.scxml.errors"
+ "data/syntaxErrors15.scxml"
+ "data/syntaxErrors15.scxml.errors"
+ "data/syntaxErrors2.scxml"
+ "data/syntaxErrors2.scxml.errors"
+ "data/syntaxErrors3.scxml"
+ "data/syntaxErrors3.scxml.errors"
+ "data/syntaxErrors4.scxml"
+ "data/syntaxErrors4.scxml.errors"
+ "data/syntaxErrors5.scxml"
+ "data/syntaxErrors5.scxml.errors"
+ "data/syntaxErrors7.scxml"
+ "data/syntaxErrors7.scxml.errors"
+ "data/syntaxErrors9.scxml"
+ "data/syntaxErrors9.scxml.errors"
+ "data/test1.scxml"
+ "data/test1.scxml.errors"
+)
+
+add_qt_resource(tst_parser "tst_parser"
+ PREFIX
+ "/tst_parser"
+ FILES
+ ${tst_parser_resource_files}
+)
+
+
+#### Keys ignored in scope 1:.:.:parser.pro:<TRUE>:
+# TEMPLATE = "app"
diff --git a/tests/auto/scion/.prev_CMakeLists.txt b/tests/auto/scion/.prev_CMakeLists.txt
new file mode 100644
index 0000000..51bba64
--- /dev/null
+++ b/tests/auto/scion/.prev_CMakeLists.txt
@@ -0,0 +1,50 @@
+# Generated from scion.pro.
+
+#####################################################################
+## tst_scion Test:
+#####################################################################
+
+add_qt_test(tst_scion
+ SOURCES
+ tst_scion.cpp
+ DEFINES
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+#### Ignored generated resource: ${CMAKE_CURRENT_BINARY_DIR}/scion.qrc
+#### Keys ignored in scope 1:.:.:scion.pro:<TRUE>:
+# ALLFILES = "$$SCXMLS_DIR/*.*,"
+# ALLSCXMLS = "$$SCXMLS_DIR/*.scxml,"
+# BLACKLISTED = "test216sub1.scxml" "test226sub1.txml" "test239sub1.scxml" "test242sub1.scxml" "test276sub1.scxml" "test530.txml.scxml" "test301.txml.scxml" "test441a.txml.scxml" "test441b.txml.scxml" "test557.txml.scxml"
+# QMAKE_EXTRA_COMPILERS = "myscxml" "myscxml_hdr"
+# SCXMLS_DIR = "$$absolute_path($$PWD/../../3rdparty/scion-tests/scxml-test-framework/test)"
+# TEMPLATE = "app"
+# contents = "'<!DOCTYPE" "RCC><RCC" "version=\"1.0\">'" "'<qresource>'" "$$qrc" "'</qresource></RCC>'"
+# myscxml.commands = "$$QMAKE_QSCXMLC" "--header" "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.h" "--impl" "${QMAKE_FILE_OUT}" "--namespace" "${QMAKE_FUNC_nameTheNamespace}" "--classname" "${QMAKE_FUNC_nameTheClass}" "${QMAKE_FILE_IN}"
+# myscxml.depends = "$$QMAKE_QSCXMLC_EXE"
+# myscxml.input = "SCXMLS"
+# myscxml.output = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.cpp"
+# myscxml.variable_out = "SOURCES"
+# myscxml_hdr.commands = "$$escape_expand(\\n)"
+# myscxml_hdr.depends = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.cpp"
+# myscxml_hdr.input = "SCXMLS"
+# myscxml_hdr.output = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.h"
+# myscxml_hdr.variable_out = "SCXML_HEADERS"
+
+## Scopes:
+#####################################################################
+
+#### Keys ignored in scope 2:.:.:scion.pro:defineReplace(nameTheNamespace):
+# sn = "__relative_path___absolute_path___dirname_1_____OUT_PWD____SCXMLS_DIR_"
+
+#### Keys ignored in scope 3:.:.:scion.pro:defineReplace(nameTheClass):
+# cn = "__basename_1_"
+
+extend_target(tst_scion CONDITION MSVC AND WIN32
+ COMPILE_OPTIONS
+ /bigobj
+)
diff --git a/tests/auto/scion/CMakeLists.txt b/tests/auto/scion/CMakeLists.txt
new file mode 100644
index 0000000..70f0c08
--- /dev/null
+++ b/tests/auto/scion/CMakeLists.txt
@@ -0,0 +1,139 @@
+# Generated from scion.pro.
+
+#####################################################################
+## tst_scion Test:
+#####################################################################
+
+add_qt_test(tst_scion
+ SOURCES
+ tst_scion.cpp
+ DEFINES
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+#### Ignored generated resource: ${CMAKE_CURRENT_BINARY_DIR}/scion.qrc
+#### Keys ignored in scope 1:.:.:scion.pro:<TRUE>:
+# ALLFILES = "$$SCXMLS_DIR/*.*,"
+# ALLSCXMLS = "$$SCXMLS_DIR/*.scxml,"
+# BLACKLISTED = "test216sub1.scxml" "test226sub1.txml" "test239sub1.scxml" "test242sub1.scxml" "test276sub1.scxml" "test530.txml.scxml" "test301.txml.scxml" "test441a.txml.scxml" "test441b.txml.scxml" "test557.txml.scxml"
+# QMAKE_EXTRA_COMPILERS = "myscxml" "myscxml_hdr"
+# SCXMLS_DIR = "$$absolute_path($$PWD/../../3rdparty/scion-tests/scxml-test-framework/test)"
+# TEMPLATE = "app"
+# contents = "'<!DOCTYPE" "RCC><RCC" "version=\"1.0\">'" "'<qresource>'" "$$qrc" "'</qresource></RCC>'"
+# myscxml.commands = "$$QMAKE_QSCXMLC" "--header" "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.h" "--impl" "${QMAKE_FILE_OUT}" "--namespace" "${QMAKE_FUNC_nameTheNamespace}" "--classname" "${QMAKE_FUNC_nameTheClass}" "${QMAKE_FILE_IN}"
+# myscxml.depends = "$$QMAKE_QSCXMLC_EXE"
+# myscxml.input = "SCXMLS"
+# myscxml.output = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.cpp"
+# myscxml.variable_out = "SOURCES"
+# myscxml_hdr.commands = "$$escape_expand(\\n)"
+# myscxml_hdr.depends = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.cpp"
+# myscxml_hdr.input = "SCXMLS"
+# myscxml_hdr.output = "scxml/${QMAKE_FUNC_nameTheNamespace}_${QMAKE_FILE_IN_BASE}.h"
+# myscxml_hdr.variable_out = "SCXML_HEADERS"
+
+## Scopes:
+#####################################################################
+
+#### Keys ignored in scope 2:.:.:scion.pro:defineReplace(nameTheNamespace):
+# sn = "__relative_path___absolute_path___dirname_1_____OUT_PWD____SCXMLS_DIR_"
+
+#### Keys ignored in scope 3:.:.:scion.pro:defineReplace(nameTheClass):
+# cn = "__basename_1_"
+
+extend_target(tst_scion CONDITION MSVC AND WIN32
+ COMPILE_OPTIONS
+ /bigobj
+)
+
+# special case begin
+
+# For a better explanation about the "blacklisted" tests, see tst_scion.cpp
+# <invoke>
+set(blacklisted
+ test216sub1.scxml
+ test226sub1.txml
+ test239sub1.scxml
+ test242sub1.scxml
+ test276sub1.scxml
+ test530.txml.scxml)
+
+# other
+list(APPEND blacklisted
+ test301.txml.scxml
+ test441a.txml.scxml
+ test441b.txml.scxml
+ test557.txml.scxml)
+
+set(scxmls_dir ../../3rdparty/scion-tests/scxml-test-framework/test)
+get_filename_component(scxmls_dir ${scxmls_dir} ABSOLUTE)
+file(GLOB_RECURSE allscxmls ${scxmls_dir}/*.scxml)
+
+set(scxmls)
+set(inc_list)
+set(func_list)
+set(test_bases)
+foreach(f ${allscxmls})
+ get_filename_component(cn ${f} NAME)
+ if(NOT cn IN_LIST blacklisted)
+ list(APPEND scxmls ${f})
+
+ string(REGEX REPLACE "\\.scxml$" "" cn ${cn})
+ set(hn ${cn})
+ string(REGEX REPLACE "\\.txml$" "" cn ${cn})
+ get_filename_component(sn ${f} DIRECTORY)
+ file(RELATIVE_PATH sn ${scxmls_dir} ${sn})
+ string(REGEX REPLACE "[^a-zA-Z_0-9]" "_" sn ${sn})
+
+ set(out_h scxml/${sn}_${hn}.h)
+ set(out_cpp scxml/${sn}_${hn}.cpp)
+ string(APPEND inc_list "#include \"${out_h}\"\n")
+ string(APPEND func_list " []()->QScxmlStateMachine*{return new ${sn}::${cn};},\n")
+
+ file(RELATIVE_PATH tn ${scxmls_dir} ${f})
+ string(REGEX REPLACE "\\.scxml$" "" tn ${tn})
+ string(APPEND test_bases " \"${tn}\",\n")
+
+ file(TO_NATIVE_PATH ${out_h} native_out_h)
+ file(TO_NATIVE_PATH ${out_cpp} native_out_cpp)
+ add_custom_command(
+ OUTPUT ${out_cpp} ${out_h}
+ ${QT_TOOL_PATH_SETUP_COMMAND}
+ COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qscxmlc
+ ARGS --header ${native_out_h} --impl ${native_out_cpp} --namespace ${sn} --classname ${cn} ${f}
+ VERBATIM
+ )
+ set_source_files_properties(${out_h} ${out_cpp} PROPERTIES SKIP_AUTOMOC TRUE)
+ target_sources(tst_scion PRIVATE ${out_h} ${out_cpp})
+ endif()
+endforeach()
+
+file(GLOB_RECURSE allfiles ${scxmls_dir}/*.*)
+foreach(f ${allfiles})
+ file(RELATIVE_PATH base ${scxmls_dir} ${f})
+ set_source_files_properties(${f}
+ PROPERTIES
+ QT_SKIP_QUICKCOMPILER ON
+ QT_RESOURCE_ALIAS ${base}
+ )
+endforeach()
+
+add_qt_resource(tst_scion "scion"
+ PREFIX "/"
+ FILES ${allfiles}
+)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scxml/compiled_tests.h
+ "${inc_list}\nstd::function<QScxmlStateMachine *()> creators[] = {\n${func_list}};")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scxml/scion.h
+ "const char *testBases[] = {\n${test_bases}};")
+target_sources(tst_scion
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}/scxml/compiled_tests.h
+ ${CMAKE_CURRENT_BINARY_DIR}/scxml/scion.h
+)
+
+# special case end
diff --git a/tests/auto/statemachine/CMakeLists.txt b/tests/auto/statemachine/CMakeLists.txt
new file mode 100644
index 0000000..f0e90e3
--- /dev/null
+++ b/tests/auto/statemachine/CMakeLists.txt
@@ -0,0 +1,40 @@
+# Generated from statemachine.pro.
+
+#####################################################################
+## tst_statemachine Test:
+#####################################################################
+
+add_qt_test(tst_statemachine
+ SOURCES
+ tst_statemachine.cpp
+ LIBRARIES
+ Qt::ScxmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(tst_statemachine_resource_files
+ "emptylog.scxml"
+ "eventoccurred.scxml"
+ "historystate.scxml"
+ "ids1.scxml"
+ "invoke.scxml"
+ "multipleinvokableservices.scxml"
+ "stateDotDoneEvent.scxml"
+ "statenames.scxml"
+ "statenamesnested.scxml"
+)
+
+add_qt_resource(tst_statemachine "tst_statemachine"
+ PREFIX
+ "/tst_statemachine"
+ FILES
+ ${tst_statemachine_resource_files}
+)
+
+
+#### Keys ignored in scope 1:.:.:statemachine.pro:<TRUE>:
+# TEMPLATE = "app"
diff --git a/tests/auto/statemachineinfo/CMakeLists.txt b/tests/auto/statemachineinfo/CMakeLists.txt
new file mode 100644
index 0000000..06c0cd2
--- /dev/null
+++ b/tests/auto/statemachineinfo/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Generated from statemachineinfo.pro.
+
+#####################################################################
+## tst_statemachineinfo Test:
+#####################################################################
+
+add_qt_test(tst_statemachineinfo
+ SOURCES
+ tst_statemachineinfo.cpp
+ LIBRARIES
+ Qt::ScxmlPrivate
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ Qt::Qml
+ Qt::Scxml
+)
+
+# Resources:
+set(tst_statemachineinfo_resource_files
+ "statemachine.scxml"
+)
+
+add_qt_resource(tst_statemachineinfo "tst_statemachineinfo"
+ PREFIX
+ "/tst_statemachineinfo"
+ FILES
+ ${tst_statemachineinfo_resource_files}
+)
+
+
+#### Keys ignored in scope 1:.:.:statemachineinfo.pro:<TRUE>:
+# TEMPLATE = "app"
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
index 0000000..3d0405c
--- /dev/null
+++ b/tools/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Generated from tools.pro.
+
+if(QT_FEATURE_commandlineparser)
+ add_subdirectory(qscxmlc)
+endif()
diff --git a/tools/qscxmlc/.prev_CMakeLists.txt b/tools/qscxmlc/.prev_CMakeLists.txt
new file mode 100644
index 0000000..71e210e
--- /dev/null
+++ b/tools/qscxmlc/.prev_CMakeLists.txt
@@ -0,0 +1,49 @@
+# Generated from qscxmlc.pro.
+
+#####################################################################
+## qscxmlc Tool:
+#####################################################################
+
+add_qt_tool(qscxmlc
+ SOURCES
+ ../../src/scxml/qscxmlcompiler.cpp ../../src/scxml/qscxmlcompiler.h ../../src/scxml/qscxmlcompiler_p.h
+ ../../src/scxml/qscxmlerror.cpp ../../src/scxml/qscxmlerror.h
+ ../../src/scxml/qscxmlexecutablecontent.cpp ../../src/scxml/qscxmlexecutablecontent.h ../../src/scxml/qscxmlexecutablecontent_p.h
+ ../../src/scxml/qscxmlglobals.h
+ ../../src/scxml/qscxmltabledata.cpp ../../src/scxml/qscxmltabledata.h
+ generator.cpp generator.h
+ main.cpp
+ moc.h
+ outputrevision.h
+ qscxmlc.cpp qscxmlc.h
+ scxmlcppdumper.cpp scxmlcppdumper.h
+ utils.h
+ DEFINES
+ BUILD_QSCXMLC
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ INCLUDE_DIRECTORIES
+ .scxml.includes
+ .scxml_private.includes
+ LIBRARIES
+ Qt::CorePrivate
+)
+
+# Resources:
+set(templates_resource_files
+ "cppdatamodel.t"
+ "data.t"
+ "decl.t"
+)
+
+add_qt_resource(qscxmlc "templates"
+ PREFIX
+ "/"
+ FILES
+ ${templates_resource_files}
+)
+
+
+#### Keys ignored in scope 1:.:.:qscxmlc.pro:<TRUE>:
+# _LOADED = "qt_tool" "resources"
+# _OPTION = "host_build"
diff --git a/tools/qscxmlc/CMakeLists.txt b/tools/qscxmlc/CMakeLists.txt
new file mode 100644
index 0000000..ba91e9c
--- /dev/null
+++ b/tools/qscxmlc/CMakeLists.txt
@@ -0,0 +1,58 @@
+# Generated from qscxmlc.pro.
+
+#####################################################################
+## qscxmlc Tool:
+#####################################################################
+
+add_qt_tool(qscxmlc
+ TOOLS_TARGET Scxml # special case
+ SOURCES
+ ../../src/scxml/qscxmlcompiler.cpp ../../src/scxml/qscxmlcompiler.h ../../src/scxml/qscxmlcompiler_p.h
+ ../../src/scxml/qscxmlerror.cpp ../../src/scxml/qscxmlerror.h
+ ../../src/scxml/qscxmlexecutablecontent.cpp ../../src/scxml/qscxmlexecutablecontent.h ../../src/scxml/qscxmlexecutablecontent_p.h
+ ../../src/scxml/qscxmlglobals.h
+ ../../src/scxml/qscxmltabledata.cpp ../../src/scxml/qscxmltabledata.h
+ generator.cpp generator.h
+ main.cpp
+ moc.h
+ outputrevision.h
+ qscxmlc.cpp qscxmlc.h
+ scxmlcppdumper.cpp scxmlcppdumper.h
+ utils.h
+ DEFINES
+ BUILD_QSCXMLC
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ INCLUDE_DIRECTORIES
+# special case begin
+ $<TARGET_PROPERTY:Qt::Scxml,INTERFACE_INCLUDE_DIRECTORIES>
+ $<TARGET_PROPERTY:Qt::ScxmlPrivate,INTERFACE_INCLUDE_DIRECTORIES>
+# special case end
+ LIBRARIES
+ Qt::CorePrivate
+)
+
+# special case begin
+set_property(SOURCE ../../src/scxml/qscxmlerror.h PROPERTY SKIP_AUTOMOC ON)
+set_property(SOURCE ../../src/scxml/qscxmlcompiler.cpp PROPERTY SKIP_AUTOMOC ON)
+# special case end
+
+# Resources:
+set(templates_resource_files
+ "cppdatamodel.t"
+ "data.t"
+ "decl.t"
+)
+
+add_qt_resource(qscxmlc "templates"
+ PREFIX
+ "/"
+ FILES
+ ${templates_resource_files}
+ OPTIONS --no-compress # special case
+)
+
+
+#### Keys ignored in scope 1:.:.:qscxmlc.pro:<TRUE>:
+# _LOADED = "qt_tool" "resources"
+# _OPTION = "host_build"